चेकबॉक्स फ़ील्ड

चेकबॉक्स फ़ील्ड, अपनी वैल्यू के तौर पर एक स्ट्रिंग और अपने टेक्स्ट के तौर पर एक स्ट्रिंग सेव करता है. इसकी वैल्यू 'TRUE' या 'FALSE' होती है. साथ ही, इसका टेक्स्ट 'true' या 'false' होता है.

चेकबॉक्स फ़ील्ड

"चेकबॉक्स:" लेबल वाला ब्लॉक और चेक मार्क वाला चेकबॉक्स फ़ील्ड.

छोटे किए गए ब्लॉक पर मौजूद चेकबॉक्स फ़ील्ड

कोलैप्स किए जाने के बाद, वही ब्लॉक. इसमें "variable: true" लेबल है और इसे छोटा करके दिखाया गया है.

कॉन्टेंट बनाने के

JSON

{
  "type": "example_checkbox",
  "message0": "checkbox: %1",
  "args0": [
    {
      "type": "field_checkbox",
      "name": "FIELDNAME",
      "checked": true
    }
  ]
}

JavaScript

Blockly.Blocks['example_checkbox'] = {
  init: function() {
    this.appendDummyInput()
        .appendField('checkbox:')
        .appendField(new Blockly.FieldCheckbox(true), 'FIELDNAME');
  }
};

चेकबॉक्स कंस्ट्रक्टर में, एक वैकल्पिक वैल्यू और एक वैकल्पिक वैलडेटर होता है. वैकल्पिक वैल्यू, 'TRUE', 'FALSE' या बूलियन होनी चाहिए. ऐसा न होने पर, यह डिफ़ॉल्ट रूप से false पर सेट हो जाएगी.

एपिसोड क्रम से लगाने की सेटिंग

JSON

चेकबॉक्स फ़ील्ड के लिए JSON ऐसा दिखता है:

{
  "fields": {
    "FIELDNAME": true
  }
}

यहां FIELDNAME, चेकबॉक्स फ़ील्ड को रेफ़र करने वाली स्ट्रिंग है. साथ ही, वैल्यू वह वैल्यू है जिसे फ़ील्ड पर लागू करना है. वैल्यू बूलियन होनी चाहिए.

XML

चेकबॉक्स फ़ील्ड के लिए एक्सएमएल ऐसा दिखता है:

<field name="FIELDNAME">TRUE</field>

या

<field name="FIELDNAME">true</field>

यहां name एट्रिब्यूट में, चेकबॉक्स फ़ील्ड का रेफ़रंस देने वाली स्ट्रिंग शामिल होती है. साथ ही, इनर टेक्स्ट वह वैल्यू होती है जिसे फ़ील्ड पर लागू करना होता है. इनर टेक्स्ट वैल्यू, कंस्ट्रक्टर वैल्यू के लिए बने नियमों का पालन करती है.

ध्यान दें कि डीसीरियलाइज़ और रीसीरियलाइज़ करने के बाद, सभी इनर टेक्स्ट वैल्यू कैपिटल लेटर में होंगी ('TRUE' या 'FALSE'). वर्कस्पेस में अंतर देखने के लिए, कभी-कभी यह ज़रूरी होता है.

कस्टमाइज़ेशन

चेकमार्क वर्ण

Blockly.FieldCheckbox.CHECK_CHAR प्रॉपर्टी का इस्तेमाल, चेकमार्क की स्टाइल बदलने के लिए किया जा सकता है. वैल्यू एक ऐसी स्ट्रिंग होनी चाहिए जिसमें यूनिकोड वर्ण शामिल हो.

चेकबॉक्स फ़ील्ड में चेक की जगह दिल का निशान

CHECK_CHAR प्रॉपर्टी की डिफ़ॉल्ट वैल्यू \u2713 या ✓ होती है.

यह एक ग्लोबल प्रॉपर्टी है. इसलिए, इसे सेट करने पर सभी चेकबॉक्स फ़ील्ड में बदलाव हो जाएगा.

चेकबॉक्स की पुष्टि करने वाला प्रोग्राम बनाना

चेकबॉक्स फ़ील्ड की वैल्यू 'TRUE' या 'FALSE' होती है. इसलिए, पुष्टि करने वाले प्रोग्राम को इन वैल्यू (यानी कि स्ट्रिंग) को स्वीकार करना चाहिए और 'TRUE', 'FALSE', null या undefined वैल्यू दिखानी चाहिए.

यहां एक ऐसे पुष्टि करने वाले फ़ंक्शन का उदाहरण दिया गया है जो चेकबॉक्स के चुने जाने के आधार पर, टेक्स्ट इनपुट फ़ील्ड को दिखाता या छिपाता है:

  validate: function(newValue) {
    var sourceBlock = this.getSourceBlock();
    sourceBlock.showTextField_ = newValue == 'TRUE';
    sourceBlock.updateTextField();

    return newValue;
  },

  updateTextField: function() {
    var input = this.getInput('DUMMY');
    if (this.showTextField_ && !this.getField('TEXT')) {
      input.appendField(new Blockly.FieldTextInput(), 'TEXT');
    } else if (!this.showTextField_ && this.getField('TEXT')) {
      input.removeField('TEXT');
    }
  }

पुष्टि करने वाले प्रोग्राम के साथ चेकबॉक्स फ़ील्ड

इस ऐनिमेटेड GIF में, चेकबॉक्स को चेक किया जा रहा है. चेकबॉक्स पर सही का निशान लगाने पर, एक टेक्स्ट फ़ील्ड दिखता है.