ツールボックスを変更する

アプリは、1 つの関数呼び出しでいつでもツールボックスで使用可能なブロックを変更できます。

workspace.updateToolbox(newTree);

初期構成の場合と同様に、newTree はノードのツリー、文字列表現、または JSON オブジェクトのいずれかです。唯一の制限は、モードを変更できないことです。つまり、最初に定義したツールボックスにカテゴリがある場合は、新しいツールボックスにもカテゴリが必要です(カテゴリは変更される場合があります)。同様に、最初に定義したツールボックスにカテゴリがない場合、新しいツールボックスにカテゴリがない場合もあります。

1 つのカテゴリの内容は、次の方法で更新できます。

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

ここで、flyoutContents は JSON を使用して定義されたブロックのリスト、ノードのツリー、または文字列表現にできます。

現時点では、ツールボックスを更新すると、UI が若干リセットされます。

  • カテゴリのないツールボックスでは、ユーザーが変更したフィールド(プルダウンなど)はデフォルトに戻ります。

カテゴリとブロック グループを含むツリーのライブデモをご覧ください。