Campos de rótulos serializáveis

Os rótulos serializáveis funcionam exatamente da mesma forma que os rótulos normais, exceto que também serializam para XML. Eles só devem ser usados se você estiver editando o conteúdo de um rótulo de maneira programática e quiser que ele seja serializado para XML.

Campo de identificador serializável

Campo de rótulo serializável em um bloco recolhido

com base em trends

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 aceita um valor opcional e uma string de classe css opcional. Os dois assumem como padrão uma string vazia.

Serialização

JSON

O JSON de um campo de rótulo serializável tem a seguinte aparência:

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

Em que FIELDNAME é uma string que se refere 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 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 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 são editáveis por um usuário.