Перейти к основному содержимому
Версия: 26.1.0 (в разработке)

Interface: ModalsApi

API для управления модальными окнами редактора.

Модальные окна временно блокируют взаимодействие с основным приложением и используются для:

  • Информирования пользователя о событиях, результатах операций, статусе
  • Получения подтверждения перед выполнением важных или опасных действий
  • Предоставления справки, инструкций и дополнительной информации
  • Отображения результатов анализа, расчётов или обработки данных

Каждое модальное окно полностью описывается единственным объектом параметров, где все свойства (заголовок, содержимое, кнопки, обработчики) находятся в одном месте.

Methods

showModal()

showModal(modal): void

Открывает модальное информационное окно.

Используется для вывода информации, уведомлений, справки или результатов операций. Окно содержит заголовок, содержимое (текст или HTML) и одну кнопку подтверждения.

Описание сценария передаётся полностью в объекте параметров: все необходимые данные и логика находятся в одном месте для полной прозрачности.

Parameters

CustomModal

Описание модального окна (тип CustomModal)

Returns

void

Example

Уведомление о готовности

editorApi.ui.modals.showModal({
id: 'plugin:modal:success',
title: 'Готово',
content: 'Документ успешно сохранён.',
contentType: 'text',
okButton: {
title: 'ОК',
onClick: editorApi.createCallback(() => {
console.log('Модальное окно закрыто');
})
}
});

Показ статистики с HTML-разметкой.

editorApi.ui.modals.showModal({
id: 'plugin:modal:stats',
title: 'Статистика документа',
content: `
<h3>Результаты анализа</h3>
<table>
<tr><td>Слов:</td><td>1250</td></tr>
<tr><td>Символов:</td><td>8450</td></tr>
<tr><td>Абзацев:</td><td>42</td></tr>
</table>
`,
contentType: 'html',
okButton: {
title: 'Закрыть отчёт',
onClick: editorApi.createCallback(() => {
editorApi.ui.toasts.showToast({ id, content: 'Отчёт просмотрен' });
})
}
});

Справка без обработчика (просто закрывает окно)

editorApi.ui.modals.showModal({
id: 'plugin:modal:help',
title: 'Справка',
content: 'Это поле принимает текст в формате Markdown с поддержкой всех основных тегов.',
contentType: 'text'
// okButton не указан - окно закроется по клику на стандартную кнопку "ОК"
});

See

  • CustomModal — структура параметров
  • EditorApi.createCallback — создание обработчиков
  • ToastsApi — для уведомлений после закрытия