Champs d'étiquette sérialisables

Les libellés sérialisables fonctionnent exactement de la même manière que les libellés normaux, sauf qu'ils sont également sérialisés au format XML. Elles ne doivent être utilisées que si vous modifiez le contenu d'une balise de manière programmatique et que vous souhaitez la sérialiser au format XML.

Champ de libellé sérialisable

Bloc avec le libellé sérialisable "un libellé sérialisable". Visuellement, cela ne diffère pas d'un bloc avec un libellé normal.

Champ de libellé sérialisable sur un bloc effondré

Même bloc après avoir été replié. Il porte le libellé "un libellé sérialisable" et un bord droit dentelé pour indiquer qu'il est 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 de libellé sérialisable accepte une valeur facultative et une chaîne de classe CSS facultative. Les deux valeurs sont définies par défaut sur une chaîne vide.

Sérialisation

JSON

Le code JSON d'un champ de libellé sérialisable se présente comme suit:

{
  "fields": {
    "FIELDNAME": text
  }
}

FIELDNAME est une chaîne faisant référence à un champ de libellé 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 de libellé 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 de libellé sérialisable, et le texte interne du nœud est la valeur à appliquer au champ.

Programmes de validation

Les champs de libellé sérialisables ne sont pas compatibles avec les validateurs, car ils ne sont pas modifiables par un utilisateur.