Les étiquettes sérialisables fonctionnent exactement de la même manière que les étiquettes normales sauf qu'elles sont également sérialisées au format XML. Vous ne devez les utiliser que si vous modifiez le contenu d'un libellé de façon programmatique et souhaite qu'il soit sérialisé au format XML.
Champ d'étiquette sérialisable
Champ d'étiquette sérialisable sur un bloc réduit
Création
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");
}
};
Le champ étiquette sérialisable contient une valeur facultative et une valeur CSS facultative d'une chaîne de classe classique. Les deux valeurs sont définies par défaut sur une chaîne vide.
Sérialisation
JSON
Le code JSON d'un champ d'étiquette sérialisable se présente comme suit:
{
"fields": {
"FIELDNAME": text
}
}
Où FIELDNAME
est une chaîne faisant référence à un champ d'étiquette sérialisable ; et
la valeur est celle à appliquer au champ. La valeur
suit les mêmes règles que la valeur du constructeur.
XML
Le code XML d'un champ d'étiquette sérialisable se présente comme suit:
<field name="FIELDNAME">text</field>
L'attribut name
du nœud field
contient une chaîne faisant référence à un sérialisable
libellé, et le texte interne du nœud est la valeur à appliquer au champ.
Outils de validation
Les champs de libellé sérialisables ne sont pas compatibles avec les validateurs, car ils ne sont pas modifiable par un utilisateur.