]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/ui/toolbars.ts
Lexical: Added basic list button/support
[bookstack] / resources / js / wysiwyg / ui / toolbars.ts
index b5d151fc11676f97905ddb709c44a2ffd4aec913..fe19b94ed7a95e666a11f43b956291ec8cf8c0a2 100644 (file)
@@ -1,23 +1,29 @@
-import {EditorButton, FormatPreviewButton} from "./framework/buttons";
+import {EditorButton} from "./framework/buttons";
 import {
-    blockquote, bold, code,
+    blockquote, bold, bulletList, clearFormating, code,
     dangerCallout, details,
-    h2, h3, h4, h5, image,
-    infoCallout, italic, link, paragraph,
-    redo, strikethrough, subscript,
-    successCallout, superscript, underline,
+    h2, h3, h4, h5, highlightColor, image,
+    infoCallout, italic, link, numberList, paragraph,
+    redo, source, strikethrough, subscript,
+    successCallout, superscript, taskList, textColor, underline,
     undo,
     warningCallout
 } from "./defaults/button-definitions";
-import {EditorContainerUiElement, EditorFormatMenu, EditorSimpleClassContainer} from "./framework/containers";
+import {EditorContainerUiElement, EditorSimpleClassContainer} from "./framework/core";
 import {el} from "../helpers";
+import {EditorFormatMenu} from "./framework/blocks/format-menu";
+import {FormatPreviewButton} from "./framework/blocks/format-preview-button";
+import {EditorDropdownButton} from "./framework/blocks/dropdown-button";
+import {EditorColorPicker} from "./framework/blocks/color-picker";
 
 
 export function getMainEditorFullToolbar(): EditorContainerUiElement {
     return new EditorSimpleClassContainer('editor-toolbar-main', [
+        // History state
         new EditorButton(undo),
         new EditorButton(redo),
 
+        // Block formats
         new EditorFormatMenu([
             new FormatPreviewButton(el('h2'), h2),
             new FormatPreviewButton(el('h3'), h3),
@@ -31,16 +37,33 @@ export function getMainEditorFullToolbar(): EditorContainerUiElement {
             new FormatPreviewButton(el('p', {class: 'callout danger'}), dangerCallout),
         ]),
 
+        // Inline formats
         new EditorButton(bold),
         new EditorButton(italic),
         new EditorButton(underline),
+        new EditorDropdownButton(textColor, [
+            new EditorColorPicker('color'),
+        ]),
+        new EditorDropdownButton(highlightColor, [
+            new EditorColorPicker('background-color'),
+        ]),
         new EditorButton(strikethrough),
         new EditorButton(superscript),
         new EditorButton(subscript),
         new EditorButton(code),
+        new EditorButton(clearFormating),
 
+        // Lists
+        new EditorButton(bulletList),
+        new EditorButton(numberList),
+        new EditorButton(taskList),
+
+        // Insert types
         new EditorButton(link),
         new EditorButton(image),
         new EditorButton(details),
+
+        // Meta elements
+        new EditorButton(source),
     ]);
 }
\ No newline at end of file