dock-spawn-ts 2.513.1 → 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 (103) hide show
  1. package/lib/es5/dock-spawn-ts.js +1 -1
  2. package/lib/js/ContainerType.d.ts +6 -6
  3. package/lib/js/ContainerType.js +7 -7
  4. package/lib/js/Dialog.d.ts +43 -43
  5. package/lib/js/Dialog.js +136 -136
  6. package/lib/js/DockConfig.d.ts +7 -7
  7. package/lib/js/DockConfig.js +8 -8
  8. package/lib/js/DockGraphDeserializer.d.ts +18 -18
  9. package/lib/js/DockGraphDeserializer.js +116 -116
  10. package/lib/js/DockGraphSerializer.d.ts +13 -13
  11. package/lib/js/DockGraphSerializer.js +40 -40
  12. package/lib/js/DockLayoutEngine.d.ts +35 -35
  13. package/lib/js/DockLayoutEngine.js +319 -319
  14. package/lib/js/DockManager.d.ts +153 -153
  15. package/lib/js/DockManager.js +728 -728
  16. package/lib/js/DockManagerContext.d.ts +9 -9
  17. package/lib/js/DockManagerContext.js +9 -9
  18. package/lib/js/DockModel.d.ts +8 -8
  19. package/lib/js/DockModel.js +5 -5
  20. package/lib/js/DockNode.d.ts +15 -15
  21. package/lib/js/DockNode.js +61 -61
  22. package/lib/js/DockWheel.d.ts +40 -40
  23. package/lib/js/DockWheel.js +200 -200
  24. package/lib/js/DockWheelItem.d.ts +15 -15
  25. package/lib/js/DockWheelItem.js +27 -27
  26. package/lib/js/DocumentManagerContainer.d.ts +16 -16
  27. package/lib/js/DocumentManagerContainer.js +28 -28
  28. package/lib/js/DocumentTabPage.d.ts +14 -14
  29. package/lib/js/DocumentTabPage.js +26 -26
  30. package/lib/js/DraggableContainer.d.ts +52 -52
  31. package/lib/js/DraggableContainer.js +183 -183
  32. package/lib/js/EventHandler.d.ts +7 -7
  33. package/lib/js/EventHandler.js +11 -11
  34. package/lib/js/Exports.d.ts +30 -30
  35. package/lib/js/Exports.js +30 -30
  36. package/lib/js/FillDockContainer.d.ts +33 -33
  37. package/lib/js/FillDockContainer.js +69 -69
  38. package/lib/js/HorizontalDockContainer.d.ts +6 -6
  39. package/lib/js/HorizontalDockContainer.js +9 -9
  40. package/lib/js/PanelContainer.d.ts +101 -101
  41. package/lib/js/PanelContainer.js +384 -384
  42. package/lib/js/PanelContainer.js.map +1 -1
  43. package/lib/js/Point.d.ts +5 -5
  44. package/lib/js/Point.js +6 -6
  45. package/lib/js/ResizableContainer.d.ts +55 -55
  46. package/lib/js/ResizableContainer.js +241 -241
  47. package/lib/js/ResizeHandle.d.ts +15 -15
  48. package/lib/js/ResizeHandle.js +48 -48
  49. package/lib/js/SplitterBar.d.ts +35 -35
  50. package/lib/js/SplitterBar.js +149 -149
  51. package/lib/js/SplitterDockContainer.d.ts +35 -35
  52. package/lib/js/SplitterDockContainer.js +65 -65
  53. package/lib/js/SplitterPanel.d.ts +26 -26
  54. package/lib/js/SplitterPanel.js +191 -191
  55. package/lib/js/TabHandle.d.ts +55 -55
  56. package/lib/js/TabHandle.js +261 -260
  57. package/lib/js/TabHandle.js.map +1 -1
  58. package/lib/js/TabHost.d.ts +46 -46
  59. package/lib/js/TabHost.js +223 -223
  60. package/lib/js/TabHost.js.map +1 -1
  61. package/lib/js/TabPage.d.ts +19 -19
  62. package/lib/js/TabPage.js +74 -73
  63. package/lib/js/TabPage.js.map +1 -1
  64. package/lib/js/UndockInitiator.d.ts +31 -31
  65. package/lib/js/UndockInitiator.js +140 -140
  66. package/lib/js/Utils.d.ts +14 -14
  67. package/lib/js/Utils.js +70 -69
  68. package/lib/js/Utils.js.map +1 -1
  69. package/lib/js/VerticalDockContainer.d.ts +6 -6
  70. package/lib/js/VerticalDockContainer.js +9 -9
  71. package/lib/js/enums/PanelType.d.ts +4 -4
  72. package/lib/js/enums/PanelType.js +5 -5
  73. package/lib/js/enums/TabHostDirection.d.ts +6 -6
  74. package/lib/js/enums/TabHostDirection.js +7 -7
  75. package/lib/js/enums/WheelTypes.d.ts +11 -11
  76. package/lib/js/enums/WheelTypes.js +14 -14
  77. package/lib/js/interfaces/IDockContainer.d.ts +25 -25
  78. package/lib/js/interfaces/IDockContainer.js +1 -1
  79. package/lib/js/interfaces/IDockContainerWithSize.d.ts +5 -5
  80. package/lib/js/interfaces/IDockContainerWithSize.js +1 -1
  81. package/lib/js/interfaces/ILayoutEventListener.d.ts +26 -26
  82. package/lib/js/interfaces/ILayoutEventListener.js +1 -1
  83. package/lib/js/interfaces/IMouseOrTouchEvent.d.ts +6 -6
  84. package/lib/js/interfaces/IMouseOrTouchEvent.js +1 -1
  85. package/lib/js/interfaces/INodeInfo.d.ts +7 -7
  86. package/lib/js/interfaces/INodeInfo.js +1 -1
  87. package/lib/js/interfaces/IPanelInfo.d.ts +9 -9
  88. package/lib/js/interfaces/IPanelInfo.js +1 -1
  89. package/lib/js/interfaces/IRectangle.d.ts +6 -6
  90. package/lib/js/interfaces/IRectangle.js +1 -1
  91. package/lib/js/interfaces/ISize.d.ts +4 -4
  92. package/lib/js/interfaces/ISize.js +1 -1
  93. package/lib/js/interfaces/IState.d.ts +10 -10
  94. package/lib/js/interfaces/IState.js +1 -1
  95. package/lib/js/interfaces/IThickness.d.ts +6 -6
  96. package/lib/js/interfaces/IThickness.js +1 -1
  97. package/lib/js/webcomponent/DockSpawnTsWebcomponent.d.ts +30 -30
  98. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +153 -152
  99. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
  100. package/package.json +6 -6
  101. package/src/PanelContainer.ts +1 -1
  102. package/src/TabHost.ts +5 -5
  103. package/src/TabPage.ts +4 -3
