diff --git a/src/public/app/widgets/type_widgets/ckeditor/config.ts b/src/public/app/widgets/type_widgets/ckeditor/config.ts index 2ce7fe420..6d4726999 100644 --- a/src/public/app/widgets/type_widgets/ckeditor/config.ts +++ b/src/public/app/widgets/type_widgets/ckeditor/config.ts @@ -102,7 +102,9 @@ export function buildConfig() { } export function buildToolbarConfig(isClassicToolbar: boolean) { - if (isClassicToolbar) { + if (utils.isMobile()) { + return buildMobileToolbar(); + } else if (isClassicToolbar) { const multilineToolbar = utils.isDesktop() && options.get("textNoteEditorMultilineToolbar") === "true"; return buildClassicToolbar(multilineToolbar); } else { @@ -110,6 +112,29 @@ export function buildToolbarConfig(isClassicToolbar: boolean) { } } +export function buildMobileToolbar() { + const classicConfig = buildClassicToolbar(false); + const items = []; + + for (const item of classicConfig.toolbar.items) { + if (typeof item === "object" && "items" in item) { + for (const subitem of item.items) { + items.push(subitem); + } + } else { + items.push(item); + } + } + + return { + ...classicConfig, + toolbar: { + ...classicConfig.toolbar, + items + } + }; +} + export function buildClassicToolbar(multilineToolbar: boolean) { // For nested toolbars, refer to https://ckeditor.com/docs/ckeditor5/latest/getting-started/setup/toolbar.html#grouping-toolbar-items-in-dropdowns-nested-toolbars. return {