dock-spawn-ts 3.0.2 → 3.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"TabHandle.js","sourceRoot":"","sources":["../../src/TabHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabHandle.js","sourceRoot":"","sources":["../../src/TabHandle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dock-spawn-ts",
3
- "version": "3.0.2",
3
+ "version": "3.2.0",
4
4
  "description": "DockSpawn Typescript Version",
5
5
  "license": "MIT",
6
6
  "author": "jochen.kuehner@gmx.de",
@@ -10,10 +10,10 @@
10
10
  "start": "http-server"
11
11
  },
12
12
  "devDependencies": {
13
- "@babel/cli": "^7.24.1",
14
- "@babel/core": "^7.24.4",
15
- "@babel/preset-env": "^7.24.4",
16
- "@types/node": "^20.12.7",
13
+ "@babel/cli": "^7.24.5",
14
+ "@babel/core": "^7.24.5",
15
+ "@babel/preset-env": "^7.24.5",
16
+ "@types/node": "^20.12.8",
17
17
  "http-server": "^14.1.1",
18
18
  "typescript": "^5.4.5",
19
19
  "uglify-js": "^3.17.4",
package/src/Dialog.ts CHANGED
@@ -180,49 +180,57 @@ export class Dialog {
180
180
  }
181
181
  }
182
182
 
183
- static createContextMenuContentCallback = (dialog: Dialog, contextMenuContainer: HTMLDivElement, documentMangerNodes: DockNode[]) => {
183
+ static createContextMenuContentCallback = (dialog: Dialog, documentMangerNodes: DockNode[]): Node[] => {
184
184
  if (!dialog.panel._hideCloseButton) {
185
- let btnCloseDialog = document.createElement('div');
186
- btnCloseDialog.innerText = Localizer.getString('CloseDialog');
187
- contextMenuContainer.append(btnCloseDialog);
185
+ return [];
186
+ }
188
187
 
189
- btnCloseDialog.onclick = () => {
190
- dialog.panel.close();
191
- dialog.closeContextMenu();
192
- };
188
+ const result = [];
189
+
190
+ let btnCloseDialog = document.createElement('div');
191
+ btnCloseDialog.innerText = Localizer.getString('CloseDialog');
192
+ result.push(btnCloseDialog);
193
193
 
194
+ btnCloseDialog.onclick = () => {
195
+ dialog.panel.close();
196
+ dialog.closeContextMenu();
197
+ };
198
+
199
+ if (dialog.dockManager.config.enableBrowserWindows) {
194
200
  let btnNewBrowserWindow = document.createElement('div');
195
201
  btnNewBrowserWindow.innerText = Localizer.getString('NewBrowserWindow');
196
- contextMenuContainer.append(btnNewBrowserWindow);
202
+ result.push(btnNewBrowserWindow);
197
203
 
198
204
  btnNewBrowserWindow.onclick = () => {
199
205
  dialog.panel.undockToBrowserDialog();
200
206
  dialog.closeContextMenu();
201
207
  };
202
-
203
- return true;
204
- } else {
205
- return false;
206
208
  }
209
+
210
+ return result;
207
211
  }
208
212
 
209
213
  oncontextMenuClicked(e: MouseEvent) {
210
214
  e.preventDefault();
211
215
 
212
216
  if (!this._ctxMenu && Dialog.createContextMenuContentCallback) {
213
- this._ctxMenu = document.createElement('div');
214
- this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
217
+ const menuItems = Dialog.createContextMenuContentCallback(
218
+ this,
219
+ this.dockManager.context.model.documentManagerNode.children
220
+ );
215
221
 
216
- let res = Dialog.createContextMenuContentCallback(this, this._ctxMenu, this.dockManager.context.model.documentManagerNode.children);
217
- if (res !== false) {
218
- this._ctxMenu.style.left = e.pageX + "px";
219
- this._ctxMenu.style.top = e.pageY + "px";
220
- document.body.appendChild(this._ctxMenu);
221
- this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this)
222
- window.addEventListener('pointerup', this._windowsContextMenuCloseBound);
223
- } else {
224
- this._ctxMenu = null;
222
+ if (menuItems.length == 0) {
223
+ return;
225
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);
226
234
  } else {
227
235
  this.closeContextMenu();
228
236
  }
package/src/DockConfig.ts CHANGED
@@ -4,10 +4,12 @@ export class DockConfig {
4
4
  this.escClosesDialog = true;
5
5
  this.dialogRootElement = document.body;
6
6
  this.moveOnlyWithinDockConatiner = false;
7
+ this.enableBrowserWindows = true;
7
8
  }
8
9
 
9
10
  escClosesWindow?: boolean;
10
11
  escClosesDialog?: boolean;
11
12
  dialogRootElement: HTMLElement;
12
- moveOnlyWithinDockConatiner?: boolean
13
+ moveOnlyWithinDockConatiner?: boolean;
14
+ enableBrowserWindows?: boolean;
13
15
  }
package/src/Exports.ts CHANGED
@@ -27,4 +27,5 @@ export * from './TabHost.js';
27
27
  export * from './TabPage.js';
28
28
  export * from './UndockInitiator.js';
29
29
  export * from './Utils.js';
30
- export * from './VerticalDockContainer.js';
30
+ export * from './VerticalDockContainer.js';
31
+ export * from './i18n/Localizer.js';
@@ -49,6 +49,7 @@ export class PanelContainer implements IDockContainerWithSize {
49
49
  panelType: PanelType;
50
50
  tabPage?: TabPage;
51
51
  undockedToNewBrowserWindow = false;
52
+ contextMenuHandler: EventHandler;
52
53
 
53
54
  lastDialogSize?: ISize;
54
55
 
@@ -58,6 +59,7 @@ export class PanelContainer implements IDockContainerWithSize {
58
59
  _cachedHeight: number;
59
60
  _hideCloseButton: boolean;
60
61
  _grayOut: HTMLDivElement;
62
+ _ctxMenu: HTMLDivElement;
61
63
 
62
64
  constructor(elementContent: HTMLElement, dockManager: DockManager, title?: string, panelType?: PanelType, hideCloseButton?: boolean) {
63
65
  if (!title)
@@ -102,9 +104,132 @@ export class PanelContainer implements IDockContainerWithSize {
102
104
  this._canUndock = dockManager._undockEnabled;
103
105
  this.eventListeners = [];
104
106
  this._hideCloseButton = hideCloseButton;
107
+ this.windowsContextMenuClose = this.windowsContextMenuClose.bind(this);
108
+
105
109
  this._initialize();
106
110
  }
107
111
 
112
+ _initialize() {
113
+ this.name = Utils.getNextId('panel_');
114
+ this.elementPanel = document.createElement('div');
115
+ this.elementPanel.tabIndex = 0;
116
+ this.elementTitle = document.createElement('div');
117
+ this.contextMenuHandler = new EventHandler(this.elementTitle, 'contextmenu', this.oncontextMenuClicked.bind(this));
118
+
119
+ this.elementTitleText = document.createElement('div');
120
+ this.elementContentHost = document.createElement('div');
121
+ this.elementButtonClose = document.createElement('div');
122
+
123
+ this.elementPanel.appendChild(this.elementTitle);
124
+ this.elementTitle.appendChild(this.elementTitleText);
125
+ this.elementTitle.appendChild(this.elementButtonClose);
126
+ this.elementButtonClose.classList.add('panel-titlebar-button-close');
127
+ this.elementButtonClose.style.display = this._hideCloseButton ? 'none' : 'block';
128
+
129
+ this.elementPanel.appendChild(this.elementContentHost);
130
+
131
+ this.elementPanel.classList.add('panel-base');
132
+ this.elementTitle.classList.add('panel-titlebar');
133
+ this.elementTitle.classList.add('disable-selection');
134
+ this.elementTitleText.classList.add('panel-titlebar-text');
135
+ this.elementContentHost.classList.add('panel-content');
136
+
137
+ // set the size of the dialog elements based on the panel's size
138
+ let panelWidth = this.elementContentContainer.clientWidth;
139
+ let panelHeight = this.elementContentContainer.clientHeight;
140
+ let titleHeight = this.elementTitle.clientHeight;
141
+
142
+ this.elementContentWrapper = document.createElement("div");
143
+ this.elementContentWrapper.classList.add('panel-content-wrapper');
144
+
145
+ this._setPanelDimensions(panelWidth, panelHeight + titleHeight);
146
+
147
+ if (!this._hideCloseButton) {
148
+ this.closeButtonClickedHandler =
149
+ new EventHandler(this.elementButtonClose, 'mousedown', this.onCloseButtonClicked.bind(this));
150
+ this.closeButtonTouchedHandler =
151
+ new EventHandler(this.elementButtonClose, 'touchstart', this.onCloseButtonClicked.bind(this));
152
+ }
153
+
154
+ Utils.removeNode(this.elementContentWrapper);
155
+ this.elementContentHost.appendChild(this.elementContentWrapper);
156
+
157
+ // Extract the title from the content element's attribute
158
+ let contentTitle = this.elementContent.dataset.panelCaption;
159
+ let contentIcon = this.elementContent.dataset.panelIcon;
160
+ if (contentTitle) this.title = contentTitle;
161
+ if (contentIcon) this.icon = contentIcon;
162
+ this._updateTitle();
163
+
164
+ this.undockInitiator = new UndockInitiator(this.elementTitle, this.performUndockToDialog.bind(this));
165
+ delete this.floatingDialog;
166
+
167
+ this.mouseDownHandler = new EventHandler(this.elementPanel, 'mousedown', this.onMouseDown.bind(this));
168
+ this.touchDownHandler = new EventHandler(this.elementPanel, 'touchstart', this.onMouseDown.bind(this), { passive: true });
169
+
170
+ this._resolvedElementContent = this.elementContent;
171
+ if (this.elementContent instanceof HTMLSlotElement) {
172
+ this._resolvedElementContent = <HTMLElement>this.elementContent.assignedElements()?.[0];
173
+ }
174
+ }
175
+
176
+ static createContextMenuContentCallback = (panelContainer: PanelContainer): Node[] => {
177
+ const result = [];
178
+
179
+ if (panelContainer.dockManager.config.enableBrowserWindows) {
180
+ let btnNewBrowserWindow = document.createElement('div');
181
+ btnNewBrowserWindow.innerText = Localizer.getString('NewBrowserWindow');
182
+ result.push(btnNewBrowserWindow);
183
+
184
+ btnNewBrowserWindow.onclick = () => {
185
+ panelContainer.undockToBrowserDialog();
186
+ panelContainer.closeContextMenu();
187
+ };
188
+ }
189
+
190
+ return result;
191
+ }
192
+
193
+ oncontextMenuClicked(e: MouseEvent) {
194
+ e.preventDefault();
195
+
196
+ if (!this._ctxMenu && PanelContainer.createContextMenuContentCallback) {
197
+ const menuItems = PanelContainer.createContextMenuContentCallback(this);
198
+
199
+ if (menuItems.length == 0) {
200
+ return;
201
+ }
202
+
203
+ this._ctxMenu = document.createElement('div');
204
+ this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
205
+ this._ctxMenu.append(...menuItems);
206
+ this._ctxMenu.style.left = e.pageX + "px";
207
+ this._ctxMenu.style.top = e.pageY + "px";
208
+ document.body.appendChild(this._ctxMenu);
209
+ window.addEventListener('mouseup', this.windowsContextMenuClose);
210
+ } else {
211
+ this.closeContextMenu();
212
+ }
213
+ }
214
+
215
+ closeContextMenu() {
216
+ if (this._ctxMenu) {
217
+ document.body.removeChild(this._ctxMenu);
218
+ delete this._ctxMenu;
219
+ window.removeEventListener('mouseup', this.windowsContextMenuClose);
220
+ }
221
+ }
222
+
223
+ windowsContextMenuClose(e: Event) {
224
+ let cp = e.composedPath();
225
+ for (let i in cp) {
226
+ let el = cp[i];
227
+ if (el == this._ctxMenu)
228
+ return;
229
+ }
230
+ this.closeContextMenu();
231
+ }
232
+
108
233
  canUndock(state: boolean) {
109
234
  this._canUndock = state;
110
235
  this.undockInitiator.enabled = state;
@@ -202,68 +327,6 @@ export class PanelContainer implements IDockContainerWithSize {
202
327
  }
203
328
  }
204
329
 
205
- _initialize() {
206
- this.name = Utils.getNextId('panel_');
207
- this.elementPanel = document.createElement('div');
208
- this.elementPanel.tabIndex = 0;
209
- this.elementTitle = document.createElement('div');
210
- this.elementTitleText = document.createElement('div');
211
- this.elementContentHost = document.createElement('div');
212
- this.elementButtonClose = document.createElement('div');
213
-
214
- this.elementPanel.appendChild(this.elementTitle);
215
- this.elementTitle.appendChild(this.elementTitleText);
216
- this.elementTitle.appendChild(this.elementButtonClose);
217
- this.elementButtonClose.classList.add('panel-titlebar-button-close');
218
- this.elementButtonClose.style.display = this._hideCloseButton ? 'none' : 'block';
219
-
220
- this.elementPanel.appendChild(this.elementContentHost);
221
-
222
- this.elementPanel.classList.add('panel-base');
223
- this.elementTitle.classList.add('panel-titlebar');
224
- this.elementTitle.classList.add('disable-selection');
225
- this.elementTitleText.classList.add('panel-titlebar-text');
226
- this.elementContentHost.classList.add('panel-content');
227
-
228
- // set the size of the dialog elements based on the panel's size
229
- let panelWidth = this.elementContentContainer.clientWidth;
230
- let panelHeight = this.elementContentContainer.clientHeight;
231
- let titleHeight = this.elementTitle.clientHeight;
232
-
233
- this.elementContentWrapper = document.createElement("div");
234
- this.elementContentWrapper.classList.add('panel-content-wrapper');
235
-
236
- this._setPanelDimensions(panelWidth, panelHeight + titleHeight);
237
-
238
- if (!this._hideCloseButton) {
239
- this.closeButtonClickedHandler =
240
- new EventHandler(this.elementButtonClose, 'mousedown', this.onCloseButtonClicked.bind(this));
241
- this.closeButtonTouchedHandler =
242
- new EventHandler(this.elementButtonClose, 'touchstart', this.onCloseButtonClicked.bind(this));
243
- }
244
-
245
- Utils.removeNode(this.elementContentWrapper);
246
- this.elementContentHost.appendChild(this.elementContentWrapper);
247
-
248
- // Extract the title from the content element's attribute
249
- let contentTitle = this.elementContent.dataset.panelCaption;
250
- let contentIcon = this.elementContent.dataset.panelIcon;
251
- if (contentTitle) this.title = contentTitle;
252
- if (contentIcon) this.icon = contentIcon;
253
- this._updateTitle();
254
-
255
- this.undockInitiator = new UndockInitiator(this.elementTitle, this.performUndockToDialog.bind(this));
256
- delete this.floatingDialog;
257
-
258
- this.mouseDownHandler = new EventHandler(this.elementPanel, 'mousedown', this.onMouseDown.bind(this));
259
- this.touchDownHandler = new EventHandler(this.elementPanel, 'touchstart', this.onMouseDown.bind(this), { passive: true });
260
-
261
- this._resolvedElementContent = this.elementContent;
262
- if (this.elementContent instanceof HTMLSlotElement) {
263
- this._resolvedElementContent = <HTMLElement>this.elementContent.assignedElements()?.[0];
264
- }
265
- }
266
-
267
330
  onMouseDown() {
268
331
  this.dockManager.activePanel = this;
269
332
  }
@@ -287,6 +350,9 @@ export class PanelContainer implements IDockContainerWithSize {
287
350
  this.touchDownHandler.cancel();
288
351
  delete this.touchDownHandler;
289
352
  }
353
+ if (this.contextMenuHandler) {
354
+ this.contextMenuHandler.cancel();
355
+ }
290
356
 
291
357
  Utils.removeNode(this.elementPanel);
292
358
  if (this.closeButtonClickedHandler) {
package/src/TabHandle.ts CHANGED
@@ -80,6 +80,7 @@ export class TabHandle {
80
80
  this.contextMenuHandler = new EventHandler(this.elementBase, 'contextmenu', this.oncontextMenuClicked.bind(this));
81
81
  }
82
82
 
83
+ this.windowsContextMenuClose = this.windowsContextMenuClose.bind(this);
83
84
  //this.zIndexCounter = parent.host.dockManager.zIndexTabHandle;
84
85
  }
85
86
 
@@ -95,10 +96,12 @@ export class TabHandle {
95
96
  this.undockInitiator.enabled = state;
96
97
  }
97
98
 
98
- static createContextMenuContentCallback = (tabHandle: TabHandle, contextMenuContainer: HTMLDivElement, documentMangerNodes: DockNode[]) => {
99
+ static createContextMenuContentCallback = (tabHandle: TabHandle, documentMangerNodes: DockNode[]): Node[] => {
100
+ const result = [];
101
+
99
102
  let btnCloseAll = document.createElement('div');
100
103
  btnCloseAll.innerText = Localizer.getString('CloseAll');
101
- contextMenuContainer.append(btnCloseAll);
104
+ result.push(btnCloseAll);
102
105
 
103
106
  btnCloseAll.onclick = () => {
104
107
  let length = documentMangerNodes.length;
@@ -112,7 +115,7 @@ export class TabHandle {
112
115
 
113
116
  let btnCloseAllButThis = document.createElement('div');
114
117
  btnCloseAllButThis.innerText = Localizer.getString('CloseAllButThis');
115
- contextMenuContainer.append(btnCloseAllButThis);
118
+ result.push(btnCloseAllButThis);
116
119
 
117
120
  btnCloseAllButThis.onclick = () => {
118
121
  let length = documentMangerNodes.length;
@@ -123,31 +126,43 @@ export class TabHandle {
123
126
  }
124
127
  tabHandle.closeContextMenu();
125
128
  };
126
-
127
- let btnNewBrowserWindow = document.createElement('div');
128
- btnNewBrowserWindow.innerText = Localizer.getString('NewBrowserWindow');
129
- contextMenuContainer.append(btnNewBrowserWindow);
130
129
 
131
- btnNewBrowserWindow.onclick = () => {
132
- (<PanelContainer>tabHandle.parent.container).undockToBrowserDialog();
133
- tabHandle.closeContextMenu();
134
- };
130
+ console.log(tabHandle.parent.container.dockManager.config.enableBrowserWindows);
131
+
132
+ if (tabHandle.parent.container.dockManager.config.enableBrowserWindows) {
133
+ let btnNewBrowserWindow = document.createElement('div');
134
+ btnNewBrowserWindow.innerText = Localizer.getString('NewBrowserWindow');
135
+ result.push(btnNewBrowserWindow);
136
+
137
+ btnNewBrowserWindow.onclick = () => {
138
+ (<PanelContainer>tabHandle.parent.container).undockToBrowserDialog();
139
+ tabHandle.closeContextMenu();
140
+ };
141
+ }
142
+
143
+ return result;
135
144
  }
136
145
 
137
146
  oncontextMenuClicked(e: MouseEvent) {
138
147
  e.preventDefault();
139
148
 
140
149
  if (!this._ctxMenu && TabHandle.createContextMenuContentCallback) {
150
+ const menuItems = TabHandle.createContextMenuContentCallback(
151
+ this,
152
+ this.parent.container.dockManager.context.model.documentManagerNode.children
153
+ );
154
+
155
+ if (menuItems.length == 0) {
156
+ return;
157
+ }
158
+
141
159
  this._ctxMenu = document.createElement('div');
142
160
  this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
143
-
144
- TabHandle.createContextMenuContentCallback(this, this._ctxMenu, this.parent.container.dockManager.context.model.documentManagerNode.children);
145
-
161
+ this._ctxMenu.append(...menuItems);
146
162
  this._ctxMenu.style.left = e.pageX + "px";
147
163
  this._ctxMenu.style.top = e.pageY + "px";
148
164
  document.body.appendChild(this._ctxMenu);
149
- this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this)
150
- window.addEventListener('mouseup', this._windowsContextMenuCloseBound);
165
+ window.addEventListener('mouseup', this.windowsContextMenuClose);
151
166
  } else {
152
167
  this.closeContextMenu();
153
168
  }
@@ -157,7 +172,7 @@ export class TabHandle {
157
172
  if (this._ctxMenu) {
158
173
  document.body.removeChild(this._ctxMenu);
159
174
  delete this._ctxMenu;
160
- window.removeEventListener('mouseup', this._windowsContextMenuCloseBound);
175
+ window.removeEventListener('mouseup', this.windowsContextMenuClose);
161
176
  }
162
177
  }
163
178
 
@@ -284,12 +299,12 @@ export class TabHandle {
284
299
  this.contextMenuHandler.cancel();
285
300
  }
286
301
 
287
- if(this.elementBase){
302
+ if (this.elementBase) {
288
303
  Utils.removeNode(this.elementBase);
289
304
  delete this.elementBase;
290
305
  }
291
-
292
- if(this.elementCloseButton){
306
+
307
+ if (this.elementCloseButton) {
293
308
  Utils.removeNode(this.elementCloseButton);
294
309
  delete this.elementCloseButton;
295
310
  }