ऐप्लिकेशन, टूलबॉक्स में उपलब्ध ब्लॉक को किसी भी समय बदल सकता है. इसके लिए, उसे सिर्फ़ एक फ़ंक्शन कॉल करना होगा:
workspace.updateToolbox(newTree);
शुरुआती कॉन्फ़िगरेशन के दौरान की तरह, newTree
, नोड का ट्री, स्ट्रिंग का प्रतिनिधित्व या JSON ऑब्जेक्ट हो सकता है. हालांकि, इस पर एक पाबंदी है कि टूलबॉक्स का मोड नहीं बदला जा सकता. इसका मतलब है कि अगर शुरुआत में तय किए गए टूलबॉक्स में कैटगरी थीं, तो नए टूलबॉक्स में भी कैटगरी होनी चाहिए. हालांकि, कैटगरी बदल सकती हैं. इसी तरह, अगर शुरुआत में तय किए गए टूलबॉक्स में कोई कैटगरी नहीं थी, तो हो सकता है कि नए टूलबॉक्स में भी कोई कैटगरी न हो.
किसी एक कैटगरी का कॉन्टेंट अपडेट करने के लिए:
var category = workspace.getToolbox().getToolboxItems()[0];
category.updateFlyoutContents(flyoutContents);
यहां flyoutContents
, JSON का इस्तेमाल करके तय किए गए ब्लॉक की सूची, नोड का ट्री या स्ट्रिंग का प्रतिनिधित्व हो सकता है.
ध्यान रखें कि इस समय टूलबॉक्स को अपडेट करने से, यूज़र इंटरफ़ेस (यूआई) में कुछ बदलाव होते हैं:
- कैटगरी के बिना टूलबॉक्स में, उपयोगकर्ता के बदले गए किसी भी फ़ील्ड (जैसे, ड्रॉपडाउन) को डिफ़ॉल्ट पर वापस लाया जाएगा.
यहां कैटगरी और ब्लॉक ग्रुप वाले ट्री का लाइव डेमो दिया गया है.