האפליקציה יכולה לשנות את הבלוקים שזמינים בכלי בכל שלב באמצעות קריאה פונקציונלית אחת:
workspace.updateToolbox(newTree);
כמו במהלך ההגדרה הראשונית, newTree
יכול להיות עץ של צמתים, ייצוג של מחרוזת או אובייקט JSON. ההגבלה היחידה היא שלא ניתן לשנות את המצב. כלומר, אם היו קטגוריות בכלי הניתוחים שהוגדר בהתחלה, גם בכלי הניתוחים החדש צריכות להיות קטגוריות (אבל הקטגוריות יכולות להשתנות). באופן דומה, אם לא היו קטגוריות בכלי הניתוחים שהוגדר בהתחלה, יכול להיות שלא יהיו קטגוריות בכלי הניתוחים החדש.
כדי לעדכן את התוכן של קטגוריה אחת:
var category = workspace.getToolbox().getToolboxItems()[0];
category.updateFlyoutContents(flyoutContents);
כאשר flyoutContents
יכול להיות רשימה של בלוקים שהוגדרו באמצעות JSON, עץ של צמתים או ייצוג של מחרוזת.
חשוב לדעת שבשלב הזה, עדכון תיבת הכלים גורם לאיפוס קטן של ממשק המשתמש:
- בכלי ללא קטגוריות, שדות שהמשתמש שינה (כמו תפריט נפתח) יחזרו לברירת המחדל.
הדגמה בזמן אמת של עץ עם קטגוריות וקבוצות של בלוקים.