Расширения
Расширения в редакторе предназначены для добавления функций на панель расширений. С их помощью можно реализовать как стандартные операции — отмену (Undo) и повтор (Redo), так и любые пользовательские действия.

Базовое использование
Подключайте и используйте расширения в конфигурации редактора.
javascript
import Texditor from 'texditor';
import { Undo, Redo, DeleteSelected } from "texditor/entities/extensions";
const editor = new Texditor({
// Идентификатор html-элемента
handle: 'texditor',
extensions: [
Undo,
Redo,
DeleteSelected,
//... или пользовательские варианты
],
});Создание пользовательских расширений
Легко создавайте свои собственные расширения
javascript
import { ExtensionModel } from 'texditor/core/models';
// Пример пользовательского расширения для панели расширений
export default class CustomRedo extends ExtensionModel {
configure() {
return {
name: 'redo',
translation: 'redo',
icon: { raw: '<svg>...</svg>' },
toggleActive: false, // Проверяет переключение расширения в активное состояние при клике
groupName: 'history', // Группа расширений для объединения в HTML-блоки при использовании в качестве кнопки
// ... другие параметры из основной и базовой модели
};
}
onClick(evt) {
this.editor.historyManager.redo(); // или любое свободное действие
}
isActive() {
// Статус активности расширения
return this.editor.historyManager.canRedo();
}
// Другие методы из основной модели "ExtensionModel" и базовой 'BaseModel' ...
}typescript
import type { ExtensionModelConfig } from 'texditor';
import { ExtensionModel } from 'texditor/core/models';
// Пример пользовательского расширения для панели расширений
export default class CustomRedo extends ExtensionModel {
protected configure(): Partial<ExtensionModelConfig> {
return {
name: 'redo',
translation: 'redo',
icon: { raw: '<svg>...</svg>' },
toggleActive: false, // Проверяет переключение расширения в активное состояние при клике
groupName: 'history', // Группа расширений для объединения в HTML-блоки при использовании в качестве кнопки
// ... другие параметры из основной и базовой модели
};
}
protected onClick(evt: MouseEvent): void {
this.editor.historyManager.redo(); // или любое свободное действие
}
isActive(): boolean {
// Статус активности расширения
return this.editor.historyManager.canRedo();
}
// Другие методы из основной модели "ExtensionModel" и базовой 'BaseModel' ...
}