diff --git a/lib/js/Dialog.d.ts b/lib/js/Dialog.d.ts index d3b5ff9..f983171 100644 --- a/lib/js/Dialog.d.ts +++ b/lib/js/Dialog.d.ts @@ -1,11 +1,12 @@ import { DockManager } from "./DockManager.js"; -import { Point } from "./Point.js"; -import { PanelContainer } from "./PanelContainer.js"; +import { DockNode } from "./DockNode.js"; import { DraggableContainer } from "./DraggableContainer.js"; -import { ResizableContainer } from "./ResizableContainer.js"; import { EventHandler } from "./EventHandler.js"; -import { DockNode } from "./DockNode.js"; -export declare class Dialog { +import { PanelContainer } from "./PanelContainer.js"; +import { Point } from "./Point.js"; +import { ResizableContainer } from "./ResizableContainer.js"; +import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js"; +export declare class Dialog implements IContextMenuProvider { elementDialog: HTMLDivElement & { floatingDialog: Dialog; }; @@ -23,9 +24,6 @@ export declare class Dialog { keyPressHandler: EventHandler; focusHandler: EventHandler; grayoutParent: PanelContainer; - contextmenuHandler: EventHandler; - _ctxMenu: HTMLDivElement; - _windowsContextMenuCloseBound: any; constructor(panel: PanelContainer, dockManager: DockManager, grayoutParent?: PanelContainer, disableResize?: boolean); saveState(x: number, y: number): void; static fromElement(id: string, dockManager: DockManager): Dialog; @@ -44,7 +42,5 @@ export declare class Dialog { remove(): void; show(): void; static createContextMenuContentCallback: (dialog: Dialog, documentMangerNodes: DockNode[]) => Node[]; - oncontextMenuClicked(e: MouseEvent): void; - closeContextMenu(): void; - windowsContextMenuClose(e: Event): void; + createContextMenuItems(): Node[]; } diff --git a/lib/js/Dialog.js b/lib/js/Dialog.js index b6bb344..a49e096 100644 --- a/lib/js/Dialog.js +++ b/lib/js/Dialog.js @@ -1,8 +1,8 @@ -import { Point } from "./Point.js"; -import { PanelContainer } from "./PanelContainer.js"; import { DraggableContainer } from "./DraggableContainer.js"; -import { ResizableContainer } from "./ResizableContainer.js"; import { EventHandler } from "./EventHandler.js"; +import { PanelContainer } from "./PanelContainer.js"; +import { Point } from "./Point.js"; +import { ResizableContainer } from "./ResizableContainer.js"; import { Utils } from "./Utils.js"; import { Localizer } from "./i18n/Localizer.js"; export class Dialog { @@ -21,9 +21,6 @@ export class Dialog { keyPressHandler; focusHandler; grayoutParent; - contextmenuHandler; - _ctxMenu; - _windowsContextMenuCloseBound; constructor(panel, dockManager, grayoutParent, disableResize) { this.panel = panel; this.dockManager = dockManager; @@ -55,7 +52,6 @@ export class Dialog { this.focusHandler = new EventHandler(this.elementDialog, 'focus', this.onFocus.bind(this), true); this.mouseDownHandler = new EventHandler(this.elementDialog, 'pointerdown', this.onMouseDown.bind(this), true); this.keyPressHandler = new EventHandler(this.elementDialog, 'keypress', this.dockManager.onKeyPressBound, true); - this.contextmenuHandler = new EventHandler(this.panel.elementTitle, 'contextmenu', this.oncontextMenuClicked.bind(this)); this.resize(this.panel.elementPanel.clientWidth, this.panel.elementPanel.clientHeight); this.isHidden = false; if (this.grayoutParent != null) { @@ -96,15 +92,11 @@ export class Dialog { this.keyPressHandler.cancel(); delete this.keyPressHandler; } - if (this.contextmenuHandler) { - this.contextmenuHandler.cancel(); - delete this.contextmenuHandler; - } Utils.removeNode(this.elementDialog); this.draggable.removeDecorator(); Utils.removeNode(this.panel.elementPanel); Utils.arrayRemove(this.dockManager.context.model.dialogs, this); - delete this.panel.floatingDialog; + this.panel.floatingDialog = undefined; if (this.grayoutParent) { this.grayoutParent.grayOut(false); } @@ -162,55 +154,22 @@ export class Dialog { btnCloseDialog.innerText = Localizer.getString('CloseDialog'); result.push(btnCloseDialog); btnCloseDialog.onclick = () => { + dialog.panel.closeContextMenu(); dialog.panel.close(); - dialog.closeContextMenu(); }; if (dialog.dockManager.config.enableBrowserWindows) { let btnNewBrowserWindow = document.createElement('div'); btnNewBrowserWindow.innerText = Localizer.getString('NewBrowserWindow'); result.push(btnNewBrowserWindow); btnNewBrowserWindow.onclick = () => { + dialog.panel.closeContextMenu(); dialog.panel.undockToBrowserDialog(); - dialog.closeContextMenu(); }; } return result; }; - oncontextMenuClicked(e) { - e.preventDefault(); - if (!this._ctxMenu && Dialog.createContextMenuContentCallback) { - const menuItems = Dialog.createContextMenuContentCallback(this, this.dockManager.context.model.documentManagerNode.children); - if (menuItems.length == 0) { - return; - } - this._ctxMenu = document.createElement('div'); - this._ctxMenu.className = 'dockspab-tab-handle-context-menu'; - this._ctxMenu.append(...menuItems); - this._ctxMenu.style.left = e.pageX + "px"; - this._ctxMenu.style.top = e.pageY + "px"; - document.body.appendChild(this._ctxMenu); - this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this); - window.addEventListener('pointerup', this._windowsContextMenuCloseBound); - } - else { - this.closeContextMenu(); - } - } - closeContextMenu() { - if (this._ctxMenu) { - document.body.removeChild(this._ctxMenu); - delete this._ctxMenu; - window.removeEventListener('pointerup', this._windowsContextMenuCloseBound); - } - } - windowsContextMenuClose(e) { - let cp = e.composedPath(); - for (let i in cp) { - let el = cp[i]; - if (el == this._ctxMenu) - return; - } - this.closeContextMenu(); + createContextMenuItems() { + return Dialog.createContextMenuContentCallback(this, this.dockManager.context.model.documentManagerNode.children); } } //# sourceMappingURL=Dialog.js.map \ No newline at end of file diff --git a/lib/js/Dialog.js.map b/lib/js/Dialog.js.map index d264df4..c29c8d1 100644 --- a/lib/js/Dialog.js.map +++ b/lib/js/Dialog.js.map @@ -1 +1 @@ -{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/Dialog.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/Dialog.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/js/PanelContainer.d.ts b/lib/js/PanelContainer.d.ts index 4899cae..61209f6 100644 --- a/lib/js/PanelContainer.d.ts +++ b/lib/js/PanelContainer.d.ts @@ -1,19 +1,20 @@ -import { DockManager } from "./DockManager.js"; -import { UndockInitiator } from "./UndockInitiator.js"; import { ContainerType } from "./ContainerType.js"; +import { Dialog } from "./Dialog.js"; +import { DockManager } from "./DockManager.js"; import { EventHandler } from "./EventHandler.js"; -import { ISize } from "./interfaces/ISize.js"; -import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js"; -import { IState } from "./interfaces/IState.js"; import { Point } from "./Point.js"; -import { IDockContainer } from "./interfaces/IDockContainer.js"; -import { PanelType } from "./enums/PanelType.js"; -import { Dialog } from "./Dialog.js"; import { TabPage } from './TabPage.js'; +import { UndockInitiator } from "./UndockInitiator.js"; +import { PanelType } from "./enums/PanelType.js"; +import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js"; +import { IDockContainer } from "./interfaces/IDockContainer.js"; +import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js"; +import { ISize } from "./interfaces/ISize.js"; +import { IState } from "./interfaces/IState.js"; /** * This dock container wraps the specified element on a panel frame with a title bar and close button */ -export declare class PanelContainer implements IDockContainerWithSize { +export declare class PanelContainer implements IDockContainerWithSize, IContextMenuProvider { closePanelContainerCallback: (panelContainer: PanelContainer) => Promise; onTitleChanged: (panelContainer: PanelContainer, title: string) => void; elementPanel: HTMLDivElement; @@ -55,9 +56,11 @@ export declare class PanelContainer implements IDockContainerWithSize { _hideCloseButton: boolean; _grayOut: HTMLDivElement; _ctxMenu: HTMLDivElement; + private _contextMenuProvider; constructor(elementContent: HTMLElement, dockManager: DockManager, title?: string, panelType?: PanelType, hideCloseButton?: boolean); _initialize(): void; static createContextMenuContentCallback: (panelContainer: PanelContainer) => Node[]; + createContextMenuItems(): Node[]; oncontextMenuClicked(e: MouseEvent): void; closeContextMenu(): void; windowsContextMenuClose(e: Event): void; diff --git a/lib/js/PanelContainer.js b/lib/js/PanelContainer.js index b293aee..dd14081 100644 --- a/lib/js/PanelContainer.js +++ b/lib/js/PanelContainer.js @@ -1,10 +1,10 @@ -import { Utils } from "./Utils.js"; -import { UndockInitiator } from "./UndockInitiator.js"; +import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js"; import { ContainerType } from "./ContainerType.js"; import { EventHandler } from "./EventHandler.js"; +import { UndockInitiator } from "./UndockInitiator.js"; +import { Utils } from "./Utils.js"; import { PanelType } from "./enums/PanelType.js"; import { Localizer } from "./i18n/Localizer.js"; -import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js"; /** * This dock container wraps the specified element on a panel frame with a title bar and close button */ @@ -47,6 +47,7 @@ export class PanelContainer { _hideCloseButton; _grayOut; _ctxMenu; + _contextMenuProvider; constructor(elementContent, dockManager, title, panelType, hideCloseButton) { if (!title) title = Localizer.getString('DefaultPanelName'); @@ -89,6 +90,7 @@ export class PanelContainer { this._canUndock = dockManager._undockEnabled; this.eventListeners = []; this._hideCloseButton = hideCloseButton; + this._contextMenuProvider = this; this.windowsContextMenuClose = this.windowsContextMenuClose.bind(this); this._initialize(); } @@ -136,7 +138,7 @@ export class PanelContainer { this.icon = contentIcon; this._updateTitle(); this.undockInitiator = new UndockInitiator(this.elementTitle, this.performUndockToDialog.bind(this)); - delete this.floatingDialog; + this.floatingDialog = undefined; this.mouseDownHandler = new EventHandler(this.elementPanel, 'mousedown', this.onMouseDown.bind(this)); this.touchDownHandler = new EventHandler(this.elementPanel, 'touchstart', this.onMouseDown.bind(this), { passive: true }); this._resolvedElementContent = this.elementContent; @@ -157,10 +159,13 @@ export class PanelContainer { } return result; }; + createContextMenuItems() { + return PanelContainer.createContextMenuContentCallback(this); + } oncontextMenuClicked(e) { e.preventDefault(); - if (!this._ctxMenu && PanelContainer.createContextMenuContentCallback) { - const menuItems = PanelContainer.createContextMenuContentCallback(this); + if (!this._ctxMenu) { + const menuItems = this._contextMenuProvider.createContextMenuItems(); if (menuItems.length == 0) { return; } @@ -214,6 +219,7 @@ export class PanelContainer { this._floatingDialog = value; let canUndock = (this._floatingDialog === undefined); this.undockInitiator.enabled = canUndock; + this._contextMenuProvider = value ?? this; } static async loadFromState(state, dockManager) { let elementContent; diff --git a/lib/js/PanelContainer.js.map b/lib/js/PanelContainer.js.map index a56e21d..4a0d0b3 100644 --- a/lib/js/PanelContainer.js.map +++ b/lib/js/PanelContainer.js.map @@ -1 +1 @@ -{"version":3,"file":"PanelContainer.js","sourceRoot":"","sources":["../../src/PanelContainer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"PanelContainer.js","sourceRoot":"","sources":["../../src/PanelContainer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/js/index.d.ts b/lib/js/index.d.ts index 662e046..0e48303 100644 --- a/lib/js/index.d.ts +++ b/lib/js/index.d.ts @@ -3,6 +3,7 @@ export * from './enums/TabHostDirection.js'; export * from './enums/WheelTypes.js'; export * from './i18n/Defaults.js'; export * from './i18n/Localizer.js'; +export * from './interfaces/IContextMenuProvider.js'; export * from './interfaces/IDockContainer.js'; export * from './interfaces/IDockContainerWithSize.js'; export * from './interfaces/ILayoutEventListener.js'; diff --git a/lib/js/index.js b/lib/js/index.js index ae4efc1..13f709b 100644 --- a/lib/js/index.js +++ b/lib/js/index.js @@ -3,6 +3,7 @@ export * from './enums/TabHostDirection.js'; export * from './enums/WheelTypes.js'; export * from './i18n/Defaults.js'; export * from './i18n/Localizer.js'; +export * from './interfaces/IContextMenuProvider.js'; export * from './interfaces/IDockContainer.js'; export * from './interfaces/IDockContainerWithSize.js'; export * from './interfaces/ILayoutEventListener.js'; diff --git a/lib/js/index.js.map b/lib/js/index.js.map index 38118f2..cfad5ae 100644 --- a/lib/js/index.js.map +++ b/lib/js/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC"} \ No newline at end of file diff --git a/lib/js/interfaces/IContextMenuProvider.d.ts b/lib/js/interfaces/IContextMenuProvider.d.ts new file mode 100644 index 0000000..d7a2697 --- /dev/null +++ b/lib/js/interfaces/IContextMenuProvider.d.ts @@ -0,0 +1,3 @@ +export interface IContextMenuProvider { + createContextMenuItems(): Node[]; +} diff --git a/lib/js/interfaces/IContextMenuProvider.js b/lib/js/interfaces/IContextMenuProvider.js new file mode 100644 index 0000000..eea1c7c --- /dev/null +++ b/lib/js/interfaces/IContextMenuProvider.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=IContextMenuProvider.js.map \ No newline at end of file diff --git a/lib/js/interfaces/IContextMenuProvider.js.map b/lib/js/interfaces/IContextMenuProvider.js.map new file mode 100644 index 0000000..8e8bd27 --- /dev/null +++ b/lib/js/interfaces/IContextMenuProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IContextMenuProvider.js","sourceRoot":"","sources":["../../../src/interfaces/IContextMenuProvider.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/src/Dialog.ts b/src/Dialog.ts index 7baf6a4..49329b0 100644 --- a/src/Dialog.ts +++ b/src/Dialog.ts @@ -1,14 +1,15 @@ import { DockManager } from "./DockManager.js"; -import { Point } from "./Point.js"; -import { PanelContainer } from "./PanelContainer.js"; +import { DockNode } from "./DockNode.js"; import { DraggableContainer } from "./DraggableContainer.js"; -import { ResizableContainer } from "./ResizableContainer.js"; import { EventHandler } from "./EventHandler.js"; +import { PanelContainer } from "./PanelContainer.js"; +import { Point } from "./Point.js"; +import { ResizableContainer } from "./ResizableContainer.js"; import { Utils } from "./Utils.js"; import { Localizer } from "./i18n/Localizer.js"; -import { DockNode } from "./DockNode.js"; +import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js"; -export class Dialog { +export class Dialog implements IContextMenuProvider { elementDialog: HTMLDivElement & { floatingDialog: Dialog }; draggable: DraggableContainer; panel: PanelContainer; @@ -24,9 +25,6 @@ export class Dialog { keyPressHandler: EventHandler; focusHandler: EventHandler; grayoutParent: PanelContainer; - contextmenuHandler: EventHandler; - _ctxMenu: HTMLDivElement; - _windowsContextMenuCloseBound: any; constructor(panel: PanelContainer, dockManager: DockManager, grayoutParent?: PanelContainer, disableResize?: boolean) { this.panel = panel; @@ -64,7 +62,6 @@ export class Dialog { this.focusHandler = new EventHandler(this.elementDialog, 'focus', this.onFocus.bind(this), true); this.mouseDownHandler = new EventHandler(this.elementDialog, 'pointerdown', this.onMouseDown.bind(this), true); this.keyPressHandler = new EventHandler(this.elementDialog, 'keypress', this.dockManager.onKeyPressBound, true); - this.contextmenuHandler = new EventHandler(this.panel.elementTitle, 'contextmenu', this.oncontextMenuClicked.bind(this)); this.resize(this.panel.elementPanel.clientWidth, this.panel.elementPanel.clientHeight); this.isHidden = false; @@ -113,15 +110,12 @@ export class Dialog { this.keyPressHandler.cancel(); delete this.keyPressHandler; } - if (this.contextmenuHandler) { - this.contextmenuHandler.cancel(); - delete this.contextmenuHandler; - } + Utils.removeNode(this.elementDialog); this.draggable.removeDecorator(); Utils.removeNode(this.panel.elementPanel); Utils.arrayRemove(this.dockManager.context.model.dialogs, this); - delete this.panel.floatingDialog; + this.panel.floatingDialog = undefined; if (this.grayoutParent) { this.grayoutParent.grayOut(false); @@ -192,8 +186,8 @@ export class Dialog { result.push(btnCloseDialog); btnCloseDialog.onclick = () => { + dialog.panel.closeContextMenu(); dialog.panel.close(); - dialog.closeContextMenu(); }; if (dialog.dockManager.config.enableBrowserWindows) { @@ -202,55 +196,17 @@ export class Dialog { result.push(btnNewBrowserWindow); btnNewBrowserWindow.onclick = () => { + dialog.panel.closeContextMenu(); dialog.panel.undockToBrowserDialog(); - dialog.closeContextMenu(); }; } return result; } - oncontextMenuClicked(e: MouseEvent) { - e.preventDefault(); - - if (!this._ctxMenu && Dialog.createContextMenuContentCallback) { - const menuItems = Dialog.createContextMenuContentCallback( - this, - this.dockManager.context.model.documentManagerNode.children - ); - - if (menuItems.length == 0) { - return; - } - - this._ctxMenu = document.createElement('div'); - this._ctxMenu.className = 'dockspab-tab-handle-context-menu'; - this._ctxMenu.append(...menuItems); - this._ctxMenu.style.left = e.pageX + "px"; - this._ctxMenu.style.top = e.pageY + "px"; - document.body.appendChild(this._ctxMenu); - this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this) - window.addEventListener('pointerup', this._windowsContextMenuCloseBound); - } else { - this.closeContextMenu(); - } - } - - closeContextMenu() { - if (this._ctxMenu) { - document.body.removeChild(this._ctxMenu); - delete this._ctxMenu; - window.removeEventListener('pointerup', this._windowsContextMenuCloseBound); - } - } - - windowsContextMenuClose(e: Event) { - let cp = e.composedPath(); - for (let i in cp) { - let el = cp[i]; - if (el == this._ctxMenu) - return; - } - this.closeContextMenu(); + public createContextMenuItems(): Node[] { + return Dialog.createContextMenuContentCallback( + this, + this.dockManager.context.model.documentManagerNode.children); } } \ No newline at end of file diff --git a/src/PanelContainer.ts b/src/PanelContainer.ts index 2484fe4..db50eac 100644 --- a/src/PanelContainer.ts +++ b/src/PanelContainer.ts @@ -1,23 +1,24 @@ -import { DockManager } from "./DockManager.js"; -import { Utils } from "./Utils.js"; -import { UndockInitiator } from "./UndockInitiator.js"; +import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js"; import { ContainerType } from "./ContainerType.js"; +import { Dialog } from "./Dialog.js"; +import { DockManager } from "./DockManager.js"; import { EventHandler } from "./EventHandler.js"; -import { ISize } from "./interfaces/ISize.js"; -import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js"; -import { IState } from "./interfaces/IState.js"; import { Point } from "./Point.js"; -import { IDockContainer } from "./interfaces/IDockContainer.js"; -import { PanelType } from "./enums/PanelType.js"; -import { Dialog } from "./Dialog.js"; import { TabPage } from './TabPage.js'; +import { UndockInitiator } from "./UndockInitiator.js"; +import { Utils } from "./Utils.js"; +import { PanelType } from "./enums/PanelType.js"; import { Localizer } from "./i18n/Localizer.js"; -import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js"; +import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js"; +import { IDockContainer } from "./interfaces/IDockContainer.js"; +import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js"; +import { ISize } from "./interfaces/ISize.js"; +import { IState } from "./interfaces/IState.js"; /** * This dock container wraps the specified element on a panel frame with a title bar and close button */ -export class PanelContainer implements IDockContainerWithSize { +export class PanelContainer implements IDockContainerWithSize, IContextMenuProvider { public closePanelContainerCallback: (panelContainer: PanelContainer) => Promise; @@ -60,6 +61,7 @@ export class PanelContainer implements IDockContainerWithSize { _hideCloseButton: boolean; _grayOut: HTMLDivElement; _ctxMenu: HTMLDivElement; + private _contextMenuProvider: IContextMenuProvider; constructor(elementContent: HTMLElement, dockManager: DockManager, title?: string, panelType?: PanelType, hideCloseButton?: boolean) { if (!title) @@ -104,6 +106,7 @@ export class PanelContainer implements IDockContainerWithSize { this._canUndock = dockManager._undockEnabled; this.eventListeners = []; this._hideCloseButton = hideCloseButton; + this._contextMenuProvider = this; this.windowsContextMenuClose = this.windowsContextMenuClose.bind(this); this._initialize(); @@ -162,7 +165,7 @@ export class PanelContainer implements IDockContainerWithSize { this._updateTitle(); this.undockInitiator = new UndockInitiator(this.elementTitle, this.performUndockToDialog.bind(this)); - delete this.floatingDialog; + this.floatingDialog = undefined; this.mouseDownHandler = new EventHandler(this.elementPanel, 'mousedown', this.onMouseDown.bind(this)); this.touchDownHandler = new EventHandler(this.elementPanel, 'touchstart', this.onMouseDown.bind(this), { passive: true }); @@ -190,11 +193,15 @@ export class PanelContainer implements IDockContainerWithSize { return result; } + public createContextMenuItems(): Node[] { + return PanelContainer.createContextMenuContentCallback(this); + } + oncontextMenuClicked(e: MouseEvent) { e.preventDefault(); - if (!this._ctxMenu && PanelContainer.createContextMenuContentCallback) { - const menuItems = PanelContainer.createContextMenuContentCallback(this); + if (!this._ctxMenu) { + const menuItems = this._contextMenuProvider.createContextMenuItems(); if (menuItems.length == 0) { return; @@ -255,6 +262,7 @@ export class PanelContainer implements IDockContainerWithSize { this._floatingDialog = value; let canUndock = (this._floatingDialog === undefined); this.undockInitiator.enabled = canUndock; + this._contextMenuProvider = value ?? this; } static async loadFromState(state: IState, dockManager: DockManager) { diff --git a/src/index.ts b/src/index.ts index a9cec30..bc2cafe 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,6 +3,7 @@ export * from './enums/TabHostDirection.js'; export * from './enums/WheelTypes.js'; export * from './i18n/Defaults.js'; export * from './i18n/Localizer.js'; +export * from './interfaces/IContextMenuProvider.js'; export * from './interfaces/IDockContainer.js'; export * from './interfaces/IDockContainerWithSize.js'; export * from './interfaces/ILayoutEventListener.js'; diff --git a/src/interfaces/IContextMenuProvider.ts b/src/interfaces/IContextMenuProvider.ts new file mode 100644 index 0000000..d7a2697 --- /dev/null +++ b/src/interfaces/IContextMenuProvider.ts @@ -0,0 +1,3 @@ +export interface IContextMenuProvider { + createContextMenuItems(): Node[]; +}