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ę
Pole etykiety z możliwością serializacji w zwiętym bloku
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.