Вы можете создать рабочее пространство и внедрить его в 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 | объект | Настраивает поведение масштабирования. См. Масштаб . |