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.