]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/ui/framework/blocks/dropdown-button.ts
Lexical: Added mobile toolbar support
[bookstack] / resources / js / wysiwyg / ui / framework / blocks / dropdown-button.ts
index da0d3e5d0cf1fc63546580eac64b7d25fae0e259..d7f02d5732b96e7d167f40249dd2eb8314d5fb9d 100644 (file)
@@ -1,17 +1,20 @@
-import {el} from "../../../helpers";
 import {handleDropdown} from "../helpers/dropdowns";
 import {EditorContainerUiElement, EditorUiElement} from "../core";
 import {EditorBasicButtonDefinition, EditorButton} from "../buttons";
+import {el} from "../../../utils/dom";
+import {EditorMenuButton} from "./menu-button";
 
 export type EditorDropdownButtonOptions = {
     showOnHover?: boolean;
     direction?: 'vertical'|'horizontal';
+    showAside?: boolean;
     button: EditorBasicButtonDefinition|EditorButton;
 };
 
 const defaultOptions: EditorDropdownButtonOptions = {
     showOnHover: false,
     direction: 'horizontal',
+    showAside: undefined,
     button: {label: 'Menu'},
 }
 
@@ -29,7 +32,8 @@ export class EditorDropdownButton extends EditorContainerUiElement {
         if (options.button instanceof EditorButton) {
             this.button = options.button;
         } else {
-            this.button = new EditorButton({
+            const type = options.button.format === 'long' ? EditorMenuButton : EditorButton;
+            this.button = new type({
                 ...options.button,
                 action() {
                     return false;
@@ -63,6 +67,7 @@ export class EditorDropdownButton extends EditorContainerUiElement {
 
         handleDropdown({toggle: button, menu : menu,
             showOnHover: this.options.showOnHover,
+            showAside: typeof this.options.showAside === 'boolean' ? this.options.showAside : (this.options.direction === 'vertical'),
             onOpen : () => {
             this.open = true;
             this.getContext().manager.triggerStateUpdateForElement(this.button);