Поля изображения

Поле изображения хранит строку в качестве значения и строку в качестве текста. Его значением является источник изображения, а его текстом является альтернативная строка, описывающая/представляющая изображение.

Поле изображения

Поле изображения в свернутом блоке

Создание

JSON

{
  "type": "example_image",
  "message0": "image: %1",
  "args0": [
    {
      "type": "field_image",
      "src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
      "width": 15,
      "height": 15,
      "alt": "*"
    }
  ]
}

JavaScript

Blockly.Blocks['example_image'] = {
  init: function() {
    this.appendDummyInput()
      .appendField("image:")
      .appendField(new Blockly.FieldImage(
        "https://www.gstatic.com/codesite/ph/images/star_on.gif",
        15,
        15,
        "*"));
  }
};

Конструктор изображения принимает:

Параметр Описание
src Строка, указывающая на файл растрового изображения .
width Необходимо привести к ненулевому числу.
height Необходимо привести к ненулевому числу.
opt_alt (Необязательно) Строка, которая точно описывает/представляет изображение. Если оно равно null или undefined будет использоваться пустая строка.
opt_onClick (Необязательно) Функция, вызываемая при щелчке по полю.
opt_flipRtl (Необязательно) Логическое значение. Если true , изображение переворачивается по вертикальной оси в режиме справа налево. По умолчанию установлено значение false . Полезно для значков «повернуть налево» и «повернуть направо».

Сериализация

Поля изображения не сериализуемы.

Обработчик кликов

Поле изображения не принимает валидатор; вместо этого он явно принимает функцию, которая вызывается при каждом щелчке по полю. Это означает, что изображения могут действовать как кнопки, существующие на блоках.

Обработчик щелчка можно установить в конструкторе JavaScript или с помощью функции setOnClickHandler .

Вот пример обработчика щелчка, который сворачивает блок при вызове.

function() {
    this.getSourceBlock().setCollapsed(true);
}