Label fields

Spark icon
  • A label field stores a string for both its value and text, which are always the same.

  • In JSON, label strings can be message text between interpolation arguments or explicitly interpolated.

  • In JavaScript, label fields are created using appendField with either FieldLabel objects or strings.

  • Label fields are not serializable, but a Serializable Label field is available for serializing programmatically changed labels.

  • Label fields do not support validators because they are not editable.

A label field stores a string as its value and a string as its text. The value and text of a label field are always the same.

Label field

A block with two rows. The first has the label "a label" and the second has
the label "and another label".

Label field on collapsed block

The same block after being collapsed. It has a single row, the label "a label
and another label", and a jagged right edge to show it is
collapsed.

Creation

JSON

{
  "type": "example_label",
  "message0": "a label %1 and another label",
  "args0": [
    {
      "type": "input_dummy"
    }
  ]
}

Any message text between interpolation arguments becomes label strings. Alternatively, labels may be interpolated explicitly, either as an object or as text. This is generally discouraged as it makes translation more difficult.

{
  "type": "example_label",
  "message0": "%1 %2 %3",
  "args0": [
    {
      "type": "field_label",
      "text": "a label"
    },
    {
      "type": "input_dummy"
    },
    "and another label"
  ]
}

JavaScript

Blockly.Blocks['example_label'] = {
  init: function() {
    this.appendDummyInput()
        .appendField(new Blockly.FieldLabel('a label'));
    this.appendDummyInput()
        .appendField('and another label');
  }
};

The appendField function accepts both FieldLabel objects and, more commonly, strings to create labels.

The label field takes in an optional value, and an optional css class string. Both default to an empty string.

Serialization

Label fields are not serializable.

If you would like your label to be serialized, because it is being changed programmatically, see the Serializable Label field.

Validators

Label fields do not support validators, because they are not editable.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.