Используйте встроенные блоки процедур.

Используя плагин

Для использования блоков процедур мы рекомендуем использовать плагин @blockly/block-shareable-procedures . Различия между блоками плагина и встроенными блоками см. в обзоре .

Установка

Yarn: shell yarn add @blockly/block-shareable-procedures

NPM: shell npm install @blockly/block-shareable-procedures

Использование

import Blockly from 'blockly';
import {blocks, unregisterProcedureBlocks} '@blockly/block-shareable-procedures';

unregisterProcedureBlocks();
Blockly.common.defineBlocks(blocks);

Это позволит определить блоки процедур с теми же именами, что и устаревшие встроенные блоки процедур. Таким образом, если вы загружаете JSON или XML, сохраненные с помощью старых блоков процедур, они будут по-прежнему загружаться корректно.

Добавляем их в набор инструментов.

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

Добавить динамическую категорию в панель инструментов можно следующим образом:

JSON

{
  "kind": "categoryToolbox",
  "contents": [
    {
      "kind": "category",
      "name": "Functions",
      "custom": "PROCEDURE"
    }
  ]
};

XML

<xml id="toolbox" style="display: none">
  <category name="Functions" custom="PROCEDURE">
</xml>