Перейти к основному содержимому
Версия: Next

Interface: EditorPlugin

Интерфейс предназначен для разработки надстроек, расширяющих функциональность веб-редактора.

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

Example

Файл простой надстройки должен выглядеть следующим образом и содержать только метод EditorPlugin.onInit.

export default {
// Точка входа в надстройку
onInit: startPlugin,
}

function startPlugin() {
console.log('Plugin started');
}

Остальное взаимодействие будет строиться на базе EditorApi

Methods

onDestroy()?

optional onDestroy(editorApi): void | Promise<void>

Опциональный метод, позволяющий освободить занятые ресурсы перед удалением надстройки из редактора.

Используется для удаления зарегистрированных компонентов интерфейса и любых изменений, внесённых в редактор.

Если реализация предусмотрена, рекомендуется очищать создаваемые надстройки элементы пользовательского интерфейса с использованием методов из пространства имен EditorApi.ui.

Например:

editorApi.ui.ribbon.removeTabs([tabId]); // удаление вкладки панели инструментов
editorApi.ui.sidebar.removeTabs([tabId]); // удаление боковой панели
editorApi.ui.contextMenu.removeItems([itemId, ...]); // очистка пунктов контекстного меню

Parameters

editorApi

EditorApi

объект типа EditorApi - обеспечивающий доступ к API редактора.

Returns

void | Promise<void>


onInit()

onInit(editorApi): void | Promise<void>

Опциональный метод освобождения ресурсов перед удалением надстройки.

Используйте для снятия UI-компонентов, отписок и очистки.

Рекомендуется удалять созданный UI через EditorApi.ui.

Например:

editorApi.ui.ribbon.removeTabs([tabId]);
editorApi.ui.sidebar.removeTabs([tabId]);
editorApi.ui.contextMenu.removeItems([itemId, ...]);

Parameters

editorApi

EditorApi

интерфейс EditorApi для взаимодействия с редактором

Returns

void | Promise<void>