שדות להזנת טקסט מרובה שורות

בשדה להזנת טקסט עם מספר שורות נשמר מחרוזת בתור הערך, ומחרוזת בתור הטקסט. הערך שלו הוא תמיד מחרוזת חוקית, והטקסט שלו יכול להיות כל מחרוזת שמוזנת בעורך שלו. שלא כמו בשדה להזנת טקסט, השדה הזה תומך גם בתווי שורה חדשה שהוזנו בעורך.

שדה להזנת טקסט מרובה שורות

שדה להזנת טקסט מרובה שורות עם עורך פתוח

שדה להזנת טקסט מרובה שורות בבלוק מכווץ

יצירה

JSON

{
  "type": "example_multilinetextinput",
  "message0": "multiline text input: %1",
  "args0": [
    {
      "type": "field_multilinetext",
      "name": "FIELDNAME",
      "text": "default text\n with newline character",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_multilinetextinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("multiline text input:")
        .appendField(new Blockly.FieldMultilineInput('default text\n with newline character'),
            'FIELDNAME');
  }
};

בנאי קלט הטקסט מרובה השורות מקבל ערך אופציונלי וvalidator אופציונלי. הערך צריך להמיר למחרוזת. אם התווית היא null או undefined, המערכת תשתמש במחרוזת ריקה.

הגדרת ה-JSON מאפשרת גם להגדיר את האפשרות spellcheck.

עריכה טורית

JSON

ה-JSON לשדה להזנת טקסט מרובה שורות נראה כך:

{
  "fields": {
    "FIELDNAME": "line1\nline2"
  }
}

כאשר FIELDNAME הוא מחרוזת שמפנה לשדה להזנת קלט של טקסט מרובה שורות, והערך הוא הערך שיש להחיל על השדה. הערך פועל לפי אותם כללים כמו הערך של ה-constructor.

XML

קוד ה-XML של שדה להזנת טקסט מרובה שורות נראה כך:

<field name="FIELDNAME">line1&amp;#10;line2</field>

כאשר המאפיין name של השדה מכיל מחרוזת שמפנה לשדה להזנת טקסט עם מספר שורות, והטקסט הפנימי הוא הערך שצריך להחיל על השדה. ערך הטקסט הפנימי תואם לאותם הכללים כמו הערך של ה-constructor.

התאמה אישית

בדיקת איות

אפשר להשתמש בפונקציה setSpellcheck כדי לקבוע אם טקסט הקלט של השדה ייבדק או לא.

שדות להזנת טקסט עם ובלי בדיקת איות

בדיקת האיות מופעלת כברירת מחדל.

הדבר רלוונטי לשדות נפרדים. כדי לשנות את כל השדות צריך לשנות את המאפיין Blockly.FieldMultilineInput.prototype.spellcheck_.

יצירת כלי לתיקוף קלט של טקסט

הערך בשדה להזנת טקסט עם מספר שורות הוא מחרוזת, ולכן כל מאמת צריך לקבל מחרוזת ולהחזיר מחרוזת, null או undefined.

לפניכם דוגמה לכלי תיקוף שמסיר את כל תווי 'a' מהמחרוזת:

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