Modyfikowanie skrzynek na narzędzia

Aplikacja może w dowolnym momencie zmienić bloki dostępne w skrzynce narzędzi za pomocą pojedynczego wywołania funkcji:

workspace.updateToolbox(newTree);

Podobnie jak podczas początkowej konfiguracji, newTree może być drzewem węzłów, ciągiem znaków lub obiektem JSON. Jedynym ograniczeniem jest to, że nie można zmienić trybu. Oznacza to, że jeśli w pierwotnie zdefiniowanym zestawie narzędzi były kategorie, nowy zestaw narzędzi również musi je zawierać (chociaż kategorie mogą się zmienić). Podobnie, jeśli początkowo zdefiniowana skrzynka narzędzi nie miała żadnych kategorii, nowa skrzynka narzędzi może nie mieć żadnych kategorii.

Treści w poszczególnych kategoriach można aktualizować na 3 sposoby:

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

Gdzie flyoutContents może być listą bloków zdefiniowanych za pomocą kodu JSON, drzewem węzłów lub ciągiem znaków.

Pamiętaj, że w tej chwili aktualizacja narzędzia powoduje drobne resetowanie interfejsu:

  • W skrzynce narzędzi bez kategorii wszystkie pola zmienione przez użytkownika (np. menu) zostaną przywrócone do wartości domyślnych.

Oto demo na żywo drzewa z kategoriami i grupami bloków.