অ্যাপ্লিকেশনটি যেকোন সময় টুলবক্সে উপলব্ধ ব্লকগুলিকে একটি একক ফাংশন কলের মাধ্যমে পরিবর্তন করতে পারে:
workspace.updateToolbox(newTree);
প্রাথমিক কনফিগারেশনের সময় যেমন ছিল, newTree
হয় নোডের একটি ট্রি, একটি স্ট্রিং উপস্থাপনা, বা একটি JSON অবজেক্ট হতে পারে। একমাত্র সীমাবদ্ধতা হল যে মোড পরিবর্তন করা যাবে না; অর্থাৎ প্রাথমিকভাবে সংজ্ঞায়িত টুলবক্সে যদি বিভাগ থাকে তাহলে নতুন টুলবক্সে অবশ্যই বিভাগ থাকতে হবে (যদিও বিভাগগুলি পরিবর্তিত হতে পারে)। একইভাবে, যদি প্রাথমিকভাবে সংজ্ঞায়িত টুলবক্সে কোনো বিভাগ না থাকে, তাহলে নতুন টুলবক্সে কোনো বিভাগ নাও থাকতে পারে।
একটি একক বিভাগের বিষয়বস্তু এর দ্বারা আপডেট করা যেতে পারে:
var category = workspace.getToolbox().getToolboxItems()[0];
category.updateFlyoutContents(flyoutContents);
যেখানে flyoutContents
JSON ব্যবহার করে সংজ্ঞায়িত ব্লকের একটি তালিকা হতে পারে, নোডের একটি গাছ, বা একটি স্ট্রিং উপস্থাপনা।
সচেতন থাকুন যে এই সময়ে টুলবক্স আপডেট করার ফলে কিছু ছোটখাটো UI রিসেট হয়:
- বিভাগ ছাড়া একটি টুলবক্সে, ব্যবহারকারীর দ্বারা পরিবর্তিত যেকোনো ক্ষেত্র (যেমন একটি ড্রপডাউন) ডিফল্টে ফিরে যাবে।
এখানে বিভাগ এবং ব্লক গ্রুপ সহ একটি গাছের একটি লাইভ ডেমো রয়েছে।