Os rótulos serializáveis funcionam exatamente da mesma forma que os rótulos normais exceto que também serializam para XML. Elas só devem ser usadas se você estiver editando o conteúdo de um rótulo de maneira programática e quer que ele seja serializado para XML.
Campo de rótulo serializável
Campo de rótulo serializável em um bloco recolhido
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 um CSS opcional string de classe. As duas assumem como padrão uma string vazia.
Serialização
JSON
O JSON para um campo de rótulo serializável tem esta aparência:
{
"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 para um campo de rótulo serializável tem a seguinte aparência:
<field name="FIELDNAME">text</field>
O atributo name
do nó field
contém uma string que faz referência a um
label e o texto interno do nó é o valor a ser aplicado ao campo.
Validadores
Os campos de rótulos serializáveis não são compatíveis com validadores, porque eles não são editáveis por um usuário.