चेकबॉक्स फ़ील्ड में, किसी स्ट्रिंग को वैल्यू के तौर पर और स्ट्रिंग को टेक्स्ट के तौर पर सेव किया जाता है. इसकी वैल्यू या तो 'TRUE'
या 'FALSE'
है और इसका टेक्स्ट 'true'
या 'false'
है.
चेकबॉक्स फ़ील्ड
छोटे किए गए ब्लॉक पर चेकबॉक्स फ़ील्ड
शॉर्ट वीडियो
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');
}
};
चेकबॉक्स कंस्ट्रक्टर में एक वैकल्पिक वैल्यू और एक वैकल्पिक
validator शामिल होता है. वैकल्पिक वैल्यू, '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');
}
}