Как создать рабочую область

Вы можете создать рабочее пространство и внедрить его в DOM за один вызов или просто создать рабочее пространство.

Инъекция

Вы можете создать рабочее пространство Blockly и внедрить его в DOM с помощью вызова Blockly.inject(location, options) . Первый аргумент указывает Blockly, куда в DOM нужно внедрить рабочее пространство. Второй аргумент — это объект, содержащий параметры конфигурации.

Более подробную информацию см. в разделе Создание рабочего пространства .

Прямое создание

Вы можете создать рабочее пространство напрямую, вызвав метод new Blockly.WorkspaceSvg(new Blockly.Options(options)) . При этом обязательно передайте параметры конфигурации в вызов new Blockly.Options(options) — конструктор WorkspaceSvg не может напрямую принять объект параметров конфигурации.

Параметры конфигурации

Объект конфигурации реализует Blockly.BlocklyOptions и имеет следующие параметры. Обратите внимание, что некоторые из этих параметров меняют свои значения по умолчанию в зависимости от того, есть ли категории в предоставленной панели инструментов.

Имя Тип Описание
collapse булев Включает ли контекстное меню блока пункт для сворачивания или разворачивания блоков. Значение по умолчанию — true , если на панели инструментов есть категории, в противном случае false .
comments булев Включает ли контекстное меню блока пункт для добавления или удаления комментариев. Значение по умолчанию — true если на панели инструментов есть категории, false в противном случае.
css булев Если false, CSS не внедряется (при условии, что ответственность за CSS лежит на документе). Значение по умолчанию — true .
disable булев Включает ли контекстное меню блока пункт для отключения или включения блоков. Значение по умолчанию — true , если на панели инструментов есть категории, в противном случае false .
grid объект Настраивает сетку, к которой могут привязываться блоки. См. Сетка .
horizontalLayout булев Если true панель инструментов горизонтальная, если false — вертикальная. По умолчанию — false .
maxBlocks число Максимальное количество блоков, которое можно создать. Полезно для упражнений студентов. По умолчанию — Infinity .
maxInstances объект Сопоставьте типы блоков с максимальным количеством блоков этого типа, которые можно создать. Необъявленные типы по умолчанию равны Infinity . Пример: maxInstances: {'controls_if': 3, 'math_number': 42}
maxTrashcanContents число Максимальное количество удалённых элементов, которые будут отображаться во всплывающей панели корзины. '0' отключает функцию. Значение по умолчанию — '32' .
media нить Путь от страницы (или фрейма) к каталогу медиафайлов Blockly. По умолчанию: 'https://blockly-demo.appspot.com/static/media/' . См. раздел «Папка медиафайлов» .
modalInputs булев Если true отображать модальные редакторы для полей ввода текста и их подклассов на мобильных устройствах, а также встроенный редактор на настольных компьютерах. Если false отображать встроенный редактор как на настольных компьютерах, так и на мобильных устройствах. Значение по умолчанию — true .
move объект Настраивает поведение пользователей при перемещении по рабочему пространству. См. Перемещение .
oneBasedIndex булев Если true операции со списками и строками должны индексироваться с 1 , если false — с 0 Значение по умолчанию — true .
plugins объект Объект, сопоставляющий имена типов реестра с классами замены или зарегистрированными именами классов замены. См. раздел Внедрение класса замены .
readOnly булев Если true , запрещает пользователю редактировать. Подавляет панель инструментов и корзину. Значение по умолчанию — false . См. также setIsReadOnly и isReadOnly .
renderer нить Определяет рендерер, используемый blockly. В число готовых рендереров входят 'geras' (по умолчанию), 'thrasos' и 'zelos' (рендер, подобный Scratch). Сведения о пользовательских рендерерах см. в разделе Создание пользовательских рендереров .
rtl булев Если true , зеркально отобразить редактор (для арабской или ивритской локалей). См. демо RTL . Значение по умолчанию — false .
scrollbars объект или логическое значение Устанавливает наличие вертикальных или горизонтальных полос прокрутки в рабочей области. Принимает объект, где свойство horizontal определяет, включена ли горизонтальная прокрутка, а свойство vertical определяет, включена ли вертикальная прокрутка. Если передано логическое значение, это эквивалентно передаче объекта, у которого заданы как horizontal , так и vertical свойства. Значение по умолчанию — true , если на панели инструментов есть категории.
sounds булев Если false , звуки отключаются. По умолчанию true .
theme Тема Если тема не указана, по умолчанию используется классическая тема. См. раздел «Темы» .
toolbox строка, XML или JSON Древовидная структура категорий и блоков, доступных пользователю. Подробнее см. в разделе «Определение панели инструментов» .
toolboxPosition нить Если панель инструментов 'start' находится сверху (если она горизонтальная), слева (если она вертикальная и слева направо) или справа (если она вертикальная и справа налево). Если панель инструментов 'end' находится на противоположной стороне. По умолчанию — 'start' .
trashcan булев Отображает или скрывает корзину. Значение по умолчанию — true если на панели инструментов есть категории, в противном случае false .
zoom объект Настраивает поведение масштабирования. См. Масштаб .