Перейти к содержимому
ФреймворкJavaScript

Toolbar API: управление блочным тулбаром

Управление панелью инструментов блока и её состоянием.

Обновлено 26 сент. 2026 г.Редактировать на GitHub

Как получить экземпляр редактора

Методы ниже вызываются на редакторе, созданном через new Blok(). Они доступны после того, как разрешится editor.isReady.

TypeScript
// 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

Закрыть панель инструментов с необязательной конфигурацией.

Когда использовать

Закрывает панель инструментов блока из кода. Пригодится после вашего действия, чтобы интерфейс не висел.

TypeScript
// 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

Открыть панель инструментов.

Когда использовать

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

TypeScript
editor.toolbar.open();

toolbar.toggleBlockSettings(openingState?, trigger?, options?)

void

Переключить настройки блока (☰).

Когда использовать

Открывает или закрывает меню настроек ☰ из кода. Передайте явный булев флаг, чтобы задать состояние, а не переключать его.

Параметры

ПараметрТипОбязательныйПо умолчаниюОписание
openingStateboolean—toggle current state

Принудительно открыть (true) или закрыть (false) меню настроек.

triggerHTMLElement—undefined

Элемент, к которому привязывается поповер настроек. Если он внутри блока, меню откроется для этого блока, а не для блока с курсором.

optionsToolbarBlockSettingsOptions—undefined

Переопределения размещения. placeLeftOfAnchor уже равен true, когда вы передаёте элемент-триггер. Задайте false, чтобы открыть поповер справа от триггера.

TypeScript
// 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

Переключить тулбокс (меню +).

Когда использовать

Открывает или закрывает тулбокс, меню вставки по кнопке + и по слэшу, из кода. Передайте булев флаг, чтобы задать состояние.

TypeScript
// Toggle current state
editor.toolbar.toggleToolbox();

// Force open
editor.toolbar.toggleToolbox(true);

toolbar.setHidden(hidden)

void

Runtime-сеттер для config.hideToolbar. Скрывает или показывает hover-панель инструментов (кнопку «плюс» и ручку перетаскивания). Ещё он убирает или возвращает зарезервированный под неё отступ редактора.

Атрибут data-blok-toolbar-hidden на обёртке синхронизируется, поэтому пустого места не остаётся. Меню по клавише "/" продолжает работать, пока панель инструментов скрыта.

Когда использовать

Runtime-половина опции конфигурации hideToolbar. Переключает и поведение панели инструментов, и зарезервированный отступ, поэтому пустого места не остаётся.

Параметры

ПараметрТипОбязательныйПо умолчаниюОписание
hiddenbooleanОбязательный—

true скрывает hover-панель инструментов и убирает отступ. false возвращает и то и другое.

TypeScript
// Hide the hover toolbar and collapse its gutter
editor.toolbar.setHidden(true);

// Restore it
editor.toolbar.setHidden(false);

toolbar.setPosition(position)

void

Runtime-сеттер для config.toolbarPosition. Переносит плавающие элементы управления блоком между отступами редактора inline-start и inline-end. Атрибут data-blok-toolbar-position на обёртке синхронизируется. Он управляет и переносом отступа, и стороной, к которой прижимаются элементы управления.

Меню настроек блока зеркалится вместе с ними, поэтому оно никогда не открывается поверх своего блока. Открытая панель инструментов не закрывается, а перестраивается на месте.

Когда использовать

Runtime-половина опции конфигурации toolbarPosition. Переносит элементы управления вместе с зарезервированным отступом. Ещё она зеркалит меню настроек блока, чтобы оно не открывалось поверх блока.

Параметры

ПараметрТипОбязательныйПо умолчаниюОписание
position'left' | 'right'Обязательный—

'left' это отступ inline-start (по умолчанию), 'right' это inline-end.

TypeScript
// Move the +/⠿ controls to the right of the content column
editor.toolbar.setPosition('right');

// Back to the left gutter
editor.toolbar.setPosition('left');