Toolbar API: управление блочным тулбаром
Управление панелью инструментов блока и её состоянием.
Как получить экземпляр редактора
Методы ниже вызываются на редакторе, созданном через new Blok(). Они доступны после того, как разрешится editor.isReady.
// You already hold the instance returned by the constructor.
const editor = new Blok({ holder: 'editor' });
await editor.isReady;
// Call any API method on it.
editor.caret.setToLastBlock('end');Методы
toolbar.close(options?)
voidЗакрыть панель инструментов с необязательной конфигурацией.
Когда использовать
Закрывает панель инструментов блока из кода. Пригодится после вашего действия, чтобы интерфейс не висел.
// Standard close. The next mousemove re-opens the toolbar: close() clears the
// hovered block and resets the hover dedup, so BlockHovered fires again.
editor.toolbar.close();
// Close and keep it closed while the pointer stays on the same block
// (skips the hover-state reset, so no BlockHovered is re-emitted for it).
editor.toolbar.close({ setExplicitlyClosed: false });toolbar.open()
voidОткрыть панель инструментов.
Когда использовать
Принудительно открывает панель инструментов для текущего блока. Обычно она появляется при наведении или фокусе, поэтому используйте это редко.
editor.toolbar.open();toolbar.toggleBlockSettings(openingState?, trigger?, options?)
voidПереключить настройки блока (☰).
Когда использовать
Открывает или закрывает меню настроек ☰ из кода. Передайте явный булев флаг, чтобы задать состояние, а не переключать его.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
openingState | boolean | — | toggle current state | Принудительно открыть (true) или закрыть (false) меню настроек. |
trigger | HTMLElement | — | undefined | Элемент, к которому привязывается поповер настроек. Если он внутри блока, меню откроется для этого блока, а не для блока с курсором. |
options | ToolbarBlockSettingsOptions | — | undefined | Переопределения размещения. |
// Toggle current state
editor.toolbar.toggleBlockSettings();
// Force open
editor.toolbar.toggleBlockSettings(true);
// Force close
editor.toolbar.toggleBlockSettings(false);
// Anchor the settings popover to a custom trigger element.
// Left placement is already the default for an element trigger —
// opt out to open the popover to the right instead:
editor.toolbar.toggleBlockSettings(true, triggerEl, { placeLeftOfAnchor: false });toolbar.toggleToolbox(openingState?)
voidПереключить тулбокс (меню +).
Когда использовать
Открывает или закрывает тулбокс, меню вставки по кнопке + и по слэшу, из кода. Передайте булев флаг, чтобы задать состояние.
// Toggle current state
editor.toolbar.toggleToolbox();
// Force open
editor.toolbar.toggleToolbox(true);toolbar.setPosition(position)
voidRuntime-сеттер для config.toolbarPosition. Переносит плавающие элементы управления блоком между отступами редактора inline-start и inline-end. Атрибут data-blok-toolbar-position на обёртке синхронизируется. Он управляет и переносом отступа, и стороной, к которой прижимаются элементы управления.
Меню настроек блока зеркалится вместе с ними, поэтому оно никогда не открывается поверх своего блока. Открытая панель инструментов не закрывается, а перестраивается на месте.
Когда использовать
Runtime-половина опции конфигурации toolbarPosition. Переносит элементы управления вместе с зарезервированным отступом. Ещё она зеркалит меню настроек блока, чтобы оно не открывалось поверх блока.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
position | 'left' | 'right' | Обязательный | — | 'left' это отступ inline-start (по умолчанию), 'right' это inline-end. |
// Move the +/⠿ controls to the right of the content column
editor.toolbar.setPosition('right');
// Back to the left gutter
editor.toolbar.setPosition('left');