dock-spawn-ts 2.200.0 → 2.240.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 (39) hide show
  1. package/lib/css/dock-manager.css +10 -0
  2. package/lib/es5/dock-spawn-ts.js +1 -1
  3. package/lib/js/Dialog.d.ts +2 -1
  4. package/lib/js/Dialog.js +12 -2
  5. package/lib/js/Dialog.js.map +1 -1
  6. package/lib/js/DockManager.d.ts +1 -1
  7. package/lib/js/DockManager.js +4 -4
  8. package/lib/js/DockManager.js.map +1 -1
  9. package/lib/js/DockWheel.js +5 -3
  10. package/lib/js/DockWheel.js.map +1 -1
  11. package/lib/js/PanelContainer.d.ts +2 -0
  12. package/lib/js/PanelContainer.js +11 -0
  13. package/lib/js/PanelContainer.js.map +1 -1
  14. package/lib/js/SplitterPanel.js +2 -2
  15. package/lib/js/SplitterPanel.js.map +1 -1
  16. package/lib/js/TabHandle.js +231 -235
  17. package/lib/js/TabHandle.js.map +1 -1
  18. package/lib/js/Utils.js +58 -62
  19. package/lib/js/Utils.js.map +1 -1
  20. package/lib/js/interfaces/IDockContainer.js +1 -0
  21. package/lib/js/interfaces/IDockContainerWithSize.js +1 -0
  22. package/lib/js/interfaces/ILayoutEventListener.js +1 -0
  23. package/lib/js/interfaces/IMouseOrTouchEvent.js +1 -0
  24. package/lib/js/interfaces/INodeInfo.js +1 -0
  25. package/lib/js/interfaces/IPanelInfo.js +1 -0
  26. package/lib/js/interfaces/IRectangle.js +1 -0
  27. package/lib/js/interfaces/ISize.js +1 -0
  28. package/lib/js/interfaces/IState.js +1 -0
  29. package/lib/js/interfaces/IThickness.js +1 -0
  30. package/lib/js/webcomponent/DockSpawnTsWebcomponent.d.ts +1 -0
  31. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +142 -144
  32. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
  33. package/package.json +10 -10
  34. package/src/Dialog.ts +16 -3
  35. package/src/DockManager.ts +4 -4
  36. package/src/DockWheel.ts +5 -3
  37. package/src/PanelContainer.ts +13 -0
  38. package/src/SplitterPanel.ts +2 -2
  39. package/src/webcomponent/DockSpawnTsWebcomponent.ts +6 -3
