Onay kutusu alanları

Onay kutusu alanında bir dize değeri, metni ise bir dize saklanır. Değeri 'TRUE' veya 'FALSE', metni ise 'true' veya 'false' şeklindedir.

Onay kutusu alanı

Daraltılmış bloktaki onay kutusu alanı

içerik üretimi

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');
  }
};

Onay kutusu oluşturucu, isteğe bağlı bir değer ve isteğe bağlı bir validator alır. İsteğe bağlı değer 'TRUE', 'FALSE' veya boole olmalıdır. Aksi takdirde varsayılan olarak false olur.

Serileştirme

JSON

Bir onay kutusu alanı için JSON şöyle görünür:

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

Burada FIELDNAME, bir onay kutusu alanına referans veren bir dizedir. Değer ise alana uygulanacak değerdir. Değer bir boole olmalıdır.

XML

Bir onay kutusu alanı için XML şöyle görünür:

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

veya

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

Burada name özelliği, bir onay kutusu alanına referans veren bir dize içerirken iç metin alana uygulanacak değerdir. İç metin değeri, yapıcı değeriyle aynı kuralları izler.

Serileştirme ve yeniden serileştirme işleminden sonra tüm iç metin değerlerinin büyük harf ('TRUE' veya 'FALSE') içinde olacağını unutmayın. Bu, bazen çalışma alanları farklılık gösterirken önemli olur.

Özelleştirme

Onay işareti karakteri

Blockly.FieldCheckbox.CHECK_CHAR özelliği, onay işaretinin görünümünü değiştirmek için kullanılabilir. Değer, unicode karakteri içeren bir dize olmalıdır.

Onay yerine kalp bulunan onay kutusu alanı

CHECK_CHAR özelliği varsayılan olarak "\u2713" veya ✓ değerine ayarlanır.

Bu global bir özellik olduğu için ayarlandığında tüm onay kutusu alanlarını değiştirir.

Onay kutusu doğrulayıcı oluşturma

Onay kutusu alanının değeri 'TRUE' veya 'FALSE' olduğundan, doğrulayıcı bu değerleri (ör. bir dize) kabul etmeli ve 'TRUE', 'FALSE', null veya undefined değerini döndürmelidir.

Onay kutusunun işaretli olup olmadığına bağlı olarak bir metin giriş alanını gizleyen veya gösteren bir doğrulayıcı örneğini burada bulabilirsiniz:

  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');
    }
  }

Doğrulayıcı içeren onay kutusu alanı