Modificar caixas de ferramentas

O aplicativo pode mudar os blocos disponíveis na caixa de ferramentas a qualquer momento com uma única chamada de função:

workspace.updateToolbox(newTree);

Como na configuração inicial, newTree pode ser uma árvore de nós, uma representação de string ou um objeto JSON. A única restrição é que o modo não pode ser alterado. Ou seja, se houver categorias na caixa de ferramentas definida inicialmente, a nova caixa de ferramentas também precisará ter categorias, embora elas possam mudar. Da mesma forma, se a caixa de ferramentas definida inicialmente não tiver categorias, a nova caixa de ferramentas também não terá.

O conteúdo de uma única categoria pode ser atualizado por:

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

Em que flyoutContents pode ser uma lista de blocos definidos usando JSON, uma árvore de nós ou uma representação de string.

No momento, a atualização da caixa de ferramentas causa algumas pequenas redefinições da interface:

  • Em uma caixa de ferramentas sem categorias, todos os campos alterados pelo usuário (como um menu suspenso) são revertidos para o padrão.

Confira uma demonstração ao vivo de uma árvore com categorias e grupos de blocos.