Campos de rótulos serializáveis

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

Um bloco com o rótulo serializável "um rótulo serializável". Visualmente, isso não
é diferente de um bloco com um rótulo
normal.

Campo de marcador serializável em um bloco fechado

O mesmo bloco depois de ser recolhido. Ele tem o rótulo "a serializable label"
e uma borda direita irregular para mostrar que está
reduzido.

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.