refactor(editor): move classic toolbar config into this repo

This commit is contained in:
Elian Doran 2025-02-11 19:48:26 +02:00
parent bd5232ed14
commit 2ac5e860b1
No known key found for this signature in database
4 changed files with 65 additions and 2 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,61 @@
export function buildToolbarConfig() {
return buildClassicToolbar();
}
function buildClassicToolbar() {
// For nested toolbars, refer to https://ckeditor.com/docs/ckeditor5/latest/getting-started/setup/toolbar.html#grouping-toolbar-items-in-dropdowns-nested-toolbars.
return {
items: [
'heading',
'fontSize',
'|',
'bold',
'italic',
{
label: "Text formatting",
icon: "text",
items: [
'underline',
'strikethrough',
'superscript',
'subscript',
'code',
],
},
'|',
'fontColor',
'fontBackgroundColor',
'removeFormat',
'|',
'bulletedList', 'numberedList', 'todoList',
'|',
'blockQuote',
'insertTable',
'codeBlock',
'footnote',
{
label: "Insert",
icon: "plus",
items: [
'imageUpload',
'|',
'link',
'internallink',
'includeNote',
'|',
'specialCharacters',
'math',
'mermaid',
'horizontalLine',
'pageBreak'
]
},
'|',
'outdent', 'indent',
'|',
'markdownImport',
'cuttonote',
'findAndReplace'
]
}
}

View File

@ -15,6 +15,7 @@ import options from "../../services/options.js";
import toast from "../../services/toast.js"; import toast from "../../services/toast.js";
import { getMermaidConfig } from "../mermaid.js"; import { getMermaidConfig } from "../mermaid.js";
import { normalizeMimeTypeForCKEditor } from "../../services/mime_type_definitions.js"; import { normalizeMimeTypeForCKEditor } from "../../services/mime_type_definitions.js";
import { buildToolbarConfig } from "./ckeditor/toolbars.js";
const ENABLE_INSPECTOR = false; const ENABLE_INSPECTOR = false;
@ -186,6 +187,7 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
const extraOpts = {}; const extraOpts = {};
if (isClassicEditor) { if (isClassicEditor) {
extraOpts.toolbar = { extraOpts.toolbar = {
...buildToolbarConfig(),
shouldNotGroupWhenFull: utils.isDesktop() && options.get("textNoteEditorMultilineToolbar") === "true" shouldNotGroupWhenFull: utils.isDesktop() && options.get("textNoteEditorMultilineToolbar") === "true"
}; };
} }