שדות של תיבות סימון

שדה של תיבת סימון מאחסן מחרוזת כערך ומחרוזת כטקסט. הערך שלו הוא 'TRUE' או 'FALSE', והטקסט שלו הוא 'true' או 'false'.

שדה תיבת סימון

![בלוק עם התווית 'checkbox:' ושדה של תיבת סימון עם סימן וי.

שדה תיבת סימון בבלוק מכווץ

אותו בלוק אחרי הכיווץ. היא כוללת את התווית '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');
  }
};

ה-constructor של תיבת הסימון מקבל ערך אופציונלי ומבצע אימות אופציונלי. הערך האופציונלי צריך להיות 'TRUE',‏ 'FALSE' או בוליאני, אחרת ערך ברירת המחדל יהיה false.

סידור הפרקים

JSON

קובץ ה-JSON של שדה תיבת סימון נראה כך:

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

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

XML

ה-XML של שדה תיבת סימון נראה כך:

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

או

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

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

שימו לב: אחרי סריליזציה חוזרת של כל ערכי הטקסט הפנימיים, הם יופיעו באותיות רישיות ('TRUE' או 'FALSE'). לפעמים זה חשוב כשמשווים בין סביבות עבודה.

התאמה אישית

תו סימן הווי

אפשר להשתמש בנכס Blockly.FieldCheckbox.CHECK_CHAR כדי לשנות את המראה של סימן הווי. הערך צריך להיות מחרוזת שמכילה תו של Unicode.

שדה תיבת סימון עם לב במקום סימן וי

ערך ברירת המחדל של המאפיין 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 מונפש שמציג סימון של תיבת סימון. כשמסמנים את התיבה, מוצג שדה טקסט.