Serileştirilebilir etiket alanları

Serileştirilebilir etiketler, XML'e serileştirilmeleri dışında normal etiketlerle aynı şekilde çalışır. Bu yöntemler yalnızca bir etiketin içeriğini programatik olarak düzenliyorsanız ve içeriğin XML olarak serileştirilmesini istiyorsanız kullanılmalıdır.

Serileştirilebilir etiket alanı

"a serializable label" (serileştirilebilir etiket) etiketine sahip bir blok. Görsel olarak bu, normal etikete sahip bir bloktan farklı değildir.

Daraltılmış bir blokta serileştirilebilir etiket alanı

Aynı blok daraltıldıktan sonra. "Serileştirilebilir etiket" etiketini ve daraltıldığını gösteren tırtıklı bir sağ kenar vardır.

içerik üretimi

JSON

{
  "type": "example_serializable_label",
  "message0": "%1",
  "args0": [
    {
      "type": "field_label_serializable",
      "name": "FIELDNAME",
      "text": "a serializable label"
    }
  ]
}

JavaScript

Blockly.Blocks['example_serializable_label'] = {
  init: function() {
    this.appendDummyInput()
        .appendField(new Blockly.FieldLabelSerializable("a serializable label"), "FIELDNAME");
  }
};

Serileştirilebilir etiket alanı, isteğe bağlı bir değer ve isteğe bağlı bir CSS sınıfı dizesi alır. Her ikisi de varsayılan olarak boş bir dizedir.

Serileştirme

JSON

Serileştirilebilir bir etiket alanı için JSON şöyle görünür:

{
  "fields": {
    "FIELDNAME": text
  }
}

Burada FIELDNAME, serileştirilebilir bir etiket alanına atıfta bulunan bir dizedir ve değer, alana uygulanacak değerdir. Değer, kurucu değerle aynı kurallara uyar.

XML

Serileştirilebilir etiket alanının XML'i şu şekilde görünür:

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

field düğümünün name özelliği, serileştirilebilir bir etiket alanına referans veren bir dize içerir ve düğümün iç metni, alana uygulanacak değerdir.

Doğrulayıcılar

Serileştirilebilir etiket alanları, kullanıcı tarafından düzenlenemediği için doğrulayıcıları desteklemez.