Pola etykiet możliwe do serializacji

Etykiety z możliwością serializacji działają tak samo jak zwykłe etykiety, z tą różnicą, że można je również zserializować do formatu XML. Należy ich używać tylko wtedy, gdy edytujesz zawartość etykiety programowo i chcesz ją zakodować w formacie XML.

Pole etykiety umożliwiające serializację

Blok z etykietą „Etykieta z możliwością serializacji”. Wizualnie nie różni się on od bloku z normalną etykietą.

Pole etykiety z możliwością serializacji w zwiętym bloku

Ten sam blok po zwięciu. Ma etykietę „serializable label” i poszarpaną prawą krawędź, co oznacza, że jest zwinięta.

na podstawie trendów

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

Pole etykiety zserializowanej przyjmuje opcjonalną wartość i opcjonalny ciąg znaków klasy CSS. Oba pola mają domyślnie pusty ciąg znaków.

Publikacja w odcinkach

JSON

Kod JSON dla serializowanego pola etykiety wygląda tak:

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

Gdzie FIELDNAME to ciąg znaków odwołujący się do pola etykiety umożliwiającej serializację, a wartość to wartość do zastosowania w polu. Wartość ta podlega tym samym regułom co wartość konstruktora.

XML

Kod XML pola etykiety, które można serializować, wygląda tak:

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

Atrybut name węzła field zawiera ciąg znaków odwołujący się do pola etykiety, które można zakodować w postaci ciągu, a tekst wewnętrzny węzła to wartość do zastosowania w tym polu.

Walidatory

Pola etykiety umożliwiające serializację nie obsługują walidatorów, ponieważ nie mogą być edytowane przez użytkownika.