dock-spawn-ts 3.11.2 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/es5/dock-spawn-ts.js +1 -1
- package/lib/js/Dialog.d.ts +7 -11
- package/lib/js/Dialog.js +13 -50
- package/lib/js/Dialog.js.map +1 -1
- package/lib/js/DockLayoutEngine.d.ts +1 -1
- package/lib/js/DockManager.d.ts +8 -8
- package/lib/js/DockManager.js +9 -9
- package/lib/js/DockManager.js.map +1 -1
- package/lib/js/PanelContainer.d.ts +12 -9
- package/lib/js/PanelContainer.js +12 -6
- package/lib/js/PanelContainer.js.map +1 -1
- package/lib/js/ResizableContainer.d.ts +7 -6
- package/lib/js/ResizableContainer.js +25 -10
- package/lib/js/ResizableContainer.js.map +1 -1
- package/lib/js/enums/ResizeDirection.d.ts +17 -0
- package/lib/js/enums/ResizeDirection.js +19 -0
- package/lib/js/enums/ResizeDirection.js.map +1 -0
- package/lib/js/index-min.js +3 -3
- package/lib/js/index-webcomponent-min.js +4 -4
- package/lib/js/index.d.ts +2 -0
- package/lib/js/index.js +2 -0
- package/lib/js/index.js.map +1 -1
- package/lib/js/interfaces/IContextMenuProvider.d.ts +3 -0
- package/lib/js/interfaces/IContextMenuProvider.js +2 -0
- package/lib/js/interfaces/IContextMenuProvider.js.map +1 -0
- package/lib/js/webcomponent/DockSpawnTsWebcomponent.d.ts +5 -5
- package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +6 -6
- package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
- package/package.json +1 -1
- package/src/Dialog.ts +21 -59
- package/src/DockManager.ts +15 -15
- package/src/PanelContainer.ts +22 -14
- package/src/ResizableContainer.ts +37 -15
- package/src/enums/ResizeDirection.ts +17 -0
- package/src/index.ts +2 -0
- package/src/interfaces/IContextMenuProvider.ts +3 -0
- package/src/webcomponent/DockSpawnTsWebcomponent.ts +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockSpawnTsWebcomponent.js","sourceRoot":"","sources":["../../../src/webcomponent/DockSpawnTsWebcomponent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DockSpawnTsWebcomponent.js","sourceRoot":"","sources":["../../../src/webcomponent/DockSpawnTsWebcomponent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Dialog.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { DockManager } from "./DockManager.js";
|
|
2
|
-
import {
|
|
3
|
-
import { PanelContainer } from "./PanelContainer.js";
|
|
2
|
+
import { DockNode } from "./DockNode.js";
|
|
4
3
|
import { DraggableContainer } from "./DraggableContainer.js";
|
|
5
|
-
import { ResizableContainer } from "./ResizableContainer.js";
|
|
6
4
|
import { EventHandler } from "./EventHandler.js";
|
|
5
|
+
import { PanelContainer } from "./PanelContainer.js";
|
|
6
|
+
import { Point } from "./Point.js";
|
|
7
|
+
import { ResizableContainer } from "./ResizableContainer.js";
|
|
7
8
|
import { Utils } from "./Utils.js";
|
|
9
|
+
import { ResizeDirection } from "./enums/ResizeDirection.js";
|
|
8
10
|
import { Localizer } from "./i18n/Localizer.js";
|
|
9
|
-
import {
|
|
11
|
+
import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js";
|
|
10
12
|
|
|
11
|
-
export class Dialog {
|
|
13
|
+
export class Dialog implements IContextMenuProvider {
|
|
12
14
|
elementDialog: HTMLDivElement & { floatingDialog: Dialog };
|
|
13
15
|
draggable: DraggableContainer;
|
|
14
16
|
panel: PanelContainer;
|
|
@@ -24,9 +26,6 @@ export class Dialog {
|
|
|
24
26
|
keyPressHandler: EventHandler;
|
|
25
27
|
focusHandler: EventHandler;
|
|
26
28
|
grayoutParent: PanelContainer;
|
|
27
|
-
contextmenuHandler: EventHandler;
|
|
28
|
-
_ctxMenu: HTMLDivElement;
|
|
29
|
-
_windowsContextMenuCloseBound: any;
|
|
30
29
|
|
|
31
30
|
constructor(panel: PanelContainer, dockManager: DockManager, grayoutParent?: PanelContainer, disableResize?: boolean) {
|
|
32
31
|
this.panel = panel;
|
|
@@ -56,7 +55,12 @@ export class Dialog {
|
|
|
56
55
|
this.elementDialog.tabIndex = 0;
|
|
57
56
|
this.elementDialog.appendChild(this.panel.elementPanel);
|
|
58
57
|
this.draggable = new DraggableContainer(this, this.panel, this.elementDialog, this.panel.elementTitle);
|
|
59
|
-
|
|
58
|
+
|
|
59
|
+
const resizeDirection: ResizeDirection = this.disableResize
|
|
60
|
+
? ResizeDirection.None
|
|
61
|
+
: ResizeDirection.All & ~ResizeDirection.NorthEast;
|
|
62
|
+
|
|
63
|
+
this.resizable = new ResizableContainer(this, this.draggable, this.draggable.topLevelElement, resizeDirection);
|
|
60
64
|
|
|
61
65
|
this.dockManager.config.dialogRootElement.appendChild(this.elementDialog);
|
|
62
66
|
this.elementDialog.classList.add('dialog-floating');
|
|
@@ -64,7 +68,6 @@ export class Dialog {
|
|
|
64
68
|
this.focusHandler = new EventHandler(this.elementDialog, 'focus', this.onFocus.bind(this), true);
|
|
65
69
|
this.mouseDownHandler = new EventHandler(this.elementDialog, 'pointerdown', this.onMouseDown.bind(this), true);
|
|
66
70
|
this.keyPressHandler = new EventHandler(this.elementDialog, 'keypress', this.dockManager.onKeyPressBound, true);
|
|
67
|
-
this.contextmenuHandler = new EventHandler(this.panel.elementTitle, 'contextmenu', this.oncontextMenuClicked.bind(this));
|
|
68
71
|
|
|
69
72
|
this.resize(this.panel.elementPanel.clientWidth, this.panel.elementPanel.clientHeight);
|
|
70
73
|
this.isHidden = false;
|
|
@@ -113,15 +116,12 @@ export class Dialog {
|
|
|
113
116
|
this.keyPressHandler.cancel();
|
|
114
117
|
delete this.keyPressHandler;
|
|
115
118
|
}
|
|
116
|
-
|
|
117
|
-
this.contextmenuHandler.cancel();
|
|
118
|
-
delete this.contextmenuHandler;
|
|
119
|
-
}
|
|
119
|
+
|
|
120
120
|
Utils.removeNode(this.elementDialog);
|
|
121
121
|
this.draggable.removeDecorator();
|
|
122
122
|
Utils.removeNode(this.panel.elementPanel);
|
|
123
123
|
Utils.arrayRemove(this.dockManager.context.model.dialogs, this);
|
|
124
|
-
|
|
124
|
+
this.panel.floatingDialog = undefined;
|
|
125
125
|
|
|
126
126
|
if (this.grayoutParent) {
|
|
127
127
|
this.grayoutParent.grayOut(false);
|
|
@@ -192,8 +192,8 @@ export class Dialog {
|
|
|
192
192
|
result.push(btnCloseDialog);
|
|
193
193
|
|
|
194
194
|
btnCloseDialog.onclick = () => {
|
|
195
|
+
dialog.panel.closeContextMenu();
|
|
195
196
|
dialog.panel.close();
|
|
196
|
-
dialog.closeContextMenu();
|
|
197
197
|
};
|
|
198
198
|
|
|
199
199
|
if (dialog.dockManager.config.enableBrowserWindows) {
|
|
@@ -202,55 +202,17 @@ export class Dialog {
|
|
|
202
202
|
result.push(btnNewBrowserWindow);
|
|
203
203
|
|
|
204
204
|
btnNewBrowserWindow.onclick = () => {
|
|
205
|
+
dialog.panel.closeContextMenu();
|
|
205
206
|
dialog.panel.undockToBrowserDialog();
|
|
206
|
-
dialog.closeContextMenu();
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
return result;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const menuItems = Dialog.createContextMenuContentCallback(
|
|
218
|
-
this,
|
|
219
|
-
this.dockManager.context.model.documentManagerNode.children
|
|
220
|
-
);
|
|
221
|
-
|
|
222
|
-
if (menuItems.length == 0) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
this._ctxMenu = document.createElement('div');
|
|
227
|
-
this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
|
|
228
|
-
this._ctxMenu.append(...menuItems);
|
|
229
|
-
this._ctxMenu.style.left = e.pageX + "px";
|
|
230
|
-
this._ctxMenu.style.top = e.pageY + "px";
|
|
231
|
-
document.body.appendChild(this._ctxMenu);
|
|
232
|
-
this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this)
|
|
233
|
-
window.addEventListener('pointerup', this._windowsContextMenuCloseBound);
|
|
234
|
-
} else {
|
|
235
|
-
this.closeContextMenu();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
closeContextMenu() {
|
|
240
|
-
if (this._ctxMenu) {
|
|
241
|
-
document.body.removeChild(this._ctxMenu);
|
|
242
|
-
delete this._ctxMenu;
|
|
243
|
-
window.removeEventListener('pointerup', this._windowsContextMenuCloseBound);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
windowsContextMenuClose(e: Event) {
|
|
248
|
-
let cp = e.composedPath();
|
|
249
|
-
for (let i in cp) {
|
|
250
|
-
let el = cp[i];
|
|
251
|
-
if (el == this._ctxMenu)
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
this.closeContextMenu();
|
|
213
|
+
public createContextMenuItems(): Node[] {
|
|
214
|
+
return Dialog.createContextMenuContentCallback(
|
|
215
|
+
this,
|
|
216
|
+
this.dockManager.context.model.documentManagerNode.children);
|
|
255
217
|
}
|
|
256
218
|
}
|
package/src/DockManager.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Dialog } from "./Dialog.js";
|
|
2
|
+
import { DockConfig } from "./DockConfig.js";
|
|
3
|
+
import { DockGraphDeserializer } from "./DockGraphDeserializer.js";
|
|
4
|
+
import { DockGraphSerializer } from "./DockGraphSerializer.js";
|
|
5
|
+
import { DockLayoutEngine } from "./DockLayoutEngine.js";
|
|
4
6
|
import { DockManagerContext } from "./DockManagerContext.js";
|
|
7
|
+
import { DockModel } from "./DockModel.js";
|
|
5
8
|
import { DockNode } from "./DockNode.js";
|
|
6
|
-
import {
|
|
9
|
+
import { DockWheel } from "./DockWheel.js";
|
|
10
|
+
import { PanelType } from "./enums/PanelType.js";
|
|
7
11
|
import { EventHandler } from "./EventHandler.js";
|
|
8
|
-
import { Dialog } from "./Dialog.js";
|
|
9
|
-
import { DockGraphSerializer } from "./DockGraphSerializer.js";
|
|
10
|
-
import { DockGraphDeserializer } from "./DockGraphDeserializer.js";
|
|
11
|
-
import { IDockContainer } from "./interfaces/IDockContainer.js";
|
|
12
|
-
import { TabPage } from "./TabPage.js";
|
|
13
|
-
import { SplitterDockContainer } from "./SplitterDockContainer.js";
|
|
14
|
-
import { PanelContainer } from "./PanelContainer.js";
|
|
15
12
|
import { FillDockContainer } from "./FillDockContainer.js";
|
|
16
|
-
import {
|
|
17
|
-
import { DockModel } from "./DockModel.js";
|
|
13
|
+
import { IDockContainer } from "./interfaces/IDockContainer.js";
|
|
18
14
|
import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js";
|
|
19
|
-
import {
|
|
20
|
-
import { PanelType } from "./enums/PanelType.js";
|
|
15
|
+
import { ILayoutEventListener } from "./interfaces/ILayoutEventListener.js";
|
|
21
16
|
import { IState } from "./interfaces/IState.js";
|
|
17
|
+
import { PanelContainer } from "./PanelContainer.js";
|
|
18
|
+
import { Point } from "./Point.js";
|
|
19
|
+
import { SplitterDockContainer } from "./SplitterDockContainer.js";
|
|
20
|
+
import { TabPage } from "./TabPage.js";
|
|
21
|
+
import { Utils } from "./Utils.js";
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Dock manager manages all the dock panels in a hierarchy, similar to visual studio.
|
package/src/PanelContainer.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Utils } from "./Utils.js";
|
|
3
|
-
import { UndockInitiator } from "./UndockInitiator.js";
|
|
1
|
+
import { moveElementToNewBrowserWindow } from "./BrowserDialogHelper.js";
|
|
4
2
|
import { ContainerType } from "./ContainerType.js";
|
|
3
|
+
import { Dialog } from "./Dialog.js";
|
|
4
|
+
import { DockManager } from "./DockManager.js";
|
|
5
5
|
import { EventHandler } from "./EventHandler.js";
|
|
6
|
-
import { ISize } from "./interfaces/ISize.js";
|
|
7
|
-
import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js";
|
|
8
|
-
import { IState } from "./interfaces/IState.js";
|
|
9
6
|
import { Point } from "./Point.js";
|
|
10
|
-
import { IDockContainer } from "./interfaces/IDockContainer.js";
|
|
11
|
-
import { PanelType } from "./enums/PanelType.js";
|
|
12
|
-
import { Dialog } from "./Dialog.js";
|
|
13
7
|
import { TabPage } from './TabPage.js';
|
|
8
|
+
import { UndockInitiator } from "./UndockInitiator.js";
|
|
9
|
+
import { Utils } from "./Utils.js";
|
|
10
|
+
import { PanelType } from "./enums/PanelType.js";
|
|
14
11
|
import { Localizer } from "./i18n/Localizer.js";
|
|
15
|
-
import {
|
|
12
|
+
import { IContextMenuProvider } from "./interfaces/IContextMenuProvider.js";
|
|
13
|
+
import { IDockContainer } from "./interfaces/IDockContainer.js";
|
|
14
|
+
import { IDockContainerWithSize } from "./interfaces/IDockContainerWithSize.js";
|
|
15
|
+
import { ISize } from "./interfaces/ISize.js";
|
|
16
|
+
import { IState } from "./interfaces/IState.js";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* This dock container wraps the specified element on a panel frame with a title bar and close button
|
|
19
20
|
*/
|
|
20
|
-
export class PanelContainer implements IDockContainerWithSize {
|
|
21
|
+
export class PanelContainer implements IDockContainerWithSize, IContextMenuProvider {
|
|
21
22
|
|
|
22
23
|
public closePanelContainerCallback: (panelContainer: PanelContainer) => Promise<boolean>;
|
|
23
24
|
|
|
@@ -60,6 +61,7 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
60
61
|
_hideCloseButton: boolean;
|
|
61
62
|
_grayOut: HTMLDivElement;
|
|
62
63
|
_ctxMenu: HTMLDivElement;
|
|
64
|
+
private _contextMenuProvider: IContextMenuProvider;
|
|
63
65
|
|
|
64
66
|
constructor(elementContent: HTMLElement, dockManager: DockManager, title?: string, panelType?: PanelType, hideCloseButton?: boolean) {
|
|
65
67
|
if (!title)
|
|
@@ -104,6 +106,7 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
104
106
|
this._canUndock = dockManager._undockEnabled;
|
|
105
107
|
this.eventListeners = [];
|
|
106
108
|
this._hideCloseButton = hideCloseButton;
|
|
109
|
+
this._contextMenuProvider = this;
|
|
107
110
|
this.windowsContextMenuClose = this.windowsContextMenuClose.bind(this);
|
|
108
111
|
|
|
109
112
|
this._initialize();
|
|
@@ -162,7 +165,7 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
162
165
|
this._updateTitle();
|
|
163
166
|
|
|
164
167
|
this.undockInitiator = new UndockInitiator(this.elementTitle, this.performUndockToDialog.bind(this));
|
|
165
|
-
|
|
168
|
+
this.floatingDialog = undefined;
|
|
166
169
|
|
|
167
170
|
this.mouseDownHandler = new EventHandler(this.elementPanel, 'mousedown', this.onMouseDown.bind(this));
|
|
168
171
|
this.touchDownHandler = new EventHandler(this.elementPanel, 'touchstart', this.onMouseDown.bind(this), { passive: true });
|
|
@@ -190,11 +193,15 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
190
193
|
return result;
|
|
191
194
|
}
|
|
192
195
|
|
|
196
|
+
public createContextMenuItems(): Node[] {
|
|
197
|
+
return PanelContainer.createContextMenuContentCallback(this);
|
|
198
|
+
}
|
|
199
|
+
|
|
193
200
|
oncontextMenuClicked(e: MouseEvent) {
|
|
194
201
|
e.preventDefault();
|
|
195
202
|
|
|
196
|
-
if (!this._ctxMenu
|
|
197
|
-
const menuItems =
|
|
203
|
+
if (!this._ctxMenu) {
|
|
204
|
+
const menuItems = this._contextMenuProvider.createContextMenuItems();
|
|
198
205
|
|
|
199
206
|
if (menuItems.length == 0) {
|
|
200
207
|
return;
|
|
@@ -255,6 +262,7 @@ export class PanelContainer implements IDockContainerWithSize {
|
|
|
255
262
|
this._floatingDialog = value;
|
|
256
263
|
let canUndock = (this._floatingDialog === undefined);
|
|
257
264
|
this.undockInitiator.enabled = canUndock;
|
|
265
|
+
this._contextMenuProvider = value ?? this;
|
|
258
266
|
}
|
|
259
267
|
|
|
260
268
|
static async loadFromState(state: IState, dockManager: DockManager) {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { ContainerType } from "./ContainerType.js";
|
|
1
2
|
import { Dialog } from "./Dialog.js";
|
|
2
|
-
import { ResizeHandle } from "./ResizeHandle.js";
|
|
3
|
-
import { EventHandler } from "./EventHandler.js";
|
|
4
3
|
import { DockManager } from "./DockManager.js";
|
|
5
|
-
import {
|
|
6
|
-
import { ContainerType } from "./ContainerType.js";
|
|
4
|
+
import { EventHandler } from "./EventHandler.js";
|
|
7
5
|
import { Point } from "./Point.js";
|
|
6
|
+
import { ResizeHandle } from "./ResizeHandle.js";
|
|
8
7
|
import { Utils } from "./Utils.js";
|
|
9
|
-
import {
|
|
8
|
+
import { ResizeDirection } from "./enums/ResizeDirection.js";
|
|
9
|
+
import { IDockContainer } from "./interfaces/IDockContainer.js";
|
|
10
10
|
import { IState } from "./interfaces/IState.js";
|
|
11
|
+
import { IThickness } from "./interfaces/IThickness.js";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Decorates a dock container with resizer handles around its base element
|
|
@@ -27,11 +28,11 @@ export class ResizableContainer implements IDockContainer {
|
|
|
27
28
|
resizeHandles: ResizeHandle[];
|
|
28
29
|
previousMousePosition: Point;
|
|
29
30
|
private iframeEventHandlers: EventHandler[];
|
|
30
|
-
private
|
|
31
|
+
private resizeDirection: ResizeDirection;
|
|
31
32
|
|
|
32
|
-
constructor(dialog: Dialog, delegate: IDockContainer, topLevelElement: HTMLElement,
|
|
33
|
+
constructor(dialog: Dialog, delegate: IDockContainer, topLevelElement: HTMLElement, resizeDirection: ResizeDirection) {
|
|
33
34
|
this.dialog = dialog;
|
|
34
|
-
this.
|
|
35
|
+
this.resizeDirection = resizeDirection;
|
|
35
36
|
this.delegate = delegate;
|
|
36
37
|
this.containerElement = delegate.containerElement;
|
|
37
38
|
this.dockManager = delegate.dockManager;
|
|
@@ -51,17 +52,38 @@ export class ResizableContainer implements IDockContainer {
|
|
|
51
52
|
|
|
52
53
|
_buildResizeHandles() {
|
|
53
54
|
this.resizeHandles = [];
|
|
54
|
-
// this._buildResizeHandle(true, false, true, false); // Dont need the corner resizer near the close button
|
|
55
|
-
if (!this.disableResize) {
|
|
56
|
-
this._buildResizeHandle(false, true, true, false);
|
|
57
|
-
this._buildResizeHandle(true, false, false, true);
|
|
58
|
-
this._buildResizeHandle(false, true, false, true);
|
|
59
55
|
|
|
60
|
-
|
|
61
|
-
this._buildResizeHandle(false, true, false, false);
|
|
56
|
+
if (this.resizeDirection & ResizeDirection.North) {
|
|
62
57
|
this._buildResizeHandle(false, false, true, false);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (this.resizeDirection & ResizeDirection.East) {
|
|
61
|
+
this._buildResizeHandle(true, false, false, false);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (this.resizeDirection & ResizeDirection.South) {
|
|
63
65
|
this._buildResizeHandle(false, false, false, true);
|
|
64
66
|
}
|
|
67
|
+
|
|
68
|
+
if (this.resizeDirection & ResizeDirection.West) {
|
|
69
|
+
this._buildResizeHandle(false, true, false, false);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (this.resizeDirection & ResizeDirection.NorthWest) {
|
|
73
|
+
this._buildResizeHandle(false, true, true, false);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (this.resizeDirection & ResizeDirection.NorthEast) {
|
|
77
|
+
this._buildResizeHandle(true, false, true, false);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (this.resizeDirection & ResizeDirection.SouthEast) {
|
|
81
|
+
this._buildResizeHandle(true, false, false, true);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (this.resizeDirection & ResizeDirection.SouthWest) {
|
|
85
|
+
this._buildResizeHandle(false, true, false, true);
|
|
86
|
+
}
|
|
65
87
|
}
|
|
66
88
|
|
|
67
89
|
_buildResizeHandle(east: boolean, west: boolean, north: boolean, south: boolean) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bit flags describing the allowed resizing direction of a dialog
|
|
3
|
+
*/
|
|
4
|
+
export enum ResizeDirection {
|
|
5
|
+
None = 0,
|
|
6
|
+
North = 1,
|
|
7
|
+
NorthEast = 2,
|
|
8
|
+
East = 4,
|
|
9
|
+
SouthEast = 8,
|
|
10
|
+
South = 16,
|
|
11
|
+
SouthWest = 32,
|
|
12
|
+
West = 64,
|
|
13
|
+
NorthWest = 128,
|
|
14
|
+
Sides = North | South | East | West,
|
|
15
|
+
Angles = NorthEast | SouthEast | SouthWest | NorthWest,
|
|
16
|
+
All = North | South | East | West | NorthEast | NorthWest | SouthEast | SouthWest
|
|
17
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from './enums/PanelType.js';
|
|
2
|
+
export * from './enums/ResizeDirection.js';
|
|
2
3
|
export * from './enums/TabHostDirection.js';
|
|
3
4
|
export * from './enums/WheelTypes.js';
|
|
4
5
|
export * from './i18n/Defaults.js';
|
|
5
6
|
export * from './i18n/Localizer.js';
|
|
7
|
+
export * from './interfaces/IContextMenuProvider.js';
|
|
6
8
|
export * from './interfaces/IDockContainer.js';
|
|
7
9
|
export * from './interfaces/IDockContainerWithSize.js';
|
|
8
10
|
export * from './interfaces/ILayoutEventListener.js';
|
|
@@ -181,33 +181,33 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
|
|
|
181
181
|
|
|
182
182
|
dockFill(element: HTMLElement, panelType?: PanelType, dockNode?: DockNode, title?: string, hideCloseButton?: boolean) {
|
|
183
183
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
184
|
-
this.dockManager.dockFill(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container);
|
|
184
|
+
return this.dockManager.dockFill(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
dockLeft(element: HTMLElement, panelType?: PanelType, dockNode?: DockNode, ratio?: number, title?: string, hideCloseButton?: boolean) {
|
|
188
188
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
189
|
-
this.dockManager.dockLeft(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
189
|
+
return this.dockManager.dockLeft(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
dockRight(element: HTMLElement, panelType?: PanelType, dockNode?: DockNode, ratio?: number, title?: string, hideCloseButton?: boolean) {
|
|
193
193
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
194
|
-
this.dockManager.dockRight(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
194
|
+
return this.dockManager.dockRight(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
dockUp(element: HTMLElement, panelType?: PanelType, dockNode?: DockNode, ratio?: number, title?: string, hideCloseButton?: boolean) {
|
|
198
198
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
199
|
-
this.dockManager.dockUp(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
199
|
+
return this.dockManager.dockUp(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
dockDown(element: HTMLElement, panelType?: PanelType, dockNode?: DockNode, ratio?: number, title?: string, hideCloseButton?: boolean) {
|
|
203
203
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
204
|
-
this.dockManager.dockDown(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
204
|
+
return this.dockManager.dockDown(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
floatDialog(element: HTMLElement, x: number, y: number, width: number, height: number, panelType?: PanelType, title?: string, hideCloseButton?: boolean) {
|
|
208
208
|
let container = new PanelContainer(element as HTMLElement, this.dockManager, title, panelType, hideCloseButton);
|
|
209
209
|
let dlg = this.dockManager.floatDialog(container, x, y, null);
|
|
210
|
-
dlg.resize(width, height);
|
|
210
|
+
return dlg.resize(width, height);
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|