حقول مربّعات الاختيار

يخزِّن حقل مربّع الاختيار سلسلة كقيمتها وسلسلة كنص لها. من هي إما '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');
  }
};

تستخدم الدالة الإنشائية لمربع الاختيار قيمة اختيارية ودالة اختيارية مدقق. يجب أن تكون القيمة الاختيارية إما '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 لتغيير نوع علامة الاختيار. يجب أن تكون القيمة سلسلة تحتوي على يونيكود الحرف.

حقل مربّع اختيار مع قلب بدلاً من علامة اختيار

يتم ضبط السمة 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');
    }
  }

حقل مربّع اختيار يتضمّن أداة التحقّق من الصحة