Serialisierbare Labelfelder

Serialisierbare Labels funktionieren genauso wie normale Labels, mit der Ausnahme, dass sie auch in XML serialisiert werden. Sie sollten nur verwendet werden, wenn Sie den Inhalt eines Labels programmatisch bearbeiten und dieses in XML serialisieren möchten.

Feld „Serialisierbares Label“

Serialisierbares Labelfeld in einem minimierten Block

Erstellung

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

Das Feld „Serialisierbares Label“ nimmt einen optionalen Wert und einen optionalen CSS-Klassenstring an. Beide haben standardmäßig einen leeren String.

Serialisierung

JSON

Der JSON-Code für ein serialisierbares Labelfeld sieht so aus:

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

Dabei ist FIELDNAME ein String, der auf ein serialisierbares Labelfeld verweist, und der Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert folgt denselben Regeln wie der Konstruktorwert.

XML

Der XML-Code für ein serialisierbares Labelfeld sieht so aus:

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

Das Attribut name des Knotens field enthält einen String, der auf ein serialisierbares Labelfeld verweist. Der innere Text des Knotens ist der Wert, der auf das Feld angewendet werden soll.

Validatoren

Serialisierbare Labelfelder unterstützen keine Validierungen, da sie nicht von einem Nutzer bearbeitet werden können.