Os rótulos serializáveis funcionam exatamente como os rótulos normais, exceto por serem serializados em XML. Elas só devem ser usadas se você estiver editando o conteúdo de um rótulo de forma programática e quiser serializar para XML.
Campo de rótulo serializável
Campo de marcador serializável em um bloco fechado
Criação
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");
}
};
O campo de rótulo serializável recebe um valor opcional e uma string de classe CSS opcional. O padrão é uma string vazia.
Serialização
JSON
O JSON de um campo de rótulo serializável é parecido com este:
{
"fields": {
"FIELDNAME": text
}
}
Em que FIELDNAME
é uma string que faz referência a um campo de rótulo serializável e
o valor é o valor a ser aplicado ao campo. O valor
segue as mesmas regras do valor do construtor.
XML
O XML de um campo de rótulo serializável tem esta aparência:
<field name="FIELDNAME">text</field>
O atributo name
do nó field
contém uma string que faz referência a um campo de rótulo
serializável, e o texto interno do nó é o valor a ser aplicado ao campo.
Validadores
Os campos de rótulo serializáveis não oferecem suporte a validadores porque não podem ser editados por um usuário.