dock-spawn-ts 2.513.0 → 2.514.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.
Files changed (104) hide show
  1. package/lib/css/dock-manager.css +9 -1
  2. package/lib/es5/dock-spawn-ts.js +1 -1
  3. package/lib/js/ContainerType.d.ts +6 -6
  4. package/lib/js/ContainerType.js +7 -7
  5. package/lib/js/Dialog.d.ts +43 -43
  6. package/lib/js/Dialog.js +136 -136
  7. package/lib/js/DockConfig.d.ts +7 -7
  8. package/lib/js/DockConfig.js +8 -8
  9. package/lib/js/DockGraphDeserializer.d.ts +18 -18
  10. package/lib/js/DockGraphDeserializer.js +116 -116
  11. package/lib/js/DockGraphSerializer.d.ts +13 -13
  12. package/lib/js/DockGraphSerializer.js +40 -40
  13. package/lib/js/DockLayoutEngine.d.ts +35 -35
  14. package/lib/js/DockLayoutEngine.js +319 -319
  15. package/lib/js/DockManager.d.ts +153 -153
  16. package/lib/js/DockManager.js +728 -728
  17. package/lib/js/DockManagerContext.d.ts +9 -9
  18. package/lib/js/DockManagerContext.js +9 -9
  19. package/lib/js/DockModel.d.ts +8 -8
  20. package/lib/js/DockModel.js +5 -5
  21. package/lib/js/DockNode.d.ts +15 -15
  22. package/lib/js/DockNode.js +61 -61
  23. package/lib/js/DockWheel.d.ts +40 -40
  24. package/lib/js/DockWheel.js +200 -200
  25. package/lib/js/DockWheelItem.d.ts +15 -15
  26. package/lib/js/DockWheelItem.js +27 -27
  27. package/lib/js/DocumentManagerContainer.d.ts +16 -16
  28. package/lib/js/DocumentManagerContainer.js +28 -28
  29. package/lib/js/DocumentTabPage.d.ts +14 -14
  30. package/lib/js/DocumentTabPage.js +26 -26
  31. package/lib/js/DraggableContainer.d.ts +52 -52
  32. package/lib/js/DraggableContainer.js +183 -183
  33. package/lib/js/EventHandler.d.ts +7 -7
  34. package/lib/js/EventHandler.js +11 -11
  35. package/lib/js/Exports.d.ts +30 -30
  36. package/lib/js/Exports.js +30 -30
  37. package/lib/js/FillDockContainer.d.ts +33 -33
  38. package/lib/js/FillDockContainer.js +69 -69
  39. package/lib/js/HorizontalDockContainer.d.ts +6 -6
  40. package/lib/js/HorizontalDockContainer.js +9 -9
  41. package/lib/js/PanelContainer.d.ts +101 -101
  42. package/lib/js/PanelContainer.js +384 -384
  43. package/lib/js/PanelContainer.js.map +1 -1
  44. package/lib/js/Point.d.ts +5 -5
  45. package/lib/js/Point.js +6 -6
  46. package/lib/js/ResizableContainer.d.ts +55 -55
  47. package/lib/js/ResizableContainer.js +241 -241
  48. package/lib/js/ResizeHandle.d.ts +15 -15
  49. package/lib/js/ResizeHandle.js +48 -48
  50. package/lib/js/SplitterBar.d.ts +35 -35
  51. package/lib/js/SplitterBar.js +149 -149
  52. package/lib/js/SplitterDockContainer.d.ts +35 -35
  53. package/lib/js/SplitterDockContainer.js +65 -65
  54. package/lib/js/SplitterPanel.d.ts +26 -26
  55. package/lib/js/SplitterPanel.js +191 -191
  56. package/lib/js/TabHandle.d.ts +55 -55
  57. package/lib/js/TabHandle.js +261 -260
  58. package/lib/js/TabHandle.js.map +1 -1
  59. package/lib/js/TabHost.d.ts +46 -46
  60. package/lib/js/TabHost.js +223 -223
  61. package/lib/js/TabHost.js.map +1 -1
  62. package/lib/js/TabPage.d.ts +19 -19
  63. package/lib/js/TabPage.js +74 -73
  64. package/lib/js/TabPage.js.map +1 -1
  65. package/lib/js/UndockInitiator.d.ts +31 -31
  66. package/lib/js/UndockInitiator.js +140 -140
  67. package/lib/js/Utils.d.ts +14 -14
  68. package/lib/js/Utils.js +70 -69
  69. package/lib/js/Utils.js.map +1 -1
  70. package/lib/js/VerticalDockContainer.d.ts +6 -6
  71. package/lib/js/VerticalDockContainer.js +9 -9
  72. package/lib/js/enums/PanelType.d.ts +4 -4
  73. package/lib/js/enums/PanelType.js +5 -5
  74. package/lib/js/enums/TabHostDirection.d.ts +6 -6
  75. package/lib/js/enums/TabHostDirection.js +7 -7
  76. package/lib/js/enums/WheelTypes.d.ts +11 -11
  77. package/lib/js/enums/WheelTypes.js +14 -14
  78. package/lib/js/interfaces/IDockContainer.d.ts +25 -25
  79. package/lib/js/interfaces/IDockContainer.js +1 -1
  80. package/lib/js/interfaces/IDockContainerWithSize.d.ts +5 -5
  81. package/lib/js/interfaces/IDockContainerWithSize.js +1 -1
  82. package/lib/js/interfaces/ILayoutEventListener.d.ts +26 -26
  83. package/lib/js/interfaces/ILayoutEventListener.js +1 -1
  84. package/lib/js/interfaces/IMouseOrTouchEvent.d.ts +6 -6
  85. package/lib/js/interfaces/IMouseOrTouchEvent.js +1 -1
  86. package/lib/js/interfaces/INodeInfo.d.ts +7 -7
  87. package/lib/js/interfaces/INodeInfo.js +1 -1
  88. package/lib/js/interfaces/IPanelInfo.d.ts +9 -9
  89. package/lib/js/interfaces/IPanelInfo.js +1 -1
  90. package/lib/js/interfaces/IRectangle.d.ts +6 -6
  91. package/lib/js/interfaces/IRectangle.js +1 -1
  92. package/lib/js/interfaces/ISize.d.ts +4 -4
  93. package/lib/js/interfaces/ISize.js +1 -1
  94. package/lib/js/interfaces/IState.d.ts +10 -10
  95. package/lib/js/interfaces/IState.js +1 -1
  96. package/lib/js/interfaces/IThickness.d.ts +6 -6
  97. package/lib/js/interfaces/IThickness.js +1 -1
  98. package/lib/js/webcomponent/DockSpawnTsWebcomponent.d.ts +30 -30
  99. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +153 -152
  100. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
  101. package/package.json +6 -6
  102. package/src/PanelContainer.ts +1 -1
  103. package/src/TabHost.ts +5 -5
  104. package/src/TabPage.ts +4 -3
