สถานะการบล็อก

อินสแตนซ์ที่ถูกบล็อกมีพร็อพเพอร์ตี้หลายอย่างที่กำหนดค่าลักษณะการทำงานต่อผู้ใช้ แม้ว่าจะตั้งค่าเหล่านี้ได้ในการกำหนดบล็อก แต่โดยทั่วไปแล้วจะใช้เพื่อจำกัดบล็อกในพื้นที่ทำงานให้สอดคล้องกับพร็อพเพอร์ตี้บางอย่างของโดเมน (เช่น มีเหตุการณ์ "เริ่มต้น" เพียงรายการเดียว) หรือมุ่งเน้นความพยายามของผู้ใช้ (เช่น บทแนะนำ)

สถานะที่ลบได้

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 (ระบบการแปลงเป็นอนุกรม Iceboxed แบบเดิม) ระบบจะจัดเก็บสตริงข้อมูล ไว้ในแท็ก <data></data> ภายในบล็อก

<block type="my_block">
  <data>16dcb3a4-bd39-11e4-8dfc-aa07a5b093db</data>
  <!-- etc... -->
</block>