حالت مسدود کردن

نمونه های بلوک دارای تعدادی ویژگی هستند که نحوه رفتار آنها با کاربر را پیکربندی می کند. در حالی که اینها را می‌توان در تعریف بلوک تنظیم کرد، اما معمولاً برای محدود کردن بلوک‌ها در فضای کاری استفاده می‌شوند تا ویژگی‌های خاصی از دامنه را منعکس کنند (به عنوان مثال، دقیقاً یک رویداد «شروع» وجود دارد)، یا تمرکز بر تلاش کاربر (مثلاً یک آموزش).

حالت حذف شدنی

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>