टेक्स्ट इनपुट फ़ील्ड

टेक्स्ट इनपुट फ़ील्ड, अपनी वैल्यू के तौर पर एक स्ट्रिंग और अपने टेक्स्ट के तौर पर एक स्ट्रिंग सेव करता है. इसकी वैल्यू हमेशा एक मान्य स्ट्रिंग होती है. हालांकि, इसके टेक्स्ट में कोई भी स्ट्रिंग डाली जा सकती है.

टेक्स्ट डालने का फ़ील्ड

"टेक्स्ट इनपुट:" लेबल वाला ब्लॉक और "डिफ़ॉल्ट
टेक्स्ट" पर सेट किया गया टेक्स्ट इनपुट फ़ील्ड.

एडिटर के साथ टेक्स्ट इनपुट फ़ील्ड खुला है

जिस फ़ील्ड में बदलाव किया जा रहा है उसी ब्लॉक में.

कोलैप्स किए गए ब्लॉक पर टेक्स्ट इनपुट फ़ील्ड

कोलैप्स किए जाने के बाद, वही ब्लॉक. इसमें "text input: default
text" लेबल है और दाईं ओर की नोकदार किनारी से पता चलता है कि इसे छोटा किया गया है.

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

JSON

{
  "type": "example_textinput",
  "message0": "text input: %1",
  "args0": [
    {
      "type": "field_input",
      "name": "FIELDNAME",
      "text": "default text",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_textinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("text input:")
        .appendField(new Blockly.FieldTextInput('default text'),
            'FIELDNAME');
  }
};

टेक्स्ट इनपुट कंस्ट्रक्टर, एक वैकल्पिक वैल्यू और एक वैकल्पिक वैलडेटर लेता है. वैल्यू को स्ट्रिंग में बदला जाना चाहिए. अगर यह null या undefined है, तो एक खाली स्ट्रिंग का इस्तेमाल किया जाएगा.

JSON की परिभाषा में, spellcheck विकल्प को सेट करने की सुविधा भी मिलती है.

सीरियलाइज़ेशन और एक्सएमएल

JSON

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

{
  "fields": {
    "FIELDNAME": "text"
  }
}

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

XML

टेक्स्ट इनपुट फ़ील्ड के लिए एक्सएमएल ऐसा दिखता है:

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

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

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

स्पेलचेक

setSpellcheck फ़ंक्शन का इस्तेमाल यह सेट करने के लिए किया जा सकता है कि फ़ील्ड, इनपुट किए गए टेक्स्ट की स्पेलिंग की जांच करे या नहीं.

स्पेलिंग की जांच करने की सुविधा वाले और बिना सुविधा वाले टेक्स्ट इनपुट फ़ील्ड

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

स्पेलिंग की जांच करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.

यह सुविधा, अलग-अलग फ़ील्ड पर लागू होती है. अगर आपको सभी फ़ील्ड में बदलाव करना है, तो Blockly.FieldTextInput.prototype.spellcheck_ प्रॉपर्टी बदलें.

टेक्स्ट इनपुट की पुष्टि करने वाला टूल बनाना

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

यहां एक ऐसे पुष्टि करने वाले टूल का उदाहरण दिया गया है जो स्ट्रिंग से सभी a वर्णों को हटाता है:

function(newValue) {
  return newValue.replace(/a/g, '');
}

ऐनिमेटेड GIF में, टेक्स्ट इनपुट फ़ील्ड की पुष्टि होते हुए दिखाया गया है. जब उपयोगकर्ता &quot;bbbaaa&quot; टाइप करता है और कहीं और क्लिक करता है, तो फ़ील्ड &quot;bbb&quot; में बदल जाता है.