mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
|
import {EditorContainerUiElement, EditorUiElement} from "../core";
|
||
|
import {el} from "../../../utils/dom";
|
||
|
import {EditorButton} from "../buttons";
|
||
|
import {EditorDropdownButton} from "./dropdown-button";
|
||
|
import caretDownIcon from "@icons/caret-down-large.svg";
|
||
|
|
||
|
export class EditorButtonWithMenu extends EditorContainerUiElement {
|
||
|
protected button: EditorButton;
|
||
|
protected dropdownButton: EditorDropdownButton;
|
||
|
|
||
|
constructor(button: EditorButton, menuItems: EditorUiElement[]) {
|
||
|
super([button]);
|
||
|
|
||
|
this.button = button;
|
||
|
this.dropdownButton = new EditorDropdownButton({
|
||
|
button: {label: 'Menu', icon: caretDownIcon},
|
||
|
showOnHover: false,
|
||
|
direction: 'vertical',
|
||
|
}, menuItems);
|
||
|
this.addChildren(this.dropdownButton);
|
||
|
}
|
||
|
|
||
|
buildDOM(): HTMLElement {
|
||
|
return el('div', {
|
||
|
class: 'editor-button-with-menu-container',
|
||
|
}, [
|
||
|
this.button.getDOMElement(),
|
||
|
this.dropdownButton.getDOMElement()
|
||
|
]);
|
||
|
}
|
||
|
}
|