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é par programmation et que vous souhaitez le sérialiser au format XML.
Champ d'étiquette sérialisable
Champ de libellé 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 d'étiquette sérialisable accepte une valeur et une chaîne de classe CSS (facultatives). Dans les deux cas, une chaîne vide est utilisée par défaut.
sérialisation
JSON
Le fichier 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 la valeur à 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 champ d'étiquette sérialisable. 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 peuvent pas être modifiés par un utilisateur.