dock-spawn-ts 2.513.1 → 2.515.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 (106) 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 +730 -728
  16. package/lib/js/DockManager.js.map +1 -1
  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 +31 -30
  99. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +158 -152
  100. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
  101. package/package.json +6 -6
  102. package/src/DockManager.ts +5 -3
  103. package/src/PanelContainer.ts +1 -1
  104. package/src/TabHost.ts +5 -5
  105. package/src/TabPage.ts +4 -3
  106. package/src/webcomponent/DockSpawnTsWebcomponent.ts +6 -0
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
+ }