package/lib/js/TabPage.js CHANGED
@@ -1,74 +1,75 @@
1
- import { TabHandle } from "./TabHandle.js";
2
- import { PanelContainer } from "./PanelContainer.js";
3
- import { Utils } from "./Utils.js";
4
- export class TabPage {
5
- constructor(host, container) {
6
- if (arguments.length === 0) {
7
- return;
8
- }
9
- this.selected = false;
10
- this.host = host;
11
- this.container = container;
12
- this.handle = new TabHandle(this);
13
- this.containerElement = container.containerElement;
14
- if (container instanceof PanelContainer) {
15
- this.panel = container;
16
- this.panel.onTitleChanged = this.onTitleChanged.bind(this);
17
- this.onTitleChanged();
18
- }
19
- container.tabPage = this;
20
- }
21
- onTitleChanged() {
22
- this.handle.updateTitle();
23
- if (this.panel) {
24
- if (this.panel.hasChanges) {
25
- this.handle.elementText.classList.add('panel-has-changes');
26
- }
27
- else {
28
- this.handle.elementText.classList.remove('panel-has-changes');
29
- }
30
- }
31
- }
32
- destroy() {
33
- this.handle.destroy();
34
- if (this.container instanceof PanelContainer) {
35
- let panel = this.container;
36
- delete panel.onTitleChanged;
37
- }
38
- if (this.host.dockManager.activePanel == this.panel)
39
- this.host.dockManager.activePanel = null;
40
- this.container.tabPage = null;
41
- Utils.removeNode(this.containerElement);
42
- }
43
- onSelected() {
44
- this.host.onTabPageSelected(this);
45
- if (this.container instanceof PanelContainer) {
46
- let panel = this.container;
47
- panel.dockManager.notifyOnTabChange(this);
48
- }
49
- }
50
- setSelected(flag) {
51
- this.selected = flag;
52
- this.handle.setSelected(flag);
53
- if (!this._initContent)
54
- this.host.contentElement.appendChild(this.containerElement);
55
- this._initContent = true;
56
- if (this.selected) {
57
- this.containerElement.style.display = 'block';
58
- this.panel.setVisible(true);
59
- // force a resize again
60
- let width = this.host.contentElement.clientWidth;
61
- let height = this.host.contentElement.clientHeight;
62
- this.container.resize(width, height);
63
- this.host.dockManager.activePanel = this.container;
64
- }
65
- else {
66
- this.containerElement.style.display = 'none';
67
- this.panel.setVisible(false);
68
- }
69
- }
70
- resize(width, height) {
71
- this.container.resize(width, height);
72
- }
73
- }
1
+ import { TabHandle } from "./TabHandle.js";
2
+ import { PanelContainer } from "./PanelContainer.js";
3
+ import { Utils } from "./Utils.js";
4
+ export class TabPage {
5
+ constructor(host, container) {
6
+ if (arguments.length === 0) {
7
+ return;
8
+ }
9
+ this.selected = false;
10
+ this.host = host;
11
+ this.container = container;
12
+ this.handle = new TabHandle(this);
13
+ this.containerElement = container.containerElement;
14
+ if (container instanceof PanelContainer) {
15
+ this.panel = container;
16
+ this.panel.onTitleChanged = this.onTitleChanged.bind(this);
17
+ this.onTitleChanged();
18
+ }
19
+ container.tabPage = this;
20
+ }
21
+ onTitleChanged() {
22
+ this.handle.updateTitle();
23
+ if (this.panel) {
24
+ if (this.panel.hasChanges) {
25
+ this.handle.elementText.classList.add('panel-has-changes');
26
+ }
27
+ else {
28
+ this.handle.elementText.classList.remove('panel-has-changes');
29
+ }
30
+ }
31
+ }
32
+ destroy() {
33
+ this.handle.destroy();
34
+ if (this.container instanceof PanelContainer) {
35
+ let panel = this.container;
36
+ delete panel.onTitleChanged;
37
+ }
38
+ if (this.host.dockManager.activePanel == this.panel)
39
+ this.host.dockManager.activePanel = null;
40
+ this.container.tabPage = null;
41
+ Utils.removeNode(this.containerElement);
42
+ }
43
+ onSelected() {
44
+ this.host.onTabPageSelected(this, true);
45
+ if (this.container instanceof PanelContainer) {
46
+ let panel = this.container;
47
+ panel.dockManager.notifyOnTabChange(this);
48
+ }
49
+ }
50
+ setSelected(flag, isActive) {
51
+ this.selected = flag;
52
+ this.handle.setSelected(flag);
53
+ if (!this._initContent)
54
+ this.host.contentElement.appendChild(this.containerElement);
55
+ this._initContent = true;
56
+ if (this.selected) {
57
+ this.containerElement.style.display = 'block';
58
+ this.panel.setVisible(true);
59
+ // force a resize again
60
+ let width = this.host.contentElement.clientWidth;
61
+ let height = this.host.contentElement.clientHeight;
62
+ this.container.resize(width, height);
63
+ if (isActive)
64
+ this.host.dockManager.activePanel = this.container;
65
+ }
66
+ else {
67
+ this.containerElement.style.display = 'none';
68
+ this.panel.setVisible(false);
69
+ }
70
+ }
71
+ resize(width, height) {
72
+ this.container.resize(width, height);
73
+ }
74
+ }
74
75
  //# sourceMappingURL=TabPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabPage.js","sourceRoot":"","sources":["../../src/TabPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabPage.js","sourceRoot":"","sources":["../../src/TabPage.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,31 @@
