@datagrok-libraries/dock-spawn-dg 0.0.2 → 0.1.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 (263) hide show
  1. package/CHANGELOG.md +0 -354
  2. package/README.md +0 -3
  3. package/index.d.ts +33 -0
  4. package/index.d.ts.map +1 -0
  5. package/index.js +32 -0
  6. package/package.json +10 -17
  7. package/src/BrowserDialogHelper.d.ts.map +1 -0
  8. package/{lib → src}/BrowserDialogHelper.js +18 -12
  9. package/src/BrowserDialogHelper.ts +48 -47
  10. package/src/ContainerType.d.ts.map +1 -0
  11. package/src/ContainerType.ts +1 -1
  12. package/{lib → src}/Dialog.d.ts +7 -7
  13. package/src/Dialog.d.ts.map +1 -0
  14. package/{lib → src}/Dialog.js +46 -58
  15. package/src/Dialog.ts +253 -250
  16. package/src/DockConfig.d.ts.map +1 -0
  17. package/{lib → src}/DockConfig.js +0 -5
  18. package/src/DockConfig.ts +1 -1
  19. package/{lib → src}/DockGraphDeserializer.d.ts +6 -6
  20. package/src/DockGraphDeserializer.d.ts.map +1 -0
  21. package/src/DockGraphDeserializer.js +133 -0
  22. package/src/DockGraphDeserializer.ts +113 -108
  23. package/src/DockGraphSerializer.d.ts +14 -0
  24. package/src/DockGraphSerializer.d.ts.map +1 -0
  25. package/{lib → src}/DockGraphSerializer.js +11 -11
  26. package/src/DockGraphSerializer.ts +48 -47
  27. package/{lib → src}/DockLayoutEngine.d.ts +12 -12
  28. package/src/DockLayoutEngine.d.ts.map +1 -0
  29. package/{lib → src}/DockLayoutEngine.js +49 -53
  30. package/src/DockLayoutEngine.ts +351 -346
  31. package/{lib → src}/DockManager.d.ts +34 -34
  32. package/src/DockManager.d.ts.map +1 -0
  33. package/{lib → src}/DockManager.js +168 -151
  34. package/src/DockManager.ts +860 -834
  35. package/{lib → src}/DockManagerContext.d.ts +3 -3
  36. package/src/DockManagerContext.d.ts.map +1 -0
  37. package/{lib → src}/DockManagerContext.js +2 -5
  38. package/src/DockManagerContext.ts +5 -5
  39. package/{lib → src}/DockModel.d.ts +2 -2
  40. package/src/DockModel.d.ts.map +1 -0
  41. package/{lib → src}/DockModel.js +0 -3
  42. package/src/DockModel.ts +2 -2
  43. package/{lib → src}/DockNode.d.ts +1 -1
  44. package/src/DockNode.d.ts.map +1 -0
  45. package/{lib → src}/DockNode.js +0 -3
  46. package/src/DockNode.ts +2 -2
  47. package/{lib → src}/DockWheel.d.ts +5 -5
  48. package/src/DockWheel.d.ts.map +1 -0
  49. package/{lib → src}/DockWheel.js +3 -11
  50. package/src/DockWheel.ts +6 -6
  51. package/{lib → src}/DockWheelItem.d.ts +3 -3
  52. package/src/DockWheelItem.d.ts.map +1 -0
  53. package/{lib → src}/DockWheelItem.js +1 -8
  54. package/src/DockWheelItem.ts +4 -4
  55. package/{lib → src}/DocumentManagerContainer.d.ts +4 -4
  56. package/src/DocumentManagerContainer.d.ts.map +1 -0
  57. package/{lib → src}/DocumentManagerContainer.js +3 -3
  58. package/src/DocumentManagerContainer.ts +9 -9
  59. package/{lib → src}/DocumentTabPage.d.ts +3 -3
  60. package/src/DocumentTabPage.d.ts.map +1 -0
  61. package/{lib → src}/DocumentTabPage.js +2 -2
  62. package/src/DocumentTabPage.ts +6 -6
  63. package/{lib → src}/DraggableContainer.d.ts +7 -7
  64. package/src/DraggableContainer.d.ts.map +1 -0
  65. package/{lib → src}/DraggableContainer.js +3 -16
  66. package/src/DraggableContainer.ts +10 -10
  67. package/src/EventHandler.d.ts.map +1 -0
  68. package/{lib → src}/EventHandler.js +0 -3
  69. package/src/EventHandler.ts +1 -1
  70. package/{lib → src}/FillDockContainer.d.ts +8 -8
  71. package/src/FillDockContainer.d.ts.map +1 -0
  72. package/{lib → src}/FillDockContainer.js +4 -14
  73. package/src/FillDockContainer.ts +10 -10
  74. package/src/HorizontalDockContainer.d.ts +7 -0
  75. package/src/HorizontalDockContainer.d.ts.map +1 -0
  76. package/{lib → src}/HorizontalDockContainer.js +3 -3
  77. package/src/HorizontalDockContainer.ts +6 -6
  78. package/{lib → src}/PanelContainer.d.ts +21 -20
  79. package/src/PanelContainer.d.ts.map +1 -0
  80. package/{lib → src}/PanelContainer.js +144 -148
  81. package/src/PanelContainer.ts +590 -577
  82. package/src/Point.d.ts.map +1 -0
  83. package/{lib → src}/Point.js +0 -2
  84. package/{lib → src}/ResizableContainer.d.ts +8 -8
  85. package/src/ResizableContainer.d.ts.map +1 -0
  86. package/{lib → src}/ResizableContainer.js +4 -17
  87. package/src/ResizableContainer.ts +11 -11
  88. package/{lib → src}/ResizeHandle.d.ts +1 -1
  89. package/src/ResizeHandle.d.ts.map +1 -0
  90. package/{lib → src}/ResizeHandle.js +0 -10
  91. package/src/ResizeHandle.ts +2 -2
  92. package/{lib → src}/SplitterBar.d.ts +3 -3
  93. package/src/SplitterBar.d.ts.map +1 -0
  94. package/{lib → src}/SplitterBar.js +2 -14
  95. package/src/SplitterBar.ts +5 -5
  96. package/{lib → src}/SplitterDockContainer.d.ts +7 -7
  97. package/src/SplitterDockContainer.d.ts.map +1 -0
  98. package/{lib → src}/SplitterDockContainer.js +1 -11
  99. package/src/SplitterDockContainer.ts +8 -8
  100. package/{lib → src}/SplitterPanel.d.ts +2 -2
  101. package/src/SplitterPanel.d.ts.map +1 -0
  102. package/{lib → src}/SplitterPanel.js +2 -6
  103. package/src/SplitterPanel.ts +4 -4
  104. package/{lib → src}/TabHandle.d.ts +5 -5
  105. package/src/TabHandle.d.ts.map +1 -0
  106. package/{lib → src}/TabHandle.js +81 -95
  107. package/src/TabHandle.ts +314 -311
  108. package/{lib → src}/TabHost.d.ts +6 -6
  109. package/src/TabHost.d.ts.map +1 -0
  110. package/{lib → src}/TabHost.js +4 -19
  111. package/src/TabHost.ts +9 -9
  112. package/{lib → src}/TabPage.d.ts +4 -4
  113. package/src/TabPage.d.ts.map +1 -0
  114. package/{lib → src}/TabPage.js +3 -10
  115. package/src/TabPage.ts +6 -6
  116. package/{lib → src}/UndockInitiator.d.ts +4 -4
  117. package/src/UndockInitiator.d.ts.map +1 -0
  118. package/{lib → src}/UndockInitiator.js +2 -14
  119. package/src/UndockInitiator.ts +7 -7
  120. package/src/Utils.d.ts.map +1 -0
  121. package/{lib → src}/Utils.js +1 -1
  122. package/src/Utils.ts +1 -1
  123. package/src/VerticalDockContainer.d.ts +7 -0
  124. package/src/VerticalDockContainer.d.ts.map +1 -0
  125. package/{lib → src}/VerticalDockContainer.js +3 -3
  126. package/src/VerticalDockContainer.ts +7 -7
  127. package/src/enums/PanelType.d.ts.map +1 -0
  128. package/src/enums/PanelType.ts +1 -1
  129. package/src/enums/TabHostDirection.d.ts.map +1 -0
  130. package/src/enums/TabHostDirection.ts +1 -1
  131. package/src/enums/WheelTypes.d.ts.map +1 -0
  132. package/src/enums/WheelTypes.ts +1 -1
  133. package/src/i18n/Defaults.d.ts.map +1 -0
  134. package/src/i18n/Defaults.ts +2 -2
  135. package/{lib → src}/i18n/Localizer.d.ts +1 -1
  136. package/src/i18n/Localizer.d.ts.map +1 -0
  137. package/{lib → src}/i18n/Localizer.js +3 -3
  138. package/src/i18n/Localizer.ts +2 -2
  139. package/src/index.d.ts.map +1 -0
  140. package/{lib → src}/interfaces/IDockContainer.d.ts +4 -4
  141. package/src/interfaces/IDockContainer.d.ts.map +1 -0
  142. package/src/interfaces/IDockContainer.ts +7 -7
  143. package/src/interfaces/IDockContainerWithSize.d.ts +6 -0
  144. package/src/interfaces/IDockContainerWithSize.d.ts.map +1 -0
  145. package/src/interfaces/IDockContainerWithSize.ts +3 -3
  146. package/{lib → src}/interfaces/ILayoutEventListener.d.ts +6 -6
  147. package/src/interfaces/ILayoutEventListener.d.ts.map +1 -0
  148. package/src/interfaces/ILayoutEventListener.ts +7 -7
  149. package/src/interfaces/IMouseOrTouchEvent.d.ts.map +1 -0
  150. package/src/interfaces/IMouseOrTouchEvent.ts +1 -1
  151. package/src/interfaces/INodeInfo.d.ts +8 -0
  152. package/src/interfaces/INodeInfo.d.ts.map +1 -0
  153. package/src/interfaces/INodeInfo.ts +2 -2
  154. package/src/interfaces/IPanelInfo.d.ts +10 -0
  155. package/src/interfaces/IPanelInfo.d.ts.map +1 -0
  156. package/src/interfaces/IPanelInfo.ts +3 -3
  157. package/src/interfaces/IRectangle.d.ts.map +1 -0
  158. package/src/interfaces/IRectangle.ts +1 -1
  159. package/src/interfaces/ISize.d.ts.map +1 -0
  160. package/{lib → src}/interfaces/IState.d.ts +1 -0
  161. package/src/interfaces/IState.d.ts.map +1 -0
  162. package/src/interfaces/IState.ts +1 -0
  163. package/src/interfaces/IThickness.d.ts.map +1 -0
  164. package/src/interfaces/IThickness.ts +1 -1
  165. package/{lib → src}/webcomponent/DockSpawnTsWebcomponent.d.ts +6 -10
  166. package/src/webcomponent/DockSpawnTsWebcomponent.d.ts.map +1 -0
  167. package/src/webcomponent/DockSpawnTsWebcomponent.js +178 -0
  168. package/src/webcomponent/DockSpawnTsWebcomponent.ts +207 -243
  169. package/src/webcomponent/styles.d.ts.map +1 -0
  170. package/{lib → src}/webcomponent/styles.js +2 -1
  171. package/tsconfig.json +13 -26
  172. package/.eslintrc.json +0 -47
  173. package/lib/BrowserDialogHelper.d.ts.map +0 -1
  174. package/lib/ContainerType.d.ts.map +0 -1
  175. package/lib/Dialog.d.ts.map +0 -1
  176. package/lib/DockConfig.d.ts.map +0 -1
  177. package/lib/DockGraphDeserializer.d.ts.map +0 -1
  178. package/lib/DockGraphDeserializer.js +0 -114
  179. package/lib/DockGraphSerializer.d.ts +0 -14
  180. package/lib/DockGraphSerializer.d.ts.map +0 -1
  181. package/lib/DockLayoutEngine.d.ts.map +0 -1
  182. package/lib/DockManager.d.ts.map +0 -1
  183. package/lib/DockManagerContext.d.ts.map +0 -1
  184. package/lib/DockModel.d.ts.map +0 -1
  185. package/lib/DockNode.d.ts.map +0 -1
  186. package/lib/DockWheel.d.ts.map +0 -1
  187. package/lib/DockWheelItem.d.ts.map +0 -1
  188. package/lib/DocumentManagerContainer.d.ts.map +0 -1
  189. package/lib/DocumentTabPage.d.ts.map +0 -1
  190. package/lib/DraggableContainer.d.ts.map +0 -1
  191. package/lib/EventHandler.d.ts.map +0 -1
  192. package/lib/FillDockContainer.d.ts.map +0 -1
  193. package/lib/HorizontalDockContainer.d.ts +0 -7
  194. package/lib/HorizontalDockContainer.d.ts.map +0 -1
  195. package/lib/PanelContainer.d.ts.map +0 -1
  196. package/lib/Point.d.ts.map +0 -1
  197. package/lib/ResizableContainer.d.ts.map +0 -1
  198. package/lib/ResizeHandle.d.ts.map +0 -1
  199. package/lib/SplitterBar.d.ts.map +0 -1
  200. package/lib/SplitterDockContainer.d.ts.map +0 -1
  201. package/lib/SplitterPanel.d.ts.map +0 -1
  202. package/lib/TabHandle.d.ts.map +0 -1
  203. package/lib/TabHost.d.ts.map +0 -1
  204. package/lib/TabPage.d.ts.map +0 -1
  205. package/lib/UndockInitiator.d.ts.map +0 -1
  206. package/lib/Utils.d.ts.map +0 -1
  207. package/lib/VerticalDockContainer.d.ts +0 -7
  208. package/lib/VerticalDockContainer.d.ts.map +0 -1
  209. package/lib/enums/PanelType.d.ts.map +0 -1
  210. package/lib/enums/TabHostDirection.d.ts.map +0 -1
  211. package/lib/enums/WheelTypes.d.ts.map +0 -1
  212. package/lib/i18n/Defaults.d.ts.map +0 -1
  213. package/lib/i18n/Localizer.d.ts.map +0 -1
  214. package/lib/index.d.ts.map +0 -1
  215. package/lib/interfaces/IDockContainer.d.ts.map +0 -1
  216. package/lib/interfaces/IDockContainerWithSize.d.ts +0 -6
  217. package/lib/interfaces/IDockContainerWithSize.d.ts.map +0 -1
  218. package/lib/interfaces/ILayoutEventListener.d.ts.map +0 -1
  219. package/lib/interfaces/IMouseOrTouchEvent.d.ts.map +0 -1
  220. package/lib/interfaces/INodeInfo.d.ts +0 -8
  221. package/lib/interfaces/INodeInfo.d.ts.map +0 -1
  222. package/lib/interfaces/IPanelInfo.d.ts +0 -10
  223. package/lib/interfaces/IPanelInfo.d.ts.map +0 -1
  224. package/lib/interfaces/IRectangle.d.ts.map +0 -1
  225. package/lib/interfaces/ISize.d.ts.map +0 -1
  226. package/lib/interfaces/IState.d.ts.map +0 -1
  227. package/lib/interfaces/IThickness.d.ts.map +0 -1
  228. package/lib/webcomponent/DockSpawnTsWebcomponent.d.ts.map +0 -1
  229. package/lib/webcomponent/DockSpawnTsWebcomponent.js +0 -209
  230. package/lib/webcomponent/styles.d.ts.map +0 -1
  231. package/tsconfig.tsbuildinfo +0 -1
  232. /package/{lib → src}/BrowserDialogHelper.d.ts +0 -0
  233. /package/{lib → src}/ContainerType.d.ts +0 -0
  234. /package/{lib → src}/ContainerType.js +0 -0
  235. /package/{lib → src}/DockConfig.d.ts +0 -0
  236. /package/{lib → src}/EventHandler.d.ts +0 -0
  237. /package/{lib → src}/Point.d.ts +0 -0
  238. /package/{lib → src}/Utils.d.ts +0 -0
  239. /package/{lib → src}/enums/PanelType.d.ts +0 -0
  240. /package/{lib → src}/enums/PanelType.js +0 -0
  241. /package/{lib → src}/enums/TabHostDirection.d.ts +0 -0
  242. /package/{lib → src}/enums/TabHostDirection.js +0 -0
  243. /package/{lib → src}/enums/WheelTypes.d.ts +0 -0
  244. /package/{lib → src}/enums/WheelTypes.js +0 -0
  245. /package/{lib → src}/i18n/Defaults.d.ts +0 -0
  246. /package/{lib → src}/i18n/Defaults.js +0 -0
  247. /package/{lib → src}/index.d.ts +0 -0
  248. /package/{lib → src}/index.js +0 -0
  249. /package/{lib → src}/interfaces/IDockContainer.js +0 -0
  250. /package/{lib → src}/interfaces/IDockContainerWithSize.js +0 -0
  251. /package/{lib → src}/interfaces/ILayoutEventListener.js +0 -0
  252. /package/{lib → src}/interfaces/IMouseOrTouchEvent.d.ts +0 -0
  253. /package/{lib → src}/interfaces/IMouseOrTouchEvent.js +0 -0
  254. /package/{lib → src}/interfaces/INodeInfo.js +0 -0
  255. /package/{lib → src}/interfaces/IPanelInfo.js +0 -0
  256. /package/{lib → src}/interfaces/IRectangle.d.ts +0 -0
  257. /package/{lib → src}/interfaces/IRectangle.js +0 -0
  258. /package/{lib → src}/interfaces/ISize.d.ts +0 -0
  259. /package/{lib → src}/interfaces/ISize.js +0 -0
  260. /package/{lib → src}/interfaces/IState.js +0 -0
  261. /package/{lib → src}/interfaces/IThickness.d.ts +0 -0
  262. /package/{lib → src}/interfaces/IThickness.js +0 -0
  263. /package/{lib → src}/webcomponent/styles.d.ts +0 -0
