ब्लॉक की स्थिति

ब्लॉक इंस्टेंस में कई प्रॉपर्टी होती हैं. ये प्रॉपर्टी कॉन्फ़िगर करती हैं कि ब्लॉक, उपयोगकर्ता के साथ कैसे इंटरैक्ट करेगा. इन्हें ब्लॉक डेफ़िनिशन में सेट किया जा सकता है. हालांकि, इनका इस्तेमाल आम तौर पर वर्कस्पेस में ब्लॉक को सीमित करने के लिए किया जाता है, ताकि डोमेन की कुछ प्रॉपर्टी दिख सकें. उदाहरण के लिए, सिर्फ़ एक 'start' इवेंट होता है या उपयोगकर्ता के काम पर फ़ोकस किया जा सके. उदाहरण के लिए, ट्यूटोरियल.

मिटाए जा सकने की स्थिति

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..
}

जब डेटा स्ट्रिंग को एक्सएमएल (पुराना आइसबॉक्स सीरियललाइज़ेशन सिस्टम) में सीरियललाइज़ किया जाता है, तब उसे ब्लॉक में मौजूद <data></data> टैग में सेव किया जाता है:

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