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

Interface: Callback<Payload>

Тип для колбэков, созданных через EditorApi.createCallback.

Колбэки используются для обработки событий в элементах UI: нажатия кнопок, ввода текста, и т.д. Один колбэк можно использовать в нескольких элементах.

Remarks

Создание колбэка:

const myCallback = editorApi.createCallback(() => {
console.log('Колбэк вызван');
});

Использование в элементах:

  • onClick для кнопок
  • onInput для полей ввода
  • onBlur/onFocus для текстовых элементов
  • Любые другие события

Переиспользование колбэка: Один колбэк можно применить к разным элементам:

const saveCallback = editorApi.createCallback(async () => {
await saveDocument();
});

// В кнопке на ленте
editorApi.ui.ribbon.addTab({
groups: [{
controls: [{
onClick: saveCallback // Используем тот же колбэк
}]
}]
});

// В кнопке модального окна
editorApi.ui.modals.showModal({
okButton: {
onClick: saveCallback // Используем тот же колбэк
}
});

Example

Полный пример создания и использования колбэка

export default {
onInit: (editorApi) => {
// Функция логики
async function onSave() {
editorApi.ui.toasts.showToast({ id, content: 'Сохранение...' });
try {
await saveToServer();
editorApi.ui.toasts.showToast({ id, content: 'Сохранено' });
} catch (error) {
editorApi.ui.toasts.showToast({ id, type: 'error', content: 'Ошибка при сохранении' });
}
}

// Создание колбэка
const saveCallback = editorApi.createCallback(onSave);

// Использование в модальном окне
editorApi.ui.modals.showModal({
id: 'plugin:modal:save',
title: 'Сохранить?',
content: 'Хотите сохранить изменения?',
okButton: {
title: 'Сохранить',
onClick: saveCallback
}
});

// Использование в кнопке на ленте
editorApi.ui.ribbon.addTab({
id: 'plugin:ribbon:tab',
title: 'Надстройка',
groups: [{
controls: [{
id: 'plugin:button:save',
title: 'Сохранить',
type: 'button',
icon: 'Save',
onClick: saveCallback // Один колбэк в двух местах
}]
}]
});
}
}

Type Parameters

Payload

Payload = void

Тип данных, которые будут переданы в колбэк (по умолчанию void)

Properties

id

id: string

Внутренний уникальный идентификатор колбэка, используется редактором