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

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.