シリアル化可能なラベル フィールド

シリアル化可能なラベルは、通常のラベル XML にもシリアル化される点を除き、まったく同じように機能します。プログラムでラベルのコンテンツを編集し、XML にシリアル化する場合にのみ使用してください。

シリアル化可能なラベル フィールド

シリアル化可能なラベル「シリアル化可能なラベル」を含むブロック。視覚的には、通常のラベルが付いたブロックと変わりません。

折りたたまれたブロックのシリアル化可能なラベル フィールド

折りたたまれた後の同じブロック。「a serializable label」というラベルが付いており、右端がギザギザになっているため、折りたたまれていることがわかります。

作成

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

シリアル化可能なラベル フィールドには、オプションの値とオプションの CSS クラス文字列を指定できます。どちらもデフォルトは空の文字列です。

シリアル化

JSON

シリアル化可能なラベル フィールドの JSON は次のようになります。

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

ここで、FIELDNAME はシリアル化可能なラベル フィールドを参照する文字列で、値はフィールドに適用する値です。値はコンストラクタ値と同じルールに従います。

XML

シリアル化可能なラベル フィールドの XML は次のようになります。

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

field ノードの name 属性には、シリアル化可能なラベル フィールドを参照する文字列が含まれており、ノードの内部テキストはフィールドに適用する値です。

バリデータ

シリアル化可能なラベル フィールドはユーザーが編集できないため、バリデータをサポートしていません。