Champs d'étiquette sérialisables

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
  }
}

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.