chore(ckeditor): create shared type for editor

This commit is contained in:
Elian Doran
2025-05-05 21:44:27 +03:00
parent 6386c45212
commit 70ec38d534
4 changed files with 23 additions and 8 deletions

View File

@@ -3,18 +3,33 @@ import { COMMON_PLUGINS, POPUP_EDITOR_PLUGINS } from "./plugins";
import { BalloonEditor, DecoupledEditor } from "ckeditor5";
export { EditorWatchdog } from "ckeditor5";
/**
* Short-hand for the CKEditor classes supported by Trilium for text editing.
* Specialized editors such as the {@link AttributeEditor} are not included.
*/
export type CKTextEditor = ClassicEditor | PopupEditor;
/**
* The text editor that can be used for editing attributes and relations.
*/
export class AttributeEditor extends BalloonEditor {
static override get builtinPlugins() {
return [];
}
}
/**
* A text editor configured as a {@link DecoupledEditor} (fixed toolbar mode), as well as its preconfigured plugins.
*/
export class ClassicEditor extends DecoupledEditor {
static override get builtinPlugins() {
return COMMON_PLUGINS;
}
}
/**
* A text editor configured as a {@link BalloonEditor} (floating toolbar mode), as well as its preconfigured plugins.
*/
export class PopupEditor extends BalloonEditor {
static override get builtinPlugins() {
return POPUP_EDITOR_PLUGINS;