@@ -1,11 +1,15 @@
1
- import { DockNode } from './DockNode.js';
2
- import { Utils } from './Utils.js';
3
- import { HorizontalDockContainer } from './HorizontalDockContainer.js';
4
- import { VerticalDockContainer } from './VerticalDockContainer.js';
5
- import { FillDockContainer } from './FillDockContainer.js';
1
+ import { DockNode } from "./DockNode";
2
+ import { Utils } from "./Utils";
3
+ import { HorizontalDockContainer } from "./HorizontalDockContainer";
4
+ import { VerticalDockContainer } from "./VerticalDockContainer";
5
+ import { FillDockContainer } from "./FillDockContainer";
6
6
  export class DockLayoutEngine {
7
- dockManager;
8
7
  constructor(dockManager) {
8
+ this._forceResizeCompositeContainer = (container) => {
9
+ let width = container.containerElement.clientWidth;
10
+ let height = container.containerElement.clientHeight;
11
+ container.resize(width, height);
12
+ };
9
13
  this.dockManager = dockManager;
10
14
  }
11
15
  /** docks the [newNode] to the left of [referenceNode] */
@@ -29,26 +33,26 @@ export class DockLayoutEngine {
29
33
  this._performDock(referenceNode, newNode, 'fill', false);
30
34
  }
31
35
  undock(node) {
32
- const parentNode = node.parent;
36
+ let parentNode = node.parent;
33
37
  if (!parentNode)
34
38
  throw new Error('Cannot undock. panel is not a leaf node');
35
39
  // Get the position of the node relative to it's siblings
36
- const siblingIndex = parentNode.children.indexOf(node);
40
+ let siblingIndex = parentNode.children.indexOf(node);
37
41
  // Detach the node from the dock manager's tree hierarchy
38
42
  node.detachFromParent();
39
43
  // Fix the node's parent hierarchy
40
44
  if (parentNode.children.length < parentNode.container.minimumAllowedChildNodes) {
41
45
  // If the child count falls below the minimum threshold, destroy the parent and merge
42
46
  // the children with their grandparents
43
- const grandParent = parentNode.parent;
47
+ let grandParent = parentNode.parent;
44
48
  for (let i = 0; i < parentNode.children.length; i++) {
45
- const otherChild = parentNode.children[i];
49
+ let otherChild = parentNode.children[i];
46
50
  if (grandParent) {
47
51
  // parent node is not a root node
48
52
  grandParent.addChildAfter(parentNode, otherChild);
49
53
  parentNode.detachFromParent();
50
- const width = parentNode.container.containerElement.clientWidth;
51
- const height = parentNode.container.containerElement.clientHeight;
54
+ let width = parentNode.container.containerElement.clientWidth;
55
+ let height = parentNode.container.containerElement.clientHeight;
52
56
  parentNode.container.destroy();
53
57
  otherChild.container.resize(width, height);
54
58
  grandParent.performLayout(false);
@@ -68,7 +72,7 @@ export class DockLayoutEngine {
68
72
  parentNode.performLayout(false);
69
73
  // Set the next sibling as the active child (e.g. for a Tab host, it would select it as the active tab)
70
74
  if (parentNode.children.length > 0) {
71
- const nextActiveSibling = parentNode.children[Math.max(0, siblingIndex - 1)];
75
+ let nextActiveSibling = parentNode.children[Math.max(0, siblingIndex - 1)];
72
76
  parentNode.container.setActiveChild(nextActiveSibling.container);
73
77
  }
74
78
  }
@@ -76,33 +80,33 @@ export class DockLayoutEngine {
76
80
  this.dockManager.notifyOnUnDock(node);
77
81
  }
78
82
  close(node) {
79
- const parentNode = node?.parent;
83
+ let parentNode = node === null || node === void 0 ? void 0 : node.parent;
80
84
  if (!parentNode)
81
85
  throw new Error('Cannot undock. panel is not a leaf node');
82
86
  //check if closed tab was the active one
83
87
  let activetabClosed = false;
84
88
  if (parentNode.children.length > 0) {
85
89
  if (parentNode.container.tabHost != null) {
86
- const activeTab = parentNode.container.tabHost.getActiveTab();
90
+ let activeTab = parentNode.container.tabHost.getActiveTab();
87
91
  activetabClosed = activeTab.container == node.container;
88
92
  }
89
93
  }
90
94
  // Get the position of the node relative to it's siblings
91
- const siblingIndex = parentNode.children.indexOf(node);
95
+ let siblingIndex = parentNode.children.indexOf(node);
92
96
  // Detach the node from the dock manager's tree hierarchy
93
97
  node.detachFromParent();
94
98
  if (parentNode.children.length < parentNode.container.minimumAllowedChildNodes) {
95
99
  // If the child count falls below the minimum threshold, destroy the parent and merge
96
100
  // the children with their grandparents
97
- const grandParent = parentNode.parent;
101
+ let grandParent = parentNode.parent;
98
102
  for (let i = 0; i < parentNode.children.length; i++) {
99
- const otherChild = parentNode.children[i];
103
+ let otherChild = parentNode.children[i];
100
104
  if (grandParent) {
101
105
  // parent node is not a root node
102
106
  grandParent.addChildAfter(parentNode, otherChild);
103
107
  parentNode.detachFromParent();
104
- const width = parentNode.container.containerElement.clientWidth;
105
- const height = parentNode.container.containerElement.clientHeight;
108
+ let width = parentNode.container.containerElement.clientWidth;
109
+ let height = parentNode.container.containerElement.clientHeight;
106
110
  otherChild.container.resize(width, height);
107
111
  parentNode.container.destroy();
108
112
  grandParent.performLayout(false);
@@ -121,7 +125,7 @@ export class DockLayoutEngine {
121
125
  // using the parent composite container.
122
126
  parentNode.performLayout(false);
123
127
  if (activetabClosed) {
124
- const nextActiveSibling = parentNode.children[Math.max(0, siblingIndex - 1)];
128
+ let nextActiveSibling = parentNode.children[Math.max(0, siblingIndex - 1)];
125
129
  if (nextActiveSibling != null)
126
130
  parentNode.container.setActiveChild(nextActiveSibling.container);
127
131
  }
@@ -130,14 +134,14 @@ export class DockLayoutEngine {
130
134
  this.dockManager.notifyOnUnDock(node);
131
135
  }
132
136
  reorderTabs(node, handle, state, index) {
133
- const N = node.children.length;
134
- const nodeIndexToDelete = state === 'left' ? index : index + 1;
137
+ let N = node.children.length;
138
+ let nodeIndexToDelete = state === 'left' ? index : index + 1;
135
139
  if (state == 'right' && nodeIndexToDelete >= node.children.length)
136
140
  return;
137
141
  if (state == 'left' && nodeIndexToDelete == 0)
138
142
  return;
139
- const indexes = Array.apply(null, { length: N }).map(Number.call, Number);
140
- const indexValue = indexes.splice(nodeIndexToDelete, 1)[0]; //remove element
143
+ let indexes = Array.apply(null, { length: N }).map(Number.call, Number);
144
+ let indexValue = indexes.splice(nodeIndexToDelete, 1)[0]; //remove element
141
145
  indexes.splice(state === 'left' ? index - 1 : index, 0, indexValue); //insert
142
146
  node.children = Utils.orderByIndexes(node.children, indexes); //apply
143
147
  node.container.tabHost.performTabsLayout(indexes);
@@ -155,10 +159,7 @@ export class DockLayoutEngine {
155
159
  return;
156
160
  }
157
161
  // Check if reference node is root node
158
- const model = this.dockManager.context.model;
159
- let compositeContainer;
160
- let compositeNode;
161
- let referenceParent;
162
+ let model = this.dockManager.context.model, compositeContainer, compositeNode, referenceParent;
162
163
  if (referenceNode === model.rootNode) {
163
164
  if (insertBeforeReference) {
164
165
  compositeContainer = this._createDockContainer(direction, newNode, referenceNode);
@@ -183,11 +184,11 @@ export class DockLayoutEngine {
183
184
  if (referenceNode.parent.container.containerType !== direction) {
184
185
  referenceParent = referenceNode.parent;
185
186
  // Get the dimensions of the reference node, for resizing later on
186
- const referenceNodeWidth = referenceNode.container.containerElement.clientWidth;
187
- const referenceNodeHeight = referenceNode.container.containerElement.clientHeight;
187
+ let referenceNodeWidth = referenceNode.container.containerElement.clientWidth;
188
+ let referenceNodeHeight = referenceNode.container.containerElement.clientHeight;
188
189
  // Get the dimensions of the reference node, for resizing later on
189
- const referenceNodeParentWidth = referenceParent.container.containerElement.clientWidth;
190
- const referenceNodeParentHeight = referenceParent.container.containerElement.clientHeight;
190
+ let referenceNodeParentWidth = referenceParent.container.containerElement.clientWidth;
191
+ let referenceNodeParentHeight = referenceParent.container.containerElement.clientHeight;
191
192
  // Replace the reference node with a new composite node with the reference and new node as it's children
192
193
  compositeContainer = this._createDockContainer(direction, newNode, referenceNode);
193
194
  compositeNode = new DockNode(compositeContainer);
@@ -219,17 +220,12 @@ export class DockLayoutEngine {
219
220
  referenceParent.container.setActiveChild(newNode.container);
220
221
  }
221
222
  // force resize the panel
222
- const containerWidth = newNode.container.containerElement.clientWidth;
223
- const containerHeight = newNode.container.containerElement.clientHeight;
223
+ let containerWidth = newNode.container.containerElement.clientWidth;
224
+ let containerHeight = newNode.container.containerElement.clientHeight;
224
225
  newNode.container.resize(containerWidth, containerHeight);
225
226
  this.dockManager.invalidate();
226
227
  this.dockManager.notifyOnDock(newNode);
227
228
  }
228
- _forceResizeCompositeContainer = (container) => {
229
- const width = container.containerElement.clientWidth;
230
- const height = container.containerElement.clientHeight;
231
- container.resize(width, height);
232
- };
233
229
  _createDockContainer(containerType, newNode, referenceNode) {
234
230
  if (containerType === 'horizontal')
235
231
  return new HorizontalDockContainer(this.dockManager, [newNode.container, referenceNode.container]);
@@ -240,10 +236,10 @@ export class DockLayoutEngine {
240
236
  throw new Error('Failed to create dock container of type: ' + containerType);
241
237
  }
242
238
  /**
243
- * Gets the bounds of the new node if it were to dock with the specified configuration
244
- * The state is not modified in this function. It is used for showing a preview of where
245
- * the panel would be docked when hovered over a dock wheel button
246
- */
239
+ * Gets the bounds of the new node if it were to dock with the specified configuration
240
+ * The state is not modified in this function. It is used for showing a preview of where
241
+ * the panel would be docked when hovered over a dock wheel button
242
+ */
247
243
  getDockBounds(referenceNode, containerToDock, direction, insertBeforeReference) {
248
244
  let compositeNode; // The node that contains the splitter / fill node
249
245
  let childCount;
@@ -252,9 +248,9 @@ export class DockLayoutEngine {
252
248
  if (direction === 'fill') {
253
249
  // Since this is a fill operation, the highlight bounds is the same as the reference node
254
250
  // TODO: Create a tab handle highlight to show that it's going to be docked in a tab
255
- const targetElement = referenceNode.container.containerElement;
256
- const outerRect = this.dockManager.element.getBoundingClientRect();
257
- const targetElementRect = targetElement.getBoundingClientRect();
251
+ let targetElement = referenceNode.container.containerElement;
252
+ let outerRect = this.dockManager.element.getBoundingClientRect();
253
+ let targetElementRect = targetElement.getBoundingClientRect();
258
254
  return { x: targetElementRect.left - outerRect.left, y: targetElementRect.top - outerRect.top, width: targetElement.clientWidth, height: targetElement.clientHeight };
259
255
  }
260
256
  if (referenceNode.parent && referenceNode.parent.container.containerType === 'fill')
@@ -275,17 +271,17 @@ export class DockLayoutEngine {
275
271
  childPosition = (insertBeforeReference ? 0 : 1);
276
272
  hierarchyModified = true;
277
273
  }
278
- const splitBarSize = 5; // TODO: Get from DOM
274
+ let splitBarSize = 5; // TODO: Get from DOM
279
275
  let targetPanelSize = 0;
280
276
  let targetPanelStart = 0;
281
277
  if (direction === 'vertical' || direction === 'horizontal') {
282
278
  // Existing size of the composite container (without the splitter bars).
283
279
  // This will also be the final size of the composite (splitter / fill)
284
280
  // container after the new panel has been docked
285
- const compositeSize = this._getVaringDimension(compositeNode.container, direction) - (childCount - 1) * splitBarSize;
281
+ let compositeSize = this._getVaringDimension(compositeNode.container, direction) - (childCount - 1) * splitBarSize;
286
282
  // size of the newly added panel
287
- const newPanelOriginalSize = this._getVaringDimension(containerToDock, direction);
288
- const scaleMultiplier = compositeSize / (compositeSize + newPanelOriginalSize);
283
+ let newPanelOriginalSize = this._getVaringDimension(containerToDock, direction);
284
+ let scaleMultiplier = compositeSize / (compositeSize + newPanelOriginalSize);
289
285
  // Size of the panel after it has been docked and scaled
290
286
  targetPanelSize = newPanelOriginalSize * scaleMultiplier;
291
287
  if (hierarchyModified)
@@ -297,8 +293,8 @@ export class DockLayoutEngine {
297
293
  }
298
294
  }
299
295
  bounds = {};
300
- const outerRect = this.dockManager.element.getBoundingClientRect();
301
- const rect = compositeNode.container.containerElement.getBoundingClientRect();
296
+ let outerRect = this.dockManager.element.getBoundingClientRect();
297
+ let rect = compositeNode.container.containerElement.getBoundingClientRect();
302
298
  if (direction === 'vertical') {
303
299
  bounds.x = rect.left - outerRect.left;
304
300
  bounds.y = rect.top - outerRect.top + targetPanelStart;