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

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

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

シリアル化可能なラベル「a serializable label」を持つブロック。視覚的には、通常のラベル付きのブロックと変わりません。

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

同じブロックを閉じた後。「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 属性には、シリアル化可能なラベル フィールドを参照する文字列が含まれ、ノードの内部テキストはフィールドに適用する値です。

バリデータ

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