package/lib/js/Utils.js CHANGED
@@ -1,74 +1,70 @@
1
- let Utils = /** @class */ (() => {
2
- class Utils {
3
- static getPixels(pixels) {
4
- if (pixels === null) {
5
- return 0;
6
- }
7
- return parseInt(pixels.replace('px', ''));
8
- }
9
- static disableGlobalTextSelection(element) {
10
- element.classList.add('disable-selection');
1
+ export class Utils {
2
+ static getPixels(pixels) {
3
+ if (pixels === null) {
4
+ return 0;
11
5
  }
12
- static enableGlobalTextSelection(element) {
13
- element.classList.remove('disable-selection');
14
- }
15
- static isPointInsideNode(px, py, node) {
16
- let element = node.container.containerElement;
17
- let rect = element.getBoundingClientRect();
18
- return (px >= rect.left &&
19
- px <= rect.left + rect.width &&
20
- py >= rect.top &&
21
- py <= rect.top + rect.height);
6
+ return parseInt(pixels.replace('px', ''));
7
+ }
8
+ static disableGlobalTextSelection(element) {
9
+ element.classList.add('disable-selection');
10
+ }
11
+ static enableGlobalTextSelection(element) {
12
+ element.classList.remove('disable-selection');
13
+ }
14
+ static isPointInsideNode(px, py, node) {
15
+ let element = node.container.containerElement;
16
+ let rect = element.getBoundingClientRect();
17
+ return (px >= rect.left &&
18
+ px <= rect.left + rect.width &&
19
+ py >= rect.top &&
20
+ py <= rect.top + rect.height);
21
+ }
22
+ static getNextId(prefix) {
23
+ return prefix + Utils._counter++;
24
+ }
25
+ static removeNode(node) {
26
+ if (node.parentNode === null) {
27
+ return false;
22
28
  }
23
- static getNextId(prefix) {
24
- return prefix + Utils._counter++;
29
+ node.parentNode.removeChild(node);
30
+ return true;
31
+ }
32
+ static orderByIndexes(array, indexes) {
33
+ let sortedArray = [];
34
+ for (let i = 0; i < indexes.length; i++) {
35
+ sortedArray.push(array[indexes[i]]);
25
36
  }
26
- static removeNode(node) {
27
- if (node.parentNode === null) {
28
- return false;
29
- }
30
- node.parentNode.removeChild(node);
31
- return true;
37
+ return sortedArray;
38
+ }
39
+ static arrayRemove(array, value) {
40
+ let idx = array.indexOf(value);
41
+ if (idx !== -1) {
42
+ return array.splice(idx, 1);
32
43
  }
33
- static orderByIndexes(array, indexes) {
34
- let sortedArray = [];
35
- for (let i = 0; i < indexes.length; i++) {
36
- sortedArray.push(array[indexes[i]]);
44
+ return false;
45
+ }
46
+ static arrayContains(array, value) {
47
+ let i = array.length;
48
+ while (i--) {
49
+ if (array[i] === value) {
50
+ return true;
37
51
  }
38
- return sortedArray;
39
52
  }
40
- static arrayRemove(array, value) {
41
- let idx = array.indexOf(value);
42
- if (idx !== -1) {
43
- return array.splice(idx, 1);
44
- }
53
+ return false;
54
+ }
55
+ static arrayEqual(a, b) {
56
+ if (a === b)
57
+ return true;
58
+ if (a == null || b == null)
45
59
  return false;
46
- }
47
- static arrayContains(array, value) {
48
- let i = array.length;
49
- while (i--) {
50
- if (array[i] === value) {
51
- return true;
52
- }
53
- }
60
+ if (a.length != b.length)
54
61
  return false;
55
- }
56
- static arrayEqual(a, b) {
57
- if (a === b)
58
- return true;
59
- if (a == null || b == null)
62
+ for (let i = 0; i < a.length; ++i) {
63
+ if (a[i] !== b[i])
60
64
  return false;
61
- if (a.length != b.length)
62
- return false;
63
- for (let i = 0; i < a.length; ++i) {
64
- if (a[i] !== b[i])
65
- return false;
66
- }
67
- return true;
68
65
  }
66
+ return true;
69
67
  }
70
- Utils._counter = 0;
71
- return Utils;
72
- })();
73
- export { Utils };
68
+ }
69
+ Utils._counter = 0;
74
70
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IDockContainer.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IDockContainerWithSize.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=ILayoutEventListener.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IMouseOrTouchEvent.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=INodeInfo.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IPanelInfo.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IRectangle.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=ISize.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IState.js.map
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IThickness.js.map
@@ -13,6 +13,7 @@ export declare class DockSpawnTsWebcomponent extends HTMLElement {
13
13
  private elementContainerMap;
14
14
  constructor();
15
15
  private initDockspawn;
16
+ getElementInSlot(slot: HTMLSlotElement): HTMLElement;
16
17
  private cssLoaded;
17
18
  private handleAddedChildNode;
18
19
  private handleRemovedChildNode;
@@ -1,155 +1,153 @@
1
1
  import { DockManager } from "../DockManager.js";
2
2
  import { PanelContainer } from "../PanelContainer.js";
3
3
  import { PanelType } from "../enums/PanelType.js";
4
- let DockSpawnTsWebcomponent = /** @class */ (() => {
5
- class DockSpawnTsWebcomponent extends HTMLElement {
6
- constructor() {
7
- super();
8
- this.slotId = 0;
9
- this.initialized = false;
10
- this.elementContainerMap = new Map();
11
- this.windowResizedBound = this.windowResized.bind(this);
12
- this.slotElementMap = new Map();
13
- }
14
- initDockspawn() {
15
- const shadowRoot = this.attachShadow({ mode: 'open' });
16
- const linkElement1 = document.createElement("link");
17
- linkElement1.rel = "stylesheet";
18
- linkElement1.href = DockSpawnTsWebcomponent.cssRootDirectory + "dock-manager.css";
19
- linkElement1.onload = this.cssLoaded.bind(this);
20
- const linkElement2 = document.createElement("link");
21
- linkElement2.rel = "stylesheet";
22
- linkElement2.href = DockSpawnTsWebcomponent.cssRootDirectory + "dock-manager-style.css";
23
- shadowRoot.appendChild(linkElement1);
24
- shadowRoot.appendChild(linkElement2);
25
- const dockSpawnDiv = document.createElement('div');
26
- dockSpawnDiv.id = "dockSpawnDiv";
27
- dockSpawnDiv.style.width = "100%";
28
- dockSpawnDiv.style.height = "100%";
29
- dockSpawnDiv.style.position = "relative";
30
- shadowRoot.appendChild(dockSpawnDiv);
31
- this.dockManager = new DockManager(dockSpawnDiv);
32
- this.dockManager.config.dialogRootElement = dockSpawnDiv;
33
- }
34
- cssLoaded() {
35
- setTimeout(() => {
36
- this.dockManager.initialize();
37
- this.dockManager.addLayoutListener({
38
- onClosePanel: (dockManager, dockNode) => {
39
- let slot = dockNode.elementContent;
40
- let element = this.slotElementMap.get(slot);
41
- this.removeChild(element);
42
- this.slotElementMap.delete(slot);
43
- }
44
- });
45
- this.dockManager.resize(this.clientWidth, this.clientHeight);
46
- for (let element of this.children) {
47
- this.handleAddedChildNode(element);
4
+ export class DockSpawnTsWebcomponent extends HTMLElement {
5
+ constructor() {
6
+ super();
7
+ this.slotId = 0;
8
+ this.initialized = false;
9
+ this.elementContainerMap = new Map();
10
+ this.windowResizedBound = this.windowResized.bind(this);
11
+ this.slotElementMap = new WeakMap();
12
+ }
13
+ initDockspawn() {
14
+ const shadowRoot = this.attachShadow({ mode: 'open' });
15
+ const linkElement1 = document.createElement("link");
16
+ linkElement1.rel = "stylesheet";
17
+ linkElement1.href = DockSpawnTsWebcomponent.cssRootDirectory + "dock-manager.css";
18
+ linkElement1.onload = this.cssLoaded.bind(this);
19
+ const linkElement2 = document.createElement("link");
20
+ linkElement2.rel = "stylesheet";
21
+ linkElement2.href = DockSpawnTsWebcomponent.cssRootDirectory + "dock-manager-style.css";
22
+ shadowRoot.appendChild(linkElement1);
23
+ shadowRoot.appendChild(linkElement2);
24
+ const dockSpawnDiv = document.createElement('div');
25
+ dockSpawnDiv.id = "dockSpawnDiv";
26
+ dockSpawnDiv.style.width = "100%";
27
+ dockSpawnDiv.style.height = "100%";
28
+ dockSpawnDiv.style.position = "relative";
29
+ shadowRoot.appendChild(dockSpawnDiv);
30
+ this.dockManager = new DockManager(dockSpawnDiv);
31
+ this.dockManager.config.dialogRootElement = dockSpawnDiv;
32
+ }
33
+ getElementInSlot(slot) {
34
+ return this.slotElementMap.get(slot);
35
+ }
36
+ cssLoaded() {
37
+ setTimeout(() => {
38
+ this.dockManager.initialize();
39
+ this.dockManager.addLayoutListener({
40
+ onClosePanel: (dockManager, dockNode) => {
41
+ let slot = dockNode.elementContent;
42
+ let element = this.slotElementMap.get(slot);
43
+ this.removeChild(element);
48
44
  }
49
- this.observer = new MutationObserver((mutations) => {
50
- mutations.forEach((mutation) => {
51
- mutation.addedNodes.forEach((node) => {
52
- this.handleAddedChildNode(node);
53
- });
54
- mutation.removedNodes.forEach((node) => {
55
- this.handleRemovedChildNode(node);
56
- });
45
+ });
46
+ this.dockManager.resize(this.clientWidth, this.clientHeight);
47
+ for (let element of this.children) {
48
+ this.handleAddedChildNode(element);
49
+ }
50
+ this.observer = new MutationObserver((mutations) => {
51
+ mutations.forEach((mutation) => {
52
+ mutation.addedNodes.forEach((node) => {
53
+ this.handleAddedChildNode(node);
54
+ });
55
+ mutation.removedNodes.forEach((node) => {
56
+ this.handleRemovedChildNode(node);
57
57
  });
58
58
  });
59
- this.observer.observe(this, { childList: true });
60
- }, 50);
61
- }
62
- handleAddedChildNode(element) {
63
- let slot = document.createElement('slot');
64
- let slotName = 'slot_' + this.slotId++;
65
- slot.name = slotName;
66
- let dockPanelType = PanelType.panel;
67
- let dockPanelTypeAttribute = element.getAttribute('dock-spawn-panel-type');
68
- if (dockPanelTypeAttribute)
69
- dockPanelType = dockPanelTypeAttribute;
70
- let container = new PanelContainer(slot, this.dockManager, element.title, dockPanelType);
71
- element.slot = slotName;
72
- this.slotElementMap.set(slot, element);
73
- this.elementContainerMap.set(element, container);
74
- let dockRatio = 0.5;
75
- let dockRatioAttribute = element.getAttribute('dock-spawn-dock-ratio');
76
- if (dockRatioAttribute)
77
- dockRatio = dockRatioAttribute;
78
- let dockType = element.getAttribute('dock-spawn-dock-type');
79
- let dockRelativeTo = this.dockManager.context.model.documentManagerNode;
80
- let dockToAttribute = element.getAttribute('dock-spawn-dock-to');
81
- if (dockToAttribute) {
82
- //@ts-ignore
83
- let dockToElement = this.getRootNode().getElementById(dockToAttribute);
84
- dockRelativeTo = this.dockManager.findNodeFromContainerElement(this.elementContainerMap.get(dockToElement).containerElement);
85
- }
86
- if (dockType == 'left')
87
- this.dockManager.dockLeft(dockRelativeTo, container, dockRatio);
88
- else if (dockType == 'right')
89
- this.dockManager.dockRight(dockRelativeTo, container, dockRatio);
90
- else if (dockType == 'up')
91
- this.dockManager.dockUp(dockRelativeTo, container, dockRatio);
92
- else if (dockType == 'down')
93
- this.dockManager.dockDown(dockRelativeTo, container, dockRatio);
94
- else
95
- this.dockManager.dockFill(dockRelativeTo, container);
96
- if (element.style.display == 'none')
97
- element.style.display = 'block';
98
- }
99
- handleRemovedChildNode(element) {
100
- let node = this.getDockNodeForElement(element);
101
- if (node)
102
- node.container.close();
103
- this.elementContainerMap.delete(element);
104
- }
105
- connectedCallback() {
106
- if (!this.initialized) {
107
- this.initDockspawn();
108
- this.initialized = true;
109
- }
110
- window.addEventListener('resize', this.windowResizedBound);
111
- window.addEventListener('orientationchange', this.windowResizedBound);
112
- }
113
- disconnectedCallback() {
114
- window.removeEventListener('resize', this.windowResizedBound);
115
- window.removeEventListener('orientationchange', this.windowResizedBound);
116
- }
117
- windowResized() {
118
- this.resize();
119
- }
120
- resize() {
121
- this.dockManager.resize(this.clientWidth, this.clientHeight);
122
- }
123
- getDockNodeForElement(elementOrContainer) {
124
- let element = elementOrContainer;
125
- if (element.containerElement)
126
- element = elementOrContainer.containerElement;
127
- return this.dockManager.findNodeFromContainerElement(element);
128
- }
129
- dockFill(element, panelType, dockNode, title) {
130
- let container = new PanelContainer(element, this.dockManager, title, panelType);
131
- this.dockManager.dockFill(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container);
132
- }
133
- dockLeft(element, panelType, dockNode, ratio, title) {
134
- let container = new PanelContainer(element, this.dockManager, title, panelType);
135
- this.dockManager.dockLeft(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
136
- }
137
- dockRight(element, panelType, dockNode, ratio, title) {
138
- let container = new PanelContainer(element, this.dockManager, title, panelType);
139
- this.dockManager.dockRight(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
140
- }
141
- dockUp(element, panelType, dockNode, ratio, title) {
142
- let container = new PanelContainer(element, this.dockManager, title, panelType);
143
- this.dockManager.dockUp(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
59
+ });
60
+ this.observer.observe(this, { childList: true });
61
+ }, 50);
62
+ }
63
+ handleAddedChildNode(element) {
64
+ let slot = document.createElement('slot');
65
+ let slotName = 'slot_' + this.slotId++;
66
+ slot.name = slotName;
67
+ let dockPanelType = PanelType.panel;
68
+ let dockPanelTypeAttribute = element.getAttribute('dock-spawn-panel-type');
69
+ if (dockPanelTypeAttribute)
70
+ dockPanelType = dockPanelTypeAttribute;
71
+ let container = new PanelContainer(slot, this.dockManager, element.title, dockPanelType);
72
+ element.slot = slotName;
73
+ this.slotElementMap.set(slot, element);
74
+ this.elementContainerMap.set(element, container);
75
+ let dockRatio = 0.5;
76
+ let dockRatioAttribute = element.getAttribute('dock-spawn-dock-ratio');
77
+ if (dockRatioAttribute)
78
+ dockRatio = dockRatioAttribute;
79
+ let dockType = element.getAttribute('dock-spawn-dock-type');
80
+ let dockRelativeTo = this.dockManager.context.model.documentManagerNode;
81
+ let dockToAttribute = element.getAttribute('dock-spawn-dock-to');
82
+ if (dockToAttribute) {
83
+ //@ts-ignore
84
+ let dockToElement = this.getRootNode().getElementById(dockToAttribute);
85
+ dockRelativeTo = this.dockManager.findNodeFromContainerElement(this.elementContainerMap.get(dockToElement).containerElement);
144
86
  }
145
- dockDown(element, panelType, dockNode, ratio, title) {
146
- let container = new PanelContainer(element, this.dockManager, title, panelType);
147
- this.dockManager.dockDown(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
87
+ if (dockType == 'left')
88
+ this.dockManager.dockLeft(dockRelativeTo, container, dockRatio);
89
+ else if (dockType == 'right')
90
+ this.dockManager.dockRight(dockRelativeTo, container, dockRatio);
91
+ else if (dockType == 'up')
92
+ this.dockManager.dockUp(dockRelativeTo, container, dockRatio);
93
+ else if (dockType == 'down')
94
+ this.dockManager.dockDown(dockRelativeTo, container, dockRatio);
95
+ else
96
+ this.dockManager.dockFill(dockRelativeTo, container);
97
+ if (element.style.display == 'none')
98
+ element.style.display = 'block';
99
+ }
100
+ handleRemovedChildNode(element) {
101
+ let node = this.getDockNodeForElement(element);
102
+ if (node)
103
+ node.container.close();
104
+ this.elementContainerMap.delete(element);
105
+ }
106
+ connectedCallback() {
107
+ if (!this.initialized) {
108
+ this.initDockspawn();
109
+ this.initialized = true;
148
110
  }
111
+ window.addEventListener('resize', this.windowResizedBound);
112
+ window.addEventListener('orientationchange', this.windowResizedBound);
113
+ }
114
+ disconnectedCallback() {
115
+ window.removeEventListener('resize', this.windowResizedBound);
116
+ window.removeEventListener('orientationchange', this.windowResizedBound);
117
+ }
118
+ windowResized() {
119
+ this.resize();
120
+ }
121
+ resize() {
122
+ this.dockManager.resize(this.clientWidth, this.clientHeight);
123
+ }
124
+ getDockNodeForElement(elementOrContainer) {
125
+ let element = elementOrContainer;
126
+ if (element.containerElement)
127
+ element = elementOrContainer.containerElement;
128
+ return this.dockManager.findNodeFromContainerElement(element);
129
+ }
130
+ dockFill(element, panelType, dockNode, title) {
131
+ let container = new PanelContainer(element, this.dockManager, title, panelType);
132
+ this.dockManager.dockFill(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container);
133
+ }
134
+ dockLeft(element, panelType, dockNode, ratio, title) {
135
+ let container = new PanelContainer(element, this.dockManager, title, panelType);
136
+ this.dockManager.dockLeft(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
137
+ }
138
+ dockRight(element, panelType, dockNode, ratio, title) {
139
+ let container = new PanelContainer(element, this.dockManager, title, panelType);
140
+ this.dockManager.dockRight(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
141
+ }
142
+ dockUp(element, panelType, dockNode, ratio, title) {
143
+ let container = new PanelContainer(element, this.dockManager, title, panelType);
144
+ this.dockManager.dockUp(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
145
+ }
146
+ dockDown(element, panelType, dockNode, ratio, title) {
147
+ let container = new PanelContainer(element, this.dockManager, title, panelType);
148
+ this.dockManager.dockDown(dockNode != null ? dockNode : this.dockManager.context.model.documentManagerNode, container, ratio);
149
149
  }
150
- DockSpawnTsWebcomponent.cssRootDirectory = "../../lib/css/";
151
- return DockSpawnTsWebcomponent;
152
- })();
153
- export { DockSpawnTsWebcomponent };
150
+ }
151
+ DockSpawnTsWebcomponent.cssRootDirectory = "../../lib/css/";
154
152
  window.customElements.define('dock-spawn-ts', DockSpawnTsWebcomponent);
155
153
  //# sourceMappingURL=DockSpawnTsWebcomponent.js.map
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dock-spawn-ts",
3
- "version": "2.200.0",
3
+ "version": "2.240.0",
4
4
  "description": "DockSpawn Typescript Version",
5
5
  "license": "MIT",
6
6
  "author": "jochen.kuehner@gmx.de",
@@ -10,15 +10,15 @@
10
10
  "start": "http-server"
11
11
  },
12
12
  "devDependencies": {
13
- "@babel/cli": "^7.12.10",
14
- "@babel/core": "^7.12.10",
15
- "@babel/preset-env": "^7.12.10",
16
- "@types/node": "^14.14.13",
17
- "http-server": "^0.12.3",
18
- "typescript": "^4.1.3",
19
- "uglify-js": "^3.12.1",
20
- "webpack": "^5.10.1",
21
- "webpack-cli": "^4.2.0"
13
+ "@babel/cli": "^7.15.7",
14
+ "@babel/core": "^7.15.8",
15
+ "@babel/preset-env": "^7.15.8",
16
+ "@types/node": "^16.11.1",
17
+ "http-server": "^13.0.2",
18
+ "typescript": "^4.4.4",
19
+ "uglify-js": "^3.14.2",
20
+ "webpack": "^5.59.0",
21
+ "webpack-cli": "^4.9.1"
22
22
  },
23
23
  "main": "/lib/js/Exports.js",
24
24
  "files": [
package/src/Dialog.ts CHANGED
@@ -21,11 +21,13 @@ export class Dialog {
21
21
  isHidden: boolean;
22
22
  keyPressHandler: EventHandler;
23
23
  focusHandler: EventHandler;
24
+ grayoutParent: PanelContainer;
24
25
 
25
- constructor(panel: PanelContainer, dockManager: DockManager) {
26
+ constructor(panel: PanelContainer, dockManager: DockManager, grayoutParent?: PanelContainer) {
26
27
  this.panel = panel;
27
28
  this.dockManager = dockManager;
28
29
  this.eventListener = dockManager;
30
+ this.grayoutParent = grayoutParent;
29
31
  this._initialize();
30
32
  this.dockManager.context.model.dialogs.push(this);
31
33
  this.position = dockManager.defaultDialogPosition;
@@ -39,7 +41,7 @@ export class Dialog {
39
41
  }
40
42
 
41
43
  static fromElement(id: string, dockManager: DockManager) {
42
- return new Dialog(new PanelContainer(<HTMLElement>document.getElementById(id), dockManager), dockManager);
44
+ return new Dialog(new PanelContainer(<HTMLElement>document.getElementById(id), dockManager), dockManager, null);
43
45
  }
44
46
 
45
47
  _initialize() {
@@ -59,6 +61,10 @@ export class Dialog {
59
61
  this.keyPressHandler = new EventHandler(this.elementDialog, 'keypress', this.dockManager.onKeyPressBound, true);
60
62
  this.resize(this.panel.elementPanel.clientWidth, this.panel.elementPanel.clientHeight);
61
63
  this.isHidden = false;
64
+
65
+ if (this.grayoutParent != null) {
66
+ this.grayoutParent.grayOut(true);
67
+ }
62
68
  this.bringToFront();
63
69
  }
64
70
 
@@ -79,7 +85,7 @@ export class Dialog {
79
85
  this.dockManager.activePanel = this.panel;
80
86
  }
81
87
 
82
- onMouseDown() {
88
+ onMouseDown() {
83
89
  this.bringToFront();
84
90
  }
85
91
 
@@ -105,6 +111,10 @@ export class Dialog {
105
111
  Utils.removeNode(this.panel.elementPanel);
106
112
  Utils.arrayRemove(this.dockManager.context.model.dialogs, this);
107
113
  delete this.panel.floatingDialog;
114
+
115
+ if (this.grayoutParent) {
116
+ this.grayoutParent.grayOut(false);
117
+ }
108
118
  }
109
119
 
110
120
  resize(width: number, height: number) {
@@ -131,6 +141,9 @@ export class Dialog {
131
141
  this.isHidden = true;
132
142
  this.dockManager.notifyOnHideDialog(this);
133
143
  }
144
+ if (this.grayoutParent) {
145
+ this.grayoutParent.grayOut(false);
146
+ }
134
147
  }
135
148
 
136
149
  close() {