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