Campos de etiquetas serializables

Las etiquetas serializables funcionan exactamente igual que las etiquetas normales, excepto que también se serializan en XML. Solo deben usarse si editas el contenido de una etiqueta de manera programática y deseas que se serialice en XML.

Campo de etiqueta serializable

Campo de etiqueta serializable en un bloque contraído

Creación

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");
  }
};

El campo de etiquetas serializables incluye un valor opcional y una string de clase CSS opcional. Ambos se encuentran de manera predeterminada en una string vacía.

Serialización

JSON

El JSON de un campo de etiqueta serializable tiene el siguiente aspecto:

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

En la que FIELDNAME es una string que hace referencia a un campo de etiqueta serializable y el valor es el valor que se debe aplicar al campo. El valor sigue las mismas reglas que el valor del constructor.

XML

El XML de un campo de etiqueta serializable tiene el siguiente aspecto:

<field name="FIELDNAME">text</field>

El atributo name del nodo field contiene una string que hace referencia a un campo de etiqueta serializable, y el texto interno del nodo es el valor que se debe aplicar al campo.

Validadores

Los campos de etiquetas serializables no admiten validadores, ya que el usuario no puede editarlos.