Campi delle etichette serializzabili

Le etichette serializzabili funzionano esattamente come le etichette normali con l'unica differenza che vengono serializzate anche in XML. Devono essere utilizzate solo se stai modificando il contenuto di un'etichetta a livello di programmazione e vuoi che venga serializzata in XML.

Campo etichetta serializzabile

Un blocco con l'etichetta serializzabile "a serializable label". Visivamente, non
differisce da un blocco con un'etichetta
normale.

Campo etichetta serializzabile in un blocco compresso

Lo stesso blocco dopo essere stato compresso. Ha l'etichetta "un'etichetta serializzabile"
e un bordo destro frastagliato per indicare che è
compressa.

Creazione

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");
  }
};

Il campo etichetta serializzabile accetta un valore facoltativo e una stringa di classe CSS facoltativa. Entrambi i valori predefiniti sono stringhe vuote.

Serializzazione

JSON

Il JSON per un campo etichetta serializzabile è il seguente:

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

Dove FIELDNAME è una stringa che fa riferimento a un campo etichetta serializzabile e il valore è il valore da applicare al campo. Il valore segue le stesse regole del valore del costruttore.

XML

L'XML per un campo etichetta serializzabile è il seguente:

<field name="FIELDNAME">text</field>

L'attributo name del nodo field contiene una stringa che fa riferimento a un campo etichetta serializzabile e il testo interno del nodo è il valore da applicare al campo.

Strumenti di convalida

I campi etichetta serializzabili non supportano gli strumenti di convalida perché non sono modificabili da un utente.