Modifica las cajas de herramientas

La aplicación puede cambiar los bloques disponibles en la caja de herramientas en cualquier momento con una sola llamada a función:

workspace.updateToolbox(newTree);

Al igual que durante la configuración inicial, newTree puede ser un árbol de nodos, una representación de cadena o un objeto JSON. La única restricción es que no se puede cambiar el modo; es decir, si había categorías en la caja de herramientas definida inicialmente, la nueva caja de herramientas también debe tener categorías (aunque las categorías pueden cambiar). Del mismo modo, si la caja de herramientas definida inicialmente no tenía ninguna categoría, es posible que la nueva tampoco tenga ninguna.

Para actualizar el contenido de una sola categoría, puedes hacer lo siguiente:

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

Donde flyoutContents puede ser una lista de bloques definidos con JSON, un árbol de nodos o una representación de cadena.

Ten en cuenta que, en este momento, actualizar la caja de herramientas causa algunos restablecimientos menores de la IU:

  • En una caja de herramientas sin categorías, los campos que cambie el usuario (como un menú desplegable) volverán a su valor predeterminado.

Esta es una demostración en vivo de un árbol con categorías y grupos de bloques.