@@ -1,261 +1,262 @@
1
- import { PanelContainer } from "./PanelContainer.js";
2
- import { UndockInitiator } from "./UndockInitiator.js";
3
- import { EventHandler } from "./EventHandler.js";
4
- import { Utils } from "./Utils.js";
5
- import { PanelType } from "./enums/PanelType.js";
6
- /**
7
- * A tab handle represents the tab button on the tab strip
8
- */
9
- export class TabHandle {
10
- constructor(parent) {
11
- this.parent = parent;
12
- let undockHandler = this._performUndock.bind(this);
13
- this.elementBase = document.createElement('div');
14
- this.elementText = document.createElement('div');
15
- this.elementCloseButton = document.createElement('div');
16
- this.elementBase.classList.add('dockspan-tab-handle');
17
- this.elementBase.classList.add('disable-selection'); // Disable text selection
18
- this.elementText.classList.add('dockspan-tab-handle-text');
19
- this.elementCloseButton.classList.add('dockspan-tab-handle-close-button');
20
- this.elementBase.appendChild(this.elementText);
21
- if (this.parent.host.displayCloseButton)
22
- this.elementBase.appendChild(this.elementCloseButton);
23
- if (this.parent.container._hideCloseButton || this.parent.container._grayOut)
24
- this.elementCloseButton.style.display = 'none';
25
- this.parent.host.tabListElement.appendChild(this.elementBase);
26
- let panel = parent.container;
27
- let title = panel.getRawTitle();
28
- this.undockListener = {
29
- onDockEnabled: (e) => { this.undockEnabled(e.state); },
30
- onHideCloseButton: (e) => { this.hideCloseButton(e.state); }
31
- };
32
- this.eventListeners = [];
33
- panel.addListener(this.undockListener);
34
- this.elementText.innerHTML = title;
35
- this.elementText.title = this.elementText.innerText;
36
- //this._bringToFront(this.elementBase);
37
- this.undockInitiator = new UndockInitiator(this.elementBase, undockHandler);
38
- this.undockInitiator.enabled = true;
39
- this.mouseDownHandler = new EventHandler(this.elementBase, 'mousedown', this.onMouseDown.bind(this));
40
- this.touchDownHandler = new EventHandler(this.elementBase, 'touchstart', this.onMouseDown.bind(this), { passive: false });
41
- this.closeButtonHandler = new EventHandler(this.elementCloseButton, 'click', this.onCloseButtonClicked.bind(this));
42
- this.closeButtonTouchHandler = new EventHandler(this.elementCloseButton, 'touchstart', this.onCloseButtonClicked.bind(this));
43
- this.auxClickHandler = new EventHandler(this.elementBase, 'auxclick', this.onCloseButtonClicked.bind(this));
44
- this.contextMenuHandler = new EventHandler(this.elementBase, 'contextmenu', this.oncontextMenuClicked.bind(this));
45
- //this.zIndexCounter = parent.host.dockManager.zIndexTabHandle;
46
- }
47
- addListener(listener) {
48
- this.eventListeners.push(listener);
49
- }
50
- removeListener(listener) {
51
- this.eventListeners.splice(this.eventListeners.indexOf(listener), 1);
52
- }
53
- undockEnabled(state) {
54
- this.undockInitiator.enabled = state;
55
- }
56
- oncontextMenuClicked(e) {
57
- e.preventDefault();
58
- if (!this._ctxMenu && TabHandle.createContextMenuContentCallback) {
59
- this._ctxMenu = document.createElement('div');
60
- this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
61
- TabHandle.createContextMenuContentCallback(this, this._ctxMenu, this.parent.container.dockManager.context.model.documentManagerNode.children);
62
- this._ctxMenu.style.left = e.pageX + "px";
63
- this._ctxMenu.style.top = e.pageY + "px";
64
- document.body.appendChild(this._ctxMenu);
65
- this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this);
66
- window.addEventListener('mouseup', this._windowsContextMenuCloseBound);
67
- }
68
- else {
69
- this.closeContextMenu();
70
- }
71
- }
72
- closeContextMenu() {
73
- if (this._ctxMenu) {
74
- document.body.removeChild(this._ctxMenu);
75
- delete this._ctxMenu;
76
- window.removeEventListener('mouseup', this._windowsContextMenuCloseBound);
77
- }
78
- }
79
- windowsContextMenuClose(e) {
80
- let cp = e.composedPath();
81
- for (let i in cp) {
82
- let el = cp[i];
83
- if (el == this._ctxMenu)
84
- return;
85
- }
86
- this.closeContextMenu();
87
- }
88
- onMouseDown(e) {
89
- e.preventDefault();
90
- this.parent.onSelected();
91
- if (this.mouseMoveHandler) {
92
- this.mouseMoveHandler.cancel();
93
- delete this.mouseMoveHandler;
94
- }
95
- if (this.touchMoveHandler) {
96
- this.touchMoveHandler.cancel();
97
- delete this.touchMoveHandler;
98
- }
99
- if (this.mouseUpHandler) {
100
- this.mouseUpHandler.cancel();
101
- delete this.mouseUpHandler;
102
- }
103
- if (this.touchUpHandler) {
104
- this.touchUpHandler.cancel();
105
- delete this.touchUpHandler;
106
- }
107
- this.stargDragPosition = e.clientX;
108
- this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
109
- this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this), { passive: false });
110
- this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
111
- this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
112
- }
113
- onMouseUp(e) {
114
- if (this.elementBase) {
115
- this.elementBase.classList.remove('dockspan-tab-handle-dragged');
116
- }
117
- this.dragged = false;
118
- if (this.mouseMoveHandler)
119
- this.mouseMoveHandler.cancel();
120
- if (this.touchMoveHandler)
121
- this.touchMoveHandler.cancel();
122
- if (this.mouseUpHandler)
123
- this.mouseUpHandler.cancel();
124
- if (this.touchUpHandler)
125
- this.touchUpHandler.cancel();
126
- delete this.mouseMoveHandler;
127
- delete this.touchMoveHandler;
128
- delete this.mouseUpHandler;
129
- delete this.touchUpHandler;
130
- }
131
- moveTabEvent(that, state) {
132
- that.eventListeners.forEach((listener) => {
133
- if (listener.onMoveTab) {
134
- listener.onMoveTab({ self: that, state: state });
135
- }
136
- });
137
- }
138
- onMouseMove(e) {
139
- e.preventDefault();
140
- if (Math.abs(this.stargDragPosition - e.clientX) < 10)
141
- return;
142
- if (this.elementBase != null) { //Todo: because of this is null, we need to drag 2 times, needs fix
143
- this.elementBase.classList.add('dockspan-tab-handle-dragged');
144
- this.dragged = true;
145
- this.prev = this.current;
146
- this.current = e.clientX;
147
- this.direction = this.current - this.prev;
148
- let tabRect = this.elementBase.getBoundingClientRect();
149
- let event = this.direction < 0
150
- ? { state: 'left', bound: tabRect.left, rect: tabRect }
151
- : { state: 'right', bound: tabRect.right, rect: tabRect };
152
- if ((e.clientX < tabRect.left && this.direction < 0) || (e.clientX > tabRect.left + tabRect.width && this.direction > 0))
153
- this.moveTabEvent(this, event.state);
154
- }
155
- }
156
- hideCloseButton(state) {
157
- this.elementCloseButton.style.display = state ? 'none' : 'block';
158
- }
159
- updateTitle() {
160
- if (this.parent.container instanceof PanelContainer) {
161
- let panel = this.parent.container;
162
- let title = panel.getRawTitle();
163
- this.elementText.innerHTML = title;
164
- }
165
- }
166
- destroy() {
167
- let panel = this.parent.container;
168
- panel.removeListener(this.undockListener);
169
- this.mouseDownHandler.cancel();
170
- this.touchDownHandler.cancel();
171
- this.closeButtonHandler.cancel();
172
- this.closeButtonTouchHandler.cancel();
173
- this.auxClickHandler.cancel();
174
- if (this.mouseMoveHandler) {
175
- this.mouseMoveHandler.cancel();
176
- }
177
- if (this.touchMoveHandler) {
178
- this.touchMoveHandler.cancel();
179
- }
180
- if (this.mouseUpHandler) {
181
- this.mouseUpHandler.cancel();
182
- }
183
- if (this.touchUpHandler) {
184
- this.touchUpHandler.cancel();
185
- }
186
- if (this.contextMenuHandler) {
187
- this.contextMenuHandler.cancel();
188
- }
189
- if (this.elementBase) {
190
- Utils.removeNode(this.elementBase);
191
- delete this.elementBase;
192
- }
193
- if (this.elementCloseButton) {
194
- Utils.removeNode(this.elementCloseButton);
195
- delete this.elementCloseButton;
196
- }
197
- }
198
- _performUndock(e, dragOffset) {
199
- if (this.parent.container.containerType === 'panel') {
200
- this.undockInitiator.enabled = false;
201
- let panel = this.parent.container;
202
- return panel.performUndockToDialog(e, dragOffset);
203
- }
204
- else
205
- return null;
206
- }
207
- onCloseButtonClicked(e) {
208
- if (this.elementCloseButton.style.display !== 'none') {
209
- if (e.button !== 2) {
210
- // If the page contains a panel element, undock it and destroy it
211
- if (this.parent.container.containerType === 'panel') {
212
- let panel = this.parent.container;
213
- panel.close();
214
- }
215
- }
216
- }
217
- }
218
- setSelected(isSelected) {
219
- if (isSelected)
220
- this.elementBase.classList.add('dockspan-tab-handle-selected');
221
- else {
222
- this.elementBase.classList.remove('dockspan-tab-handle-selected');
223
- this.elementBase.classList.remove('dockspan-tab-handle-active');
224
- }
225
- }
226
- setActive(isActive) {
227
- if (this.elementBase) {
228
- if (isActive)
229
- this.elementBase.classList.add('dockspan-tab-handle-active');
230
- else
231
- this.elementBase.classList.remove('dockspan-tab-handle-active');
232
- }
233
- }
234
- }
235
- TabHandle.createContextMenuContentCallback = (tabHandle, contextMenuContainer, documentMangerNodes) => {
236
- let btnCloseAll = document.createElement('div');
237
- btnCloseAll.innerText = 'Close all documents';
238
- contextMenuContainer.append(btnCloseAll);
239
- let btnCloseAllButThis = document.createElement('div');
240
- btnCloseAllButThis.innerText = 'Close all documents but this';
241
- contextMenuContainer.append(btnCloseAllButThis);
242
- btnCloseAll.onclick = () => {
243
- let length = documentMangerNodes.length;
244
- for (let i = length - 1; i >= 0; i--) {
245
- let panel = documentMangerNodes[i].container;
246
- if (panel.panelType == PanelType.document)
247
- panel.close();
248
- }
249
- tabHandle.closeContextMenu();
250
- };
251
- btnCloseAllButThis.onclick = () => {
252
- let length = documentMangerNodes.length;
253
- for (let i = length - 1; i >= 0; i--) {
254
- let panel = documentMangerNodes[i].container;
255
- if (tabHandle.parent.container != panel && panel.panelType == PanelType.document)
256
- panel.close();
257
- }
258
- tabHandle.closeContextMenu();
259
- };
260
- };
1
+ import { PanelContainer } from "./PanelContainer.js";
2
+ import { UndockInitiator } from "./UndockInitiator.js";
3
+ import { EventHandler } from "./EventHandler.js";
4
+ import { Utils } from "./Utils.js";
5
+ import { PanelType } from "./enums/PanelType.js";
6
+ /**
7
+ * A tab handle represents the tab button on the tab strip
8
+ */
9
+ class TabHandle {
10
+ constructor(parent) {
11
+ this.parent = parent;
12
+ let undockHandler = this._performUndock.bind(this);
13
+ this.elementBase = document.createElement('div');
14
+ this.elementText = document.createElement('div');
15
+ this.elementCloseButton = document.createElement('div');
16
+ this.elementBase.classList.add('dockspan-tab-handle');
17
+ this.elementBase.classList.add('disable-selection'); // Disable text selection
18
+ this.elementText.classList.add('dockspan-tab-handle-text');
19
+ this.elementCloseButton.classList.add('dockspan-tab-handle-close-button');
20
+ this.elementBase.appendChild(this.elementText);
21
+ if (this.parent.host.displayCloseButton)
22
+ this.elementBase.appendChild(this.elementCloseButton);
23
+ if (this.parent.container._hideCloseButton || this.parent.container._grayOut)
24
+ this.elementCloseButton.style.display = 'none';
25
+ this.parent.host.tabListElement.appendChild(this.elementBase);
26
+ let panel = parent.container;
27
+ let title = panel.getRawTitle();
28
+ this.undockListener = {
29
+ onDockEnabled: (e) => { this.undockEnabled(e.state); },
30
+ onHideCloseButton: (e) => { this.hideCloseButton(e.state); }
31
+ };
32
+ this.eventListeners = [];
33
+ panel.addListener(this.undockListener);
34
+ this.elementText.innerHTML = title;
35
+ this.elementText.title = this.elementText.innerText;
36
+ //this._bringToFront(this.elementBase);
37
+ this.undockInitiator = new UndockInitiator(this.elementBase, undockHandler);
38
+ this.undockInitiator.enabled = true;
39
+ this.mouseDownHandler = new EventHandler(this.elementBase, 'mousedown', this.onMouseDown.bind(this));
40
+ this.touchDownHandler = new EventHandler(this.elementBase, 'touchstart', this.onMouseDown.bind(this), { passive: false });
41
+ this.closeButtonHandler = new EventHandler(this.elementCloseButton, 'click', this.onCloseButtonClicked.bind(this));
42
+ this.closeButtonTouchHandler = new EventHandler(this.elementCloseButton, 'touchstart', this.onCloseButtonClicked.bind(this));
43
+ this.auxClickHandler = new EventHandler(this.elementBase, 'auxclick', this.onCloseButtonClicked.bind(this));
44
+ this.contextMenuHandler = new EventHandler(this.elementBase, 'contextmenu', this.oncontextMenuClicked.bind(this));
45
+ //this.zIndexCounter = parent.host.dockManager.zIndexTabHandle;
46
+ }
47
+ addListener(listener) {
48
+ this.eventListeners.push(listener);
49
+ }
50
+ removeListener(listener) {
51
+ this.eventListeners.splice(this.eventListeners.indexOf(listener), 1);
52
+ }
53
+ undockEnabled(state) {
54
+ this.undockInitiator.enabled = state;
55
+ }
56
+ oncontextMenuClicked(e) {
57
+ e.preventDefault();
58
+ if (!this._ctxMenu && TabHandle.createContextMenuContentCallback) {
59
+ this._ctxMenu = document.createElement('div');
60
+ this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
61
+ TabHandle.createContextMenuContentCallback(this, this._ctxMenu, this.parent.container.dockManager.context.model.documentManagerNode.children);
62
+ this._ctxMenu.style.left = e.pageX + "px";
63
+ this._ctxMenu.style.top = e.pageY + "px";
64
+ document.body.appendChild(this._ctxMenu);
65
+ this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this);
66
+ window.addEventListener('mouseup', this._windowsContextMenuCloseBound);
67
+ }
68
+ else {
69
+ this.closeContextMenu();
70
+ }
71
+ }
72
+ closeContextMenu() {
73
+ if (this._ctxMenu) {
74
+ document.body.removeChild(this._ctxMenu);
75
+ delete this._ctxMenu;
76
+ window.removeEventListener('mouseup', this._windowsContextMenuCloseBound);
77
+ }
78
+ }
79
+ windowsContextMenuClose(e) {
80
+ let cp = e.composedPath();
81
+ for (let i in cp) {
82
+ let el = cp[i];
83
+ if (el == this._ctxMenu)
84
+ return;
85
+ }
86
+ this.closeContextMenu();
87
+ }
88
+ onMouseDown(e) {
89
+ e.preventDefault();
90
+ this.parent.onSelected();
91
+ if (this.mouseMoveHandler) {
92
+ this.mouseMoveHandler.cancel();
93
+ delete this.mouseMoveHandler;
94
+ }
95
+ if (this.touchMoveHandler) {
96
+ this.touchMoveHandler.cancel();
97
+ delete this.touchMoveHandler;
98
+ }
99
+ if (this.mouseUpHandler) {
100
+ this.mouseUpHandler.cancel();
101
+ delete this.mouseUpHandler;
102
+ }
103
+ if (this.touchUpHandler) {
104
+ this.touchUpHandler.cancel();
105
+ delete this.touchUpHandler;
106
+ }
107
+ this.stargDragPosition = e.clientX;
108
+ this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
109
+ this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this), { passive: false });
110
+ this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
111
+ this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
112
+ }
113
+ onMouseUp(e) {
114
+ if (this.elementBase) {
115
+ this.elementBase.classList.remove('dockspan-tab-handle-dragged');
116
+ }
117
+ this.dragged = false;
118
+ if (this.mouseMoveHandler)
119
+ this.mouseMoveHandler.cancel();
120
+ if (this.touchMoveHandler)
121
+ this.touchMoveHandler.cancel();
122
+ if (this.mouseUpHandler)
123
+ this.mouseUpHandler.cancel();
124
+ if (this.touchUpHandler)
125
+ this.touchUpHandler.cancel();
126
+ delete this.mouseMoveHandler;
127
+ delete this.touchMoveHandler;
128
+ delete this.mouseUpHandler;
129
+ delete this.touchUpHandler;
130
+ }
131
+ moveTabEvent(that, state) {
132
+ that.eventListeners.forEach((listener) => {
133
+ if (listener.onMoveTab) {
134
+ listener.onMoveTab({ self: that, state: state });
135
+ }
136
+ });
137
+ }
138
+ onMouseMove(e) {
139
+ e.preventDefault();
140
+ if (Math.abs(this.stargDragPosition - e.clientX) < 10)
141
+ return;
142
+ if (this.elementBase != null) { //Todo: because of this is null, we need to drag 2 times, needs fix
143
+ this.elementBase.classList.add('dockspan-tab-handle-dragged');
144
+ this.dragged = true;
145
+ this.prev = this.current;
146
+ this.current = e.clientX;
147
+ this.direction = this.current - this.prev;
148
+ let tabRect = this.elementBase.getBoundingClientRect();
149
+ let event = this.direction < 0
150
+ ? { state: 'left', bound: tabRect.left, rect: tabRect }
151
+ : { state: 'right', bound: tabRect.right, rect: tabRect };
152
+ if ((e.clientX < tabRect.left && this.direction < 0) || (e.clientX > tabRect.left + tabRect.width && this.direction > 0))
153
+ this.moveTabEvent(this, event.state);
154
+ }
155
+ }
156
+ hideCloseButton(state) {
157
+ this.elementCloseButton.style.display = state ? 'none' : 'block';
158
+ }
159
+ updateTitle() {
160
+ if (this.parent.container instanceof PanelContainer) {
161
+ let panel = this.parent.container;
162
+ let title = panel.getRawTitle();
163
+ this.elementText.innerHTML = title;
164
+ }
165
+ }
166
+ destroy() {
167
+ let panel = this.parent.container;
168
+ panel.removeListener(this.undockListener);
169
+ this.mouseDownHandler.cancel();
170
+ this.touchDownHandler.cancel();
171
+ this.closeButtonHandler.cancel();
172
+ this.closeButtonTouchHandler.cancel();
173
+ this.auxClickHandler.cancel();
174
+ if (this.mouseMoveHandler) {
175
+ this.mouseMoveHandler.cancel();
176
+ }
177
+ if (this.touchMoveHandler) {
178
+ this.touchMoveHandler.cancel();
179
+ }
180
+ if (this.mouseUpHandler) {
181
+ this.mouseUpHandler.cancel();
182
+ }
183
+ if (this.touchUpHandler) {
184
+ this.touchUpHandler.cancel();
185
+ }
186
+ if (this.contextMenuHandler) {
187
+ this.contextMenuHandler.cancel();
188
+ }
189
+ if (this.elementBase) {
190
+ Utils.removeNode(this.elementBase);
191
+ delete this.elementBase;
192
+ }
193
+ if (this.elementCloseButton) {
194
+ Utils.removeNode(this.elementCloseButton);
195
+ delete this.elementCloseButton;
196
+ }
197
+ }
198
+ _performUndock(e, dragOffset) {
199
+ if (this.parent.container.containerType === 'panel') {
200
+ this.undockInitiator.enabled = false;
201
+ let panel = this.parent.container;
202
+ return panel.performUndockToDialog(e, dragOffset);
203
+ }
204
+ else
205
+ return null;
206
+ }
207
+ onCloseButtonClicked(e) {
208
+ if (this.elementCloseButton.style.display !== 'none') {
209
+ if (e.button !== 2) {
210
+ // If the page contains a panel element, undock it and destroy it
211
+ if (this.parent.container.containerType === 'panel') {
212
+ let panel = this.parent.container;
213
+ panel.close();
214
+ }
215
+ }
216
+ }
217
+ }
218
+ setSelected(isSelected) {
219
+ if (isSelected)
220
+ this.elementBase.classList.add('dockspan-tab-handle-selected');
221
+ else {
222
+ this.elementBase.classList.remove('dockspan-tab-handle-selected');
223
+ this.elementBase.classList.remove('dockspan-tab-handle-active');
224
+ }
225
+ }
226
+ setActive(isActive) {
227
+ if (this.elementBase) {
228
+ if (isActive)
229
+ this.elementBase.classList.add('dockspan-tab-handle-active');
230
+ else
231
+ this.elementBase.classList.remove('dockspan-tab-handle-active');
232
+ }
233
+ }
234
+ }
235
+ TabHandle.createContextMenuContentCallback = (tabHandle, contextMenuContainer, documentMangerNodes) => {
236
+ let btnCloseAll = document.createElement('div');
237
+ btnCloseAll.innerText = 'Close all documents';
238
+ contextMenuContainer.append(btnCloseAll);
239
+ let btnCloseAllButThis = document.createElement('div');
240
+ btnCloseAllButThis.innerText = 'Close all documents but this';
241
+ contextMenuContainer.append(btnCloseAllButThis);
242
+ btnCloseAll.onclick = () => {
243
+ let length = documentMangerNodes.length;
244
+ for (let i = length - 1; i >= 0; i--) {
245
+ let panel = documentMangerNodes[i].container;
246
+ if (panel.panelType == PanelType.document)
247
+ panel.close();
248
+ }
249
+ tabHandle.closeContextMenu();
250
+ };
251
+ btnCloseAllButThis.onclick = () => {
252
+ let length = documentMangerNodes.length;
253
+ for (let i = length - 1; i >= 0; i--) {
254
+ let panel = documentMangerNodes[i].container;
255
+ if (tabHandle.parent.container != panel && panel.panelType == PanelType.document)
256
+ panel.close();
257
+ }
258
+ tabHandle.closeContextMenu();
259
+ };
260
+ };
261
+ export { TabHandle };
261
262
  //# sourceMappingURL=TabHandle.js.map
@@ -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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"}