2017-07-31 4 views
1

J'ai essayé Blocky pour développer une application simple basée sur l'animation et j'ai fait face à ce problème. Comme mentionné dans les docs, je crée la structure arborescente xml de ma boîte à outils, puis lorsque je crée une nouvelle instance de Blockly, elle ajoute la boîte à outils à cette div particulière.Google Blockly - Ajouter la boîte à outils à un div séparé

Ex:

var workspace = Blockly.inject('blocklyDiv', { 
      media: './media/', 
      toolbox: document.getElementById('toolbox'), 
      trashcan: true 
     }); 

Bien qu'il fonctionne bien, il ne nous laisse pas décider de l'endroit où nous voulons garder la boîte à outils. Dans mon application, je voulais placer la boîte à outils séparément de l'espace de travail (dans un div séparé), mais je ne pouvais pas trouver de guide pour le faire dans leur documentation.

Quelqu'un peut-il m'aider?

Répondre

1

répondre à ma propre question que je n'ai pas eu aucune réponse :)

A partir de maintenant, ne Blockley pas une option pour garder la boîte à outils dans son propre contenant de la injectionDiv (ce qui crée par défaut). Une solution de contournement consiste donc à attendre que Blockly crée l'injectionDiv, flyout, espace de travail, puis change dynamiquement les positions de la boîte à outils dans injectionDiv.

Vous pouvez également ajouter tous les autres éléments dont vous avez besoin à l'injectionDiv et changer leur position dynamiquement. Vous devrez peut-être modifier certaines valeurs fondamentales en fonction de ce que vous faites. L'idée de base est que vous devez garder tout dans l'injectionDiv :)