Onay kutusu alanları

Bir onay kutusu alanı, değer olarak bir dize, metin olarak da bir dize depolar. Değeri 'TRUE' veya 'FALSE', metni ise 'true' veya 'false' olur.

Onay kutusu alanı

"Onay kutusu:" etiketli bir blok ve onay işaretli bir onay kutusu alanı.

Daraltılmış bloktaki onay kutusu alanı

Aynı blok daraltıldıktan sonra. "variable: true" etiketi ve daraltılmış olduğunu gösteren tırtıklı bir sağ kenarı vardır.

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 doğrulayıcı alır. İsteğe bağlı değer 'TRUE', 'FALSE' veya Boole olmalıdır. Aksi takdirde varsayılan olarak false değerini alır.

Serileştirme

JSON

Bir onay kutusu alanının JSON'u şu şekilde görünür:

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

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

XML

Onay kutusu alanının XML'si şu şekilde görünür:

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

veya

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

name özelliği, bir onay kutusu alanına referans veren bir dize içerdiğinde ve iç metin, alana uygulanacak değer olduğunda. İç metin değeri, oluşturucu değeriyle aynı kurallara uyar.

İç metin değerlerinin tümünün, seri durumdan çıkarılıp yeniden seri duruma getirildikten sonra büyük harflerle ('TRUE' veya 'FALSE') yazılacağını unutmayın. Bu durum, çalışma alanları arasındaki farkları karşılaştırırken bazen önemlidir.

Ö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, bir Unicode karakteri içeren bir dize olmalıdır.

Onay işareti yerine kalp bulunan onay kutusu alanı

CHECK_CHAR özelliği varsayılan olarak \u2713 veya ✓ olur.

Bu, global bir özelliktir. Bu nedenle, ayarlandığında tüm onay kutusu alanlarını değiştirir.

Onay kutusu doğrulayıcısı oluşturma

Bir 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 ya da undefined değerini döndürmelidir.

Aşağıda, onay kutusunun işaretli olup olmamasına bağlı olarak bir metin giriş alanını gizleyen veya gösteren doğrulayıcı örneği verilmiştir:

  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ı

Bir onay kutusunun işaretlendiğini gösteren animasyonlu GIF. Onay kutusu işaretlendiğinde bir metin alanı gösterilir.