Toolboxen ändern

Die Anwendung kann die in der Toolbox verfügbaren Blöcke jederzeit mit einem einzigen Funktionsaufruf ändern:

workspace.updateToolbox(newTree);

Wie bei der Erstkonfiguration kann newTree entweder ein Knotenbaum, eine Stringdarstellung oder ein JSON-Objekt sein. Die einzige Einschränkung besteht darin, dass der Modus nicht geändert werden kann. Wenn also in der ursprünglich definierten Toolbox Kategorien vorhanden waren, muss die neue Toolbox auch Kategorien haben (die Kategorien können sich jedoch ändern). Wenn die ursprünglich definierte Toolbox keine Kategorien hatte, hat die neue Toolbox möglicherweise auch keine.

So können Sie den Inhalt einer einzelnen Kategorie aktualisieren:

var category = workspace.getToolbox().getToolboxItems()[0];
category.updateFlyoutContents(flyoutContents);

Dabei kann flyoutContents eine Liste von Blöcken sein, die mit JSON definiert sind, ein Knotenbaum oder eine Stringdarstellung.

Derzeit führt das Aktualisieren der Toolbox zu einigen geringfügigen Zurücksetzungen der Benutzeroberfläche:

  • In einer Toolbox ohne Kategorien werden alle vom Nutzer geänderten Felder (z. B. ein Drop-down-Menü) auf die Standardeinstellungen zurückgesetzt.

Hier finden Sie eine Live-Demo eines Baums mit Kategorien und Blockgruppen.