1
- import { EventHandler } from "./EventHandler.js";
2
- import { Point } from "./Point.js";
3
- import { Dialog } from "./Dialog.js";
4
- import { IMouseOrTouchEvent } from "./interfaces/IMouseOrTouchEvent.js";
5
- /**
6
- * Listens for events on the [element] and notifies the [listener]
7
- * if an undock event has been invoked. An undock event is invoked
8
- * when the user clicks on the event and drags is beyond the
9
- * specified [thresholdPixels]
10
- */
11
- export declare class UndockInitiator {
12
- mouseUpHandler: EventHandler;
13
- touchUpHandler: EventHandler;
14
- mouseMoveHandler: EventHandler;
15
- touchMoveHandler: EventHandler;
16
- dragStartPosition: Point;
17
- thresholdPixels: number;
18
- _enabled: boolean;
19
- mouseDownHandler: EventHandler;
20
- touchDownHandler: EventHandler;
21
- element: HTMLElement;
22
- _undockededCallback: (e: MouseEvent, dragOffset: Point) => Dialog;
23
- touchDownUndockedHandler: EventHandler;
24
- constructor(element: Element, undockededCallback: (e: MouseEvent, dragOffset: Point) => Dialog, thresholdPixels?: number);
25
- get enabled(): boolean;
26
- set enabled(value: boolean);
27
- onMouseDown(e: any): void;
28
- onMouseUp(): void;
29
- onMouseMove(e: IMouseOrTouchEvent): void;
30
- _requestUndock(e: any): void;
31
- }
1
+ import { EventHandler } from "./EventHandler.js";
2
+ import { Point } from "./Point.js";
3
+ import { Dialog } from "./Dialog.js";
4
+ import { IMouseOrTouchEvent } from "./interfaces/IMouseOrTouchEvent.js";
5
+ /**
6
+ * Listens for events on the [element] and notifies the [listener]
7
+ * if an undock event has been invoked. An undock event is invoked
8
+ * when the user clicks on the event and drags is beyond the
9
+ * specified [thresholdPixels]
10
+ */
11
+ export declare class UndockInitiator {
12
+ mouseUpHandler: EventHandler;
13
+ touchUpHandler: EventHandler;
14
+ mouseMoveHandler: EventHandler;
15
+ touchMoveHandler: EventHandler;
16
+ dragStartPosition: Point;
17
+ thresholdPixels: number;
18
+ _enabled: boolean;
19
+ mouseDownHandler: EventHandler;
20
+ touchDownHandler: EventHandler;
21
+ element: HTMLElement;
22
+ _undockededCallback: (e: MouseEvent, dragOffset: Point) => Dialog;
23
+ touchDownUndockedHandler: EventHandler;
24
+ constructor(element: Element, undockededCallback: (e: MouseEvent, dragOffset: Point) => Dialog, thresholdPixels?: number);
25
+ get enabled(): boolean;
26
+ set enabled(value: boolean);
27
+ onMouseDown(e: any): void;
28
+ onMouseUp(): void;
29
+ onMouseMove(e: IMouseOrTouchEvent): void;
30
+ _requestUndock(e: any): void;
31
+ }
@@ -1,141 +1,141 @@
1
- import { EventHandler } from "./EventHandler.js";
2
- import { Point } from "./Point.js";
3
- /**
4
- * Listens for events on the [element] and notifies the [listener]
5
- * if an undock event has been invoked. An undock event is invoked
6
- * when the user clicks on the event and drags is beyond the
7
- * specified [thresholdPixels]
8
- */
9
- export class UndockInitiator {
10
- constructor(element, undockededCallback, thresholdPixels) {
11
- if (!thresholdPixels) {
12
- thresholdPixels = 7;
13
- }
14
- this.element = element;
15
- this._undockededCallback = undockededCallback;
16
- this.thresholdPixels = thresholdPixels;
17
- this._enabled = false;
18
- }
19
- get enabled() {
20
- return this._enabled;
21
- }
22
- set enabled(value) {
23
- this._enabled = value;
24
- if (this._enabled) {
25
- if (this.mouseDownHandler) {
26
- this.mouseDownHandler.cancel();
27
- delete this.mouseDownHandler;
28
- }
29
- if (this.touchDownHandler) {
30
- this.touchDownHandler.cancel();
31
- delete this.touchDownHandler;
32
- }
33
- this.mouseDownHandler = new EventHandler(this.element, 'mousedown', this.onMouseDown.bind(this));
34
- this.touchDownHandler = new EventHandler(this.element, 'touchstart', this.onMouseDown.bind(this), { passive: false });
35
- }
36
- else {
37
- if (this.mouseDownHandler) {
38
- this.mouseDownHandler.cancel();
39
- delete this.mouseDownHandler;
40
- }
41
- if (this.touchDownHandler) {
42
- this.touchDownHandler.cancel();
43
- delete this.touchDownHandler;
44
- }
45
- if (this.mouseUpHandler) {
46
- this.mouseUpHandler.cancel();
47
- delete this.mouseUpHandler;
48
- }
49
- if (this.touchUpHandler) {
50
- this.touchUpHandler.cancel();
51
- delete this.touchUpHandler;
52
- }
53
- if (this.mouseMoveHandler) {
54
- this.mouseMoveHandler.cancel();
55
- delete this.mouseMoveHandler;
56
- }
57
- if (this.touchMoveHandler) {
58
- this.touchMoveHandler.cancel();
59
- delete this.touchMoveHandler;
60
- }
61
- }
62
- }
63
- onMouseDown(e) {
64
- e.preventDefault();
65
- // Make sure we dont do this on floating dialogs
66
- if (this.enabled) {
67
- if (e.touches) {
68
- if (e.touches.length > 1)
69
- return;
70
- e = e.touches[0];
71
- }
72
- if (this.mouseUpHandler) {
73
- this.mouseUpHandler.cancel();
74
- delete this.mouseUpHandler;
75
- }
76
- if (this.touchUpHandler) {
77
- this.touchUpHandler.cancel();
78
- delete this.touchUpHandler;
79
- }
80
- if (this.mouseMoveHandler) {
81
- this.mouseMoveHandler.cancel();
82
- delete this.mouseMoveHandler;
83
- }
84
- if (this.touchMoveHandler) {
85
- this.touchMoveHandler.cancel();
86
- delete this.touchMoveHandler;
87
- }
88
- this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
89
- this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
90
- this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
91
- this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this));
92
- this.dragStartPosition = new Point(e.clientX, e.clientY);
93
- }
94
- }
95
- onMouseUp() {
96
- if (this.mouseUpHandler) {
97
- this.mouseUpHandler.cancel();
98
- delete this.mouseUpHandler;
99
- }
100
- if (this.touchUpHandler) {
101
- this.touchUpHandler.cancel();
102
- delete this.touchUpHandler;
103
- }
104
- if (this.mouseMoveHandler) {
105
- this.mouseMoveHandler.cancel();
106
- delete this.mouseMoveHandler;
107
- }
108
- if (this.touchMoveHandler) {
109
- this.touchMoveHandler.cancel();
110
- delete this.touchMoveHandler;
111
- }
112
- }
113
- onMouseMove(e) {
114
- if (e.touches) {
115
- if (e.touches.length > 1)
116
- return;
117
- e = e.touches[0];
118
- }
119
- let position = new Point(e.clientX, e.clientY);
120
- let dy = position.y - this.dragStartPosition.y;
121
- if (dy > this.thresholdPixels || dy < -this.thresholdPixels) {
122
- this.enabled = false;
123
- this._requestUndock(e);
124
- }
125
- }
126
- _requestUndock(e) {
127
- let top = 0;
128
- let left = 0;
129
- let currentElement = this.element;
130
- do {
131
- top += currentElement.offsetTop || 0;
132
- left += currentElement.offsetLeft || 0;
133
- currentElement = currentElement.offsetParent;
134
- } while (currentElement);
135
- let dragOffsetX = this.dragStartPosition.x - left;
136
- let dragOffsetY = this.dragStartPosition.y - top;
137
- let dragOffset = new Point(dragOffsetX, dragOffsetY);
138
- this._undockededCallback(e, dragOffset);
139
- }
140
- }
1
+ import { EventHandler } from "./EventHandler.js";
2
+ import { Point } from "./Point.js";
3
+ /**
4
+ * Listens for events on the [element] and notifies the [listener]
5
+ * if an undock event has been invoked. An undock event is invoked
6
+ * when the user clicks on the event and drags is beyond the
7
+ * specified [thresholdPixels]
8
+ */
9
+ export class UndockInitiator {
10
+ constructor(element, undockededCallback, thresholdPixels) {
11
+ if (!thresholdPixels) {
12
+ thresholdPixels = 7;
13
+ }
14
+ this.element = element;
15
+ this._undockededCallback = undockededCallback;
16
+ this.thresholdPixels = thresholdPixels;
17
+ this._enabled = false;
18
+ }
19
+ get enabled() {
20
+ return this._enabled;
21
+ }
22
+ set enabled(value) {
23
+ this._enabled = value;
24
+ if (this._enabled) {
25
+ if (this.mouseDownHandler) {
26
+ this.mouseDownHandler.cancel();
27
+ delete this.mouseDownHandler;
28
+ }
29
+ if (this.touchDownHandler) {
30
+ this.touchDownHandler.cancel();
31
+ delete this.touchDownHandler;
32
+ }
33
+ this.mouseDownHandler = new EventHandler(this.element, 'mousedown', this.onMouseDown.bind(this));
34
+ this.touchDownHandler = new EventHandler(this.element, 'touchstart', this.onMouseDown.bind(this), { passive: false });
35
+ }
36
+ else {
37
+ if (this.mouseDownHandler) {
38
+ this.mouseDownHandler.cancel();
39
+ delete this.mouseDownHandler;
40
+ }
41
+ if (this.touchDownHandler) {
42
+ this.touchDownHandler.cancel();
43
+ delete this.touchDownHandler;
44
+ }
45
+ if (this.mouseUpHandler) {
46
+ this.mouseUpHandler.cancel();
47
+ delete this.mouseUpHandler;
48
+ }
49
+ if (this.touchUpHandler) {
50
+ this.touchUpHandler.cancel();
51
+ delete this.touchUpHandler;
52
+ }
53
+ if (this.mouseMoveHandler) {
54
+ this.mouseMoveHandler.cancel();
55
+ delete this.mouseMoveHandler;
56
+ }
57
+ if (this.touchMoveHandler) {
58
+ this.touchMoveHandler.cancel();
59
+ delete this.touchMoveHandler;
60
+ }
61
+ }
62
+ }
63
+ onMouseDown(e) {
64
+ e.preventDefault();
65
+ // Make sure we dont do this on floating dialogs
66
+ if (this.enabled) {
67
+ if (e.touches) {
68
+ if (e.touches.length > 1)
69
+ return;
70
+ e = e.touches[0];
71
+ }
72
+ if (this.mouseUpHandler) {
73
+ this.mouseUpHandler.cancel();
74
+ delete this.mouseUpHandler;
75
+ }
76
+ if (this.touchUpHandler) {
77
+ this.touchUpHandler.cancel();
78
+ delete this.touchUpHandler;
79
+ }
80
+ if (this.mouseMoveHandler) {
81
+ this.mouseMoveHandler.cancel();
82
+ delete this.mouseMoveHandler;
83
+ }
84
+ if (this.touchMoveHandler) {
85
+ this.touchMoveHandler.cancel();
86
+ delete this.touchMoveHandler;
87
+ }
88
+ this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
89
+ this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
90
+ this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
91
+ this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this));
92
+ this.dragStartPosition = new Point(e.clientX, e.clientY);
93
+ }
94
+ }
95
+ onMouseUp() {
96
+ if (this.mouseUpHandler) {
97
+ this.mouseUpHandler.cancel();
98
+ delete this.mouseUpHandler;
99
+ }
100
+ if (this.touchUpHandler) {
101
+ this.touchUpHandler.cancel();
102
+ delete this.touchUpHandler;
103
+ }
104
+ if (this.mouseMoveHandler) {
105
+ this.mouseMoveHandler.cancel();
106
+ delete this.mouseMoveHandler;
107
+ }
108
+ if (this.touchMoveHandler) {
109
+ this.touchMoveHandler.cancel();
110
+ delete this.touchMoveHandler;
111
+ }
112
+ }
113
+ onMouseMove(e) {
114
+ if (e.touches) {
115
+ if (e.touches.length > 1)
116
+ return;
117
+ e = e.touches[0];
118
+ }
119
+ let position = new Point(e.clientX, e.clientY);
120
+ let dy = position.y - this.dragStartPosition.y;
121
+ if (dy > this.thresholdPixels || dy < -this.thresholdPixels) {
122
+ this.enabled = false;
123
+ this._requestUndock(e);
124
+ }
125
+ }
126
+ _requestUndock(e) {
127
+ let top = 0;
128
+ let left = 0;
129
+ let currentElement = this.element;
130
+ do {
131
+ top += currentElement.offsetTop || 0;
132
+ left += currentElement.offsetLeft || 0;
133
+ currentElement = currentElement.offsetParent;
134
+ } while (currentElement);
135
+ let dragOffsetX = this.dragStartPosition.x - left;
136
+ let dragOffsetY = this.dragStartPosition.y - top;
137
+ let dragOffset = new Point(dragOffsetX, dragOffsetY);
138
+ this._undockededCallback(e, dragOffset);
139
+ }
140
+ }
141
141
  //# sourceMappingURL=UndockInitiator.js.map
