ব্লক ইন্সট্যান্সের অনেকগুলি বৈশিষ্ট্য রয়েছে যা ব্যবহারকারীর সাথে কীভাবে আচরণ করবে তা কনফিগার করে। যদিও এগুলি ব্লকের সংজ্ঞায় সেট করা যেতে পারে, তবে এগুলি সাধারণত ডোমেনের নির্দিষ্ট বৈশিষ্ট্যগুলিকে প্রতিফলিত করার জন্য ওয়ার্কস্পেসে ব্লকগুলিকে সীমাবদ্ধ করতে ব্যবহৃত হয় (যেমন, ঠিক একটি 'শুরু' ইভেন্ট রয়েছে), বা ব্যবহারকারীর প্রচেষ্টাকে ফোকাস করতে (যেমন, একটি টিউটোরিয়াল)।
অপসারণযোগ্য অবস্থা
block.setDeletable(false);
false
সেট করা হলে, ব্যবহারকারী ব্লকটি মুছতে পারবেন না। একটি সম্পাদনাযোগ্য কর্মক্ষেত্রে ডিফল্ট মুছে ফেলার জন্য ব্লক করে।
যেকোনো ব্লক, (এমনকি অপসারণযোগ্যও) প্রোগ্রামগতভাবে মুছে ফেলা হতে পারে:
block.dispose();
সম্পাদনাযোগ্য অবস্থা
block.setEditable(false);
false
সেট করা হলে, ব্যবহারকারী ব্লকের ক্ষেত্রগুলি (যেমন ড্রপডাউন এবং পাঠ্য ইনপুট) পরিবর্তন করতে সক্ষম হবে না। একটি সম্পাদনাযোগ্য কর্মক্ষেত্রে সম্পাদনাযোগ্য হতে ডিফল্ট ব্লক করে।
চলমান অবস্থা
block.setMovable(false);
false
সেট করা হলে, ব্যবহারকারী সরাসরি ব্লকটি সরাতে পারবেন না। একটি স্থাবর ব্লক যেটি অন্য ব্লকের সন্তান সেই ব্লক থেকে সংযোগ বিচ্ছিন্ন নাও হতে পারে, যদিও অভিভাবক সরানো হলে এটি তার পিতামাতার সাথে সরে যাবে। একটি সম্পাদনাযোগ্য কর্মক্ষেত্রে ডিফল্ট অস্থাবর থেকে ব্লক করে।
যেকোন ব্লক (এমনকি স্থাবরও) একবার কর্মক্ষেত্রে থাকলে প্রোগ্রাম্যাটিকভাবে সরানো যেতে পারে।
block.moveBy(dx, dy)
একটি ওয়ার্কস্পেসে একটি ব্লকের শুরুর অবস্থান ডিফল্ট (0, 0)
।
ডেটা ব্লক করুন
block.data = '16dcb3a4-bd39-11e4-8dfc-aa07a5b093db';
ডেটা হল একটি ঐচ্ছিক এবং নির্বিচারে স্ট্রিং যা ব্লকের সাথে সংযুক্ত। যখন ব্লকটি সিরিয়াল করা হয় তখন ডেটা স্ট্রিংটি এটির সাথে সিরিয়াল করা হয়। ব্লকটি সদৃশ বা অনুলিপি/পেস্ট করার সময় এটি অন্তর্ভুক্ত।
প্রায়শই এটি একটি বহিরাগত সম্পদের সাথে একটি ব্লক যুক্ত করতে ব্যবহৃত হয়।
যখন JSON-তে সিরিয়ালাইজ করা হয়, তখন ডেটা ব্লকে একটি শীর্ষ-স্তরের সম্পত্তি হিসাবে সংরক্ষণ করা হয়:
{
"type": "my_block",
"data": "16dcb3a4-bd39-11e4-8dfc-aa07a5b093db",
// etc..
}
যখন XML (পুরানো আইসবক্সযুক্ত সিরিয়ালাইজেশন সিস্টেম) ক্রমিক করা হয় তখন ব্লকের মধ্যে একটি <data></data>
ট্যাগে ডেটা স্ট্রিং সংরক্ষণ করা হয়:
<block type="my_block">
<data>16dcb3a4-bd39-11e4-8dfc-aa07a5b093db</data>
<!-- etc... -->
</block>