package/lib/js/Utils.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import { DockNode } from "./DockNode";
2
- export declare class Utils {
3
- private static _counter;
4
- static getPixels(pixels: string): number;
5
- static disableGlobalTextSelection(element: HTMLElement): void;
6
- static enableGlobalTextSelection(element: HTMLElement): void;
7
- static isPointInsideNode(px: number, py: number, node: DockNode): boolean;
8
- static getNextId(prefix: string): string;
9
- static removeNode(node: Node): boolean;
10
- static orderByIndexes<T>(array: T[], indexes: number[]): any[];
11
- static arrayRemove<T>(array: T[], value: any): T[] | false;
12
- static arrayContains<T>(array: T[], value: T): boolean;
13
- static arrayEqual<T>(a: T[], b: T[]): boolean;
14
- }
1
+ import { DockNode } from "./DockNode";
2
+ export declare class Utils {
3
+ private static _counter;
4
+ static getPixels(pixels: string): number;
5
+ static disableGlobalTextSelection(element: HTMLElement): void;
6
+ static enableGlobalTextSelection(element: HTMLElement): void;
7
+ static isPointInsideNode(px: number, py: number, node: DockNode): boolean;
8
+ static getNextId(prefix: string): string;
9
+ static removeNode(node: Node): boolean;
10
+ static orderByIndexes<T>(array: T[], indexes: number[]): any[];
11
+ static arrayRemove<T>(array: T[], value: any): T[] | false;
12
+ static arrayContains<T>(array: T[], value: T): boolean;
13
+ static arrayEqual<T>(a: T[], b: T[]): boolean;
14
+ }