@datagrok-libraries/dock-spawn-dg 0.0.1 → 0.0.3

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 (261) hide show
  1. package/README.md +0 -3
  2. package/index.d.ts +33 -0
  3. package/index.d.ts.map +1 -0
  4. package/index.js +32 -0
  5. package/package.json +10 -17
  6. package/src/BrowserDialogHelper.d.ts.map +1 -0
  7. package/{lib → src}/BrowserDialogHelper.js +18 -12
  8. package/src/BrowserDialogHelper.ts +48 -47
  9. package/src/ContainerType.d.ts.map +1 -0
  10. package/src/ContainerType.ts +1 -1
  11. package/{lib → src}/Dialog.d.ts +7 -7
  12. package/src/Dialog.d.ts.map +1 -0
  13. package/{lib → src}/Dialog.js +46 -58
  14. package/src/Dialog.ts +253 -250
  15. package/src/DockConfig.d.ts.map +1 -0
  16. package/{lib → src}/DockConfig.js +0 -5
  17. package/src/DockConfig.ts +1 -1
  18. package/{lib → src}/DockGraphDeserializer.d.ts +6 -6
  19. package/src/DockGraphDeserializer.d.ts.map +1 -0
  20. package/src/DockGraphDeserializer.js +133 -0
  21. package/src/DockGraphDeserializer.ts +113 -108
  22. package/src/DockGraphSerializer.d.ts +14 -0
  23. package/src/DockGraphSerializer.d.ts.map +1 -0
  24. package/{lib → src}/DockGraphSerializer.js +11 -11
  25. package/src/DockGraphSerializer.ts +48 -47
  26. package/{lib → src}/DockLayoutEngine.d.ts +12 -12
  27. package/src/DockLayoutEngine.d.ts.map +1 -0
  28. package/{lib → src}/DockLayoutEngine.js +49 -53
  29. package/src/DockLayoutEngine.ts +351 -346
  30. package/{lib → src}/DockManager.d.ts +34 -34
  31. package/src/DockManager.d.ts.map +1 -0
  32. package/{lib → src}/DockManager.js +170 -152
  33. package/src/DockManager.ts +860 -833
  34. package/{lib → src}/DockManagerContext.d.ts +3 -3
  35. package/src/DockManagerContext.d.ts.map +1 -0
  36. package/{lib → src}/DockManagerContext.js +2 -5
  37. package/src/DockManagerContext.ts +5 -5
  38. package/{lib → src}/DockModel.d.ts +2 -2
  39. package/src/DockModel.d.ts.map +1 -0
  40. package/{lib → src}/DockModel.js +0 -3
  41. package/src/DockModel.ts +2 -2
  42. package/{lib → src}/DockNode.d.ts +1 -1
  43. package/src/DockNode.d.ts.map +1 -0
  44. package/{lib → src}/DockNode.js +0 -3
  45. package/src/DockNode.ts +2 -2
  46. package/{lib → src}/DockWheel.d.ts +5 -5
  47. package/src/DockWheel.d.ts.map +1 -0
  48. package/{lib → src}/DockWheel.js +3 -11
  49. package/src/DockWheel.ts +6 -6
  50. package/{lib → src}/DockWheelItem.d.ts +3 -3
  51. package/src/DockWheelItem.d.ts.map +1 -0
  52. package/{lib → src}/DockWheelItem.js +1 -8
  53. package/src/DockWheelItem.ts +4 -4
  54. package/{lib → src}/DocumentManagerContainer.d.ts +4 -4
  55. package/src/DocumentManagerContainer.d.ts.map +1 -0
  56. package/{lib → src}/DocumentManagerContainer.js +3 -3
  57. package/src/DocumentManagerContainer.ts +9 -9
  58. package/{lib → src}/DocumentTabPage.d.ts +3 -3
  59. package/src/DocumentTabPage.d.ts.map +1 -0
  60. package/{lib → src}/DocumentTabPage.js +2 -2
  61. package/src/DocumentTabPage.ts +6 -6
  62. package/{lib → src}/DraggableContainer.d.ts +7 -7
  63. package/src/DraggableContainer.d.ts.map +1 -0
  64. package/{lib → src}/DraggableContainer.js +3 -16
  65. package/src/DraggableContainer.ts +10 -10
  66. package/src/EventHandler.d.ts.map +1 -0
  67. package/{lib → src}/EventHandler.js +0 -3
  68. package/src/EventHandler.ts +1 -1
  69. package/{lib → src}/FillDockContainer.d.ts +8 -8
  70. package/src/FillDockContainer.d.ts.map +1 -0
  71. package/{lib → src}/FillDockContainer.js +4 -14
  72. package/src/FillDockContainer.ts +10 -10
  73. package/src/HorizontalDockContainer.d.ts +7 -0
  74. package/src/HorizontalDockContainer.d.ts.map +1 -0
  75. package/{lib → src}/HorizontalDockContainer.js +3 -3
  76. package/src/HorizontalDockContainer.ts +6 -6
  77. package/{lib → src}/PanelContainer.d.ts +21 -20
  78. package/src/PanelContainer.d.ts.map +1 -0
  79. package/{lib → src}/PanelContainer.js +144 -146
  80. package/src/PanelContainer.ts +590 -574
  81. package/src/Point.d.ts.map +1 -0
  82. package/{lib → src}/Point.js +0 -2
  83. package/{lib → src}/ResizableContainer.d.ts +8 -8
  84. package/src/ResizableContainer.d.ts.map +1 -0
  85. package/{lib → src}/ResizableContainer.js +4 -17
  86. package/src/ResizableContainer.ts +11 -11
  87. package/{lib → src}/ResizeHandle.d.ts +1 -1
  88. package/src/ResizeHandle.d.ts.map +1 -0
  89. package/{lib → src}/ResizeHandle.js +0 -10
  90. package/src/ResizeHandle.ts +2 -2
  91. package/{lib → src}/SplitterBar.d.ts +3 -3
  92. package/src/SplitterBar.d.ts.map +1 -0
  93. package/{lib → src}/SplitterBar.js +2 -14
  94. package/src/SplitterBar.ts +5 -5
  95. package/{lib → src}/SplitterDockContainer.d.ts +7 -7
  96. package/src/SplitterDockContainer.d.ts.map +1 -0
  97. package/{lib → src}/SplitterDockContainer.js +1 -11
  98. package/src/SplitterDockContainer.ts +8 -8
  99. package/{lib → src}/SplitterPanel.d.ts +2 -2
  100. package/src/SplitterPanel.d.ts.map +1 -0
  101. package/{lib → src}/SplitterPanel.js +2 -6
  102. package/src/SplitterPanel.ts +4 -4
  103. package/{lib → src}/TabHandle.d.ts +5 -5
  104. package/src/TabHandle.d.ts.map +1 -0
  105. package/{lib → src}/TabHandle.js +81 -95
  106. package/src/TabHandle.ts +314 -311
  107. package/{lib → src}/TabHost.d.ts +6 -6
  108. package/src/TabHost.d.ts.map +1 -0
  109. package/{lib → src}/TabHost.js +4 -19
  110. package/src/TabHost.ts +9 -9
  111. package/{lib → src}/TabPage.d.ts +4 -4
  112. package/src/TabPage.d.ts.map +1 -0
  113. package/{lib → src}/TabPage.js +3 -10
  114. package/src/TabPage.ts +6 -6
  115. package/{lib → src}/UndockInitiator.d.ts +4 -4
  116. package/src/UndockInitiator.d.ts.map +1 -0
  117. package/{lib → src}/UndockInitiator.js +2 -14
  118. package/src/UndockInitiator.ts +7 -7
  119. package/src/Utils.d.ts.map +1 -0
  120. package/{lib → src}/Utils.js +1 -1
  121. package/src/Utils.ts +1 -1
  122. package/src/VerticalDockContainer.d.ts +7 -0
  123. package/src/VerticalDockContainer.d.ts.map +1 -0
  124. package/{lib → src}/VerticalDockContainer.js +3 -3
  125. package/src/VerticalDockContainer.ts +7 -7
  126. package/src/enums/PanelType.d.ts.map +1 -0
  127. package/src/enums/PanelType.ts +1 -1
  128. package/src/enums/TabHostDirection.d.ts.map +1 -0
  129. package/src/enums/TabHostDirection.ts +1 -1
  130. package/src/enums/WheelTypes.d.ts.map +1 -0
  131. package/src/enums/WheelTypes.ts +1 -1
  132. package/src/i18n/Defaults.d.ts.map +1 -0
  133. package/src/i18n/Defaults.ts +2 -2
  134. package/{lib → src}/i18n/Localizer.d.ts +1 -1
  135. package/src/i18n/Localizer.d.ts.map +1 -0
  136. package/{lib → src}/i18n/Localizer.js +3 -3
  137. package/src/i18n/Localizer.ts +2 -2
  138. package/src/index.d.ts.map +1 -0
  139. package/{lib → src}/interfaces/IDockContainer.d.ts +4 -4
  140. package/src/interfaces/IDockContainer.d.ts.map +1 -0
  141. package/src/interfaces/IDockContainer.ts +7 -7
  142. package/src/interfaces/IDockContainerWithSize.d.ts +6 -0
  143. package/src/interfaces/IDockContainerWithSize.d.ts.map +1 -0
  144. package/src/interfaces/IDockContainerWithSize.ts +3 -3
  145. package/{lib → src}/interfaces/ILayoutEventListener.d.ts +6 -6
  146. package/src/interfaces/ILayoutEventListener.d.ts.map +1 -0
  147. package/src/interfaces/ILayoutEventListener.ts +7 -7
  148. package/src/interfaces/IMouseOrTouchEvent.d.ts.map +1 -0
  149. package/src/interfaces/IMouseOrTouchEvent.ts +1 -1
  150. package/src/interfaces/INodeInfo.d.ts +8 -0
  151. package/src/interfaces/INodeInfo.d.ts.map +1 -0
  152. package/src/interfaces/INodeInfo.ts +2 -2
  153. package/src/interfaces/IPanelInfo.d.ts +10 -0
  154. package/src/interfaces/IPanelInfo.d.ts.map +1 -0
  155. package/src/interfaces/IPanelInfo.ts +3 -3
  156. package/src/interfaces/IRectangle.d.ts.map +1 -0
  157. package/src/interfaces/IRectangle.ts +1 -1
  158. package/src/interfaces/ISize.d.ts.map +1 -0
  159. package/{lib → src}/interfaces/IState.d.ts +1 -0
  160. package/src/interfaces/IState.d.ts.map +1 -0
  161. package/src/interfaces/IState.ts +1 -0
  162. package/src/interfaces/IThickness.d.ts.map +1 -0
  163. package/src/interfaces/IThickness.ts +1 -1
  164. package/{lib → src}/webcomponent/DockSpawnTsWebcomponent.d.ts +4 -4
  165. package/src/webcomponent/DockSpawnTsWebcomponent.d.ts.map +1 -0
  166. package/{lib → src}/webcomponent/DockSpawnTsWebcomponent.js +71 -63
  167. package/src/webcomponent/DockSpawnTsWebcomponent.ts +239 -239
  168. package/src/webcomponent/styles.d.ts.map +1 -0
  169. package/{lib → src}/webcomponent/styles.js +2 -1
  170. package/tsconfig.json +13 -26
  171. package/.eslintrc.json +0 -47
  172. package/lib/BrowserDialogHelper.d.ts.map +0 -1
  173. package/lib/ContainerType.d.ts.map +0 -1
  174. package/lib/Dialog.d.ts.map +0 -1
  175. package/lib/DockConfig.d.ts.map +0 -1
  176. package/lib/DockGraphDeserializer.d.ts.map +0 -1
  177. package/lib/DockGraphDeserializer.js +0 -114
  178. package/lib/DockGraphSerializer.d.ts +0 -14
  179. package/lib/DockGraphSerializer.d.ts.map +0 -1
  180. package/lib/DockLayoutEngine.d.ts.map +0 -1
  181. package/lib/DockManager.d.ts.map +0 -1
  182. package/lib/DockManagerContext.d.ts.map +0 -1
  183. package/lib/DockModel.d.ts.map +0 -1
  184. package/lib/DockNode.d.ts.map +0 -1
  185. package/lib/DockWheel.d.ts.map +0 -1
  186. package/lib/DockWheelItem.d.ts.map +0 -1
  187. package/lib/DocumentManagerContainer.d.ts.map +0 -1
  188. package/lib/DocumentTabPage.d.ts.map +0 -1
  189. package/lib/DraggableContainer.d.ts.map +0 -1
  190. package/lib/EventHandler.d.ts.map +0 -1
  191. package/lib/FillDockContainer.d.ts.map +0 -1
  192. package/lib/HorizontalDockContainer.d.ts +0 -7
  193. package/lib/HorizontalDockContainer.d.ts.map +0 -1
  194. package/lib/PanelContainer.d.ts.map +0 -1
  195. package/lib/Point.d.ts.map +0 -1
  196. package/lib/ResizableContainer.d.ts.map +0 -1
  197. package/lib/ResizeHandle.d.ts.map +0 -1
  198. package/lib/SplitterBar.d.ts.map +0 -1
  199. package/lib/SplitterDockContainer.d.ts.map +0 -1
  200. package/lib/SplitterPanel.d.ts.map +0 -1
  201. package/lib/TabHandle.d.ts.map +0 -1
  202. package/lib/TabHost.d.ts.map +0 -1
  203. package/lib/TabPage.d.ts.map +0 -1
  204. package/lib/UndockInitiator.d.ts.map +0 -1
  205. package/lib/Utils.d.ts.map +0 -1
  206. package/lib/VerticalDockContainer.d.ts +0 -7
  207. package/lib/VerticalDockContainer.d.ts.map +0 -1
  208. package/lib/enums/PanelType.d.ts.map +0 -1
  209. package/lib/enums/TabHostDirection.d.ts.map +0 -1
  210. package/lib/enums/WheelTypes.d.ts.map +0 -1
  211. package/lib/i18n/Defaults.d.ts.map +0 -1
  212. package/lib/i18n/Localizer.d.ts.map +0 -1
  213. package/lib/index.d.ts.map +0 -1
  214. package/lib/interfaces/IDockContainer.d.ts.map +0 -1
  215. package/lib/interfaces/IDockContainerWithSize.d.ts +0 -6
  216. package/lib/interfaces/IDockContainerWithSize.d.ts.map +0 -1
  217. package/lib/interfaces/ILayoutEventListener.d.ts.map +0 -1
  218. package/lib/interfaces/IMouseOrTouchEvent.d.ts.map +0 -1
  219. package/lib/interfaces/INodeInfo.d.ts +0 -8
  220. package/lib/interfaces/INodeInfo.d.ts.map +0 -1
  221. package/lib/interfaces/IPanelInfo.d.ts +0 -10
  222. package/lib/interfaces/IPanelInfo.d.ts.map +0 -1
  223. package/lib/interfaces/IRectangle.d.ts.map +0 -1
  224. package/lib/interfaces/ISize.d.ts.map +0 -1
  225. package/lib/interfaces/IState.d.ts.map +0 -1
  226. package/lib/interfaces/IThickness.d.ts.map +0 -1
  227. package/lib/webcomponent/DockSpawnTsWebcomponent.d.ts.map +0 -1
  228. package/lib/webcomponent/styles.d.ts.map +0 -1
  229. package/tsconfig.tsbuildinfo +0 -1
  230. /package/{lib → src}/BrowserDialogHelper.d.ts +0 -0
  231. /package/{lib → src}/ContainerType.d.ts +0 -0
  232. /package/{lib → src}/ContainerType.js +0 -0
  233. /package/{lib → src}/DockConfig.d.ts +0 -0
  234. /package/{lib → src}/EventHandler.d.ts +0 -0
  235. /package/{lib → src}/Point.d.ts +0 -0
  236. /package/{lib → src}/Utils.d.ts +0 -0
  237. /package/{lib → src}/enums/PanelType.d.ts +0 -0
  238. /package/{lib → src}/enums/PanelType.js +0 -0
  239. /package/{lib → src}/enums/TabHostDirection.d.ts +0 -0
  240. /package/{lib → src}/enums/TabHostDirection.js +0 -0
  241. /package/{lib → src}/enums/WheelTypes.d.ts +0 -0
  242. /package/{lib → src}/enums/WheelTypes.js +0 -0
  243. /package/{lib → src}/i18n/Defaults.d.ts +0 -0
  244. /package/{lib → src}/i18n/Defaults.js +0 -0
  245. /package/{lib → src}/index.d.ts +0 -0
  246. /package/{lib → src}/index.js +0 -0
  247. /package/{lib → src}/interfaces/IDockContainer.js +0 -0
  248. /package/{lib → src}/interfaces/IDockContainerWithSize.js +0 -0
  249. /package/{lib → src}/interfaces/ILayoutEventListener.js +0 -0
  250. /package/{lib → src}/interfaces/IMouseOrTouchEvent.d.ts +0 -0
  251. /package/{lib → src}/interfaces/IMouseOrTouchEvent.js +0 -0
  252. /package/{lib → src}/interfaces/INodeInfo.js +0 -0
  253. /package/{lib → src}/interfaces/IPanelInfo.js +0 -0
  254. /package/{lib → src}/interfaces/IRectangle.d.ts +0 -0
  255. /package/{lib → src}/interfaces/IRectangle.js +0 -0
  256. /package/{lib → src}/interfaces/ISize.d.ts +0 -0
  257. /package/{lib → src}/interfaces/ISize.js +0 -0
  258. /package/{lib → src}/interfaces/IState.js +0 -0
  259. /package/{lib → src}/interfaces/IThickness.d.ts +0 -0
  260. /package/{lib → src}/interfaces/IThickness.js +0 -0
  261. /package/{lib → src}/webcomponent/styles.d.ts +0 -0
@@ -1,44 +1,31 @@
1
- import { DockWheel } from './DockWheel.js';
2
- import { Utils } from './Utils.js';
3
- import { Point } from './Point.js';
4
- import { DockManagerContext } from './DockManagerContext.js';
5
- import { DockNode } from './DockNode.js';
6
- import { DockLayoutEngine } from './DockLayoutEngine.js';
7
- import { EventHandler } from './EventHandler.js';
8
- import { Dialog } from './Dialog.js';
9
- import { DockGraphSerializer } from './DockGraphSerializer.js';
10
- import { DockGraphDeserializer } from './DockGraphDeserializer.js';
11
- import { PanelContainer } from './PanelContainer.js';
12
- import { DockConfig } from './DockConfig.js';
13
- import { PanelType } from './enums/PanelType.js';
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { DockWheel } from "./DockWheel";
11
+ import { Utils } from "./Utils";
12
+ import { Point } from "./Point";
13
+ import { DockManagerContext } from "./DockManagerContext";
14
+ import { DockNode } from "./DockNode";
15
+ import { DockLayoutEngine } from "./DockLayoutEngine";
16
+ import { EventHandler } from "./EventHandler";
17
+ import { Dialog } from "./Dialog";
18
+ import { DockGraphSerializer } from "./DockGraphSerializer";
19
+ import { DockGraphDeserializer } from "./DockGraphDeserializer";
20
+ import { PanelContainer } from "./PanelContainer";
21
+ import { DockConfig } from "./DockConfig";
22
+ import { PanelType } from "./enums/PanelType";
14
23
  /**
15
24
  * Dock manager manages all the dock panels in a hierarchy, similar to visual studio.
16
25
  * It owns a Html Div element inside which all panels are docked
17
26
  * Initially the document manager takes up the central space and acts as the root node
18
27
  */
19
28
  export class DockManager {
20
- element;
21
- context;
22
- dockWheel;
23
- layoutEngine;
24
- mouseMoveHandler;
25
- touchMoveHandler;
26
- layoutEventListeners;
27
- closePanelContainerCallback;
28
- defaultDialogPosition;
29
- backgroundContext;
30
- zIndexCounter;
31
- zIndexTabHost;
32
- zIndexTabHandle;
33
- zIndexDialogCounter;
34
- onKeyPressBound;
35
- iframes;
36
- _undockEnabled;
37
- getElementCallback;
38
- _config;
39
- _activePanel;
40
- _lastPanelNotADialog;
41
- _activeDocument;
42
29
  constructor(element, config) {
43
30
  if (element === undefined)
44
31
  throw new Error('Invalid Dock Manager element provided');
@@ -54,7 +41,7 @@ export class DockManager {
54
41
  initialize() {
55
42
  this.backgroundContext = this.element.children[0];
56
43
  this.context = new DockManagerContext(this);
57
- const documentNode = new DockNode(this.context.documentManagerView);
44
+ let documentNode = new DockNode(this.context.documentManagerView);
58
45
  this.context.model.rootNode = documentNode;
59
46
  this.context.model.documentManagerNode = documentNode;
60
47
  this.context.model.dialogs = [];
@@ -77,9 +64,9 @@ export class DockManager {
77
64
  this.element.addEventListener('keydown', this.onKeyPressBound);
78
65
  }
79
66
  onKeyPress(e) {
80
- if (e.key == 'Escape' && this.activePanel && !this.activePanel._hideCloseButton) {
67
+ if (e.key == "Escape" && this.activePanel && !this.activePanel._hideCloseButton) {
81
68
  if ((this.activePanel.isDialog && this._config.escClosesDialog) || (!this.activePanel.isDialog && this._config.escClosesWindow)) {
82
- const panel = this.activePanel;
69
+ let panel = this.activePanel;
83
70
  this.activePanel = null;
84
71
  panel.close();
85
72
  }
@@ -88,21 +75,21 @@ export class DockManager {
88
75
  checkXBounds(container, currentMousePosition, previousMousePosition, resizeWest, resizeEast) {
89
76
  if (this._config.moveOnlyWithinDockConatiner)
90
77
  return this.checkXBoundsWithinDockContainer(container, currentMousePosition, previousMousePosition, resizeWest, resizeEast);
91
- const rect = this.element.getBoundingClientRect();
78
+ let rect = this.element.getBoundingClientRect();
92
79
  let dx = Math.floor(currentMousePosition.x - previousMousePosition.x);
93
- const leftBounds = container.offsetLeft + container.offsetWidth + dx + rect.left < 40; // || (container.offsetLeft + container.offsetWidth + dx - 40 ) < 0;
94
- const rightBounds = container.offsetLeft + dx + rect.left > (window.innerWidth - 40);
80
+ let leftBounds = container.offsetLeft + container.offsetWidth + dx + rect.left < 40; // || (container.offsetLeft + container.offsetWidth + dx - 40 ) < 0;
81
+ let rightBounds = container.offsetLeft + dx + rect.left > (window.innerWidth - 40);
95
82
  if (leftBounds) {
96
83
  previousMousePosition.x = currentMousePosition.x;
97
84
  dx = 0;
98
- const d = 40 - (container.offsetWidth + container.offsetLeft + rect.left);
85
+ let d = 40 - (container.offsetWidth + container.offsetLeft + rect.left);
99
86
  if (d > 0)
100
87
  dx = d;
101
88
  }
102
89
  else if (rightBounds) {
103
90
  previousMousePosition.x = currentMousePosition.x;
104
91
  dx = 0;
105
- const d = (window.innerWidth - 40) - container.offsetLeft - rect.left;
92
+ let d = (window.innerWidth - 40) - container.offsetLeft - rect.left;
106
93
  if (d > 0)
107
94
  dx = d;
108
95
  }
@@ -110,10 +97,10 @@ export class DockManager {
110
97
  }
111
98
  checkXBoundsWithinDockContainer(container, currentMousePosition, previousMousePosition, resizeWest, resizeEast) {
112
99
  let dx = currentMousePosition.x - previousMousePosition.x;
113
- const bbOuter = this.element.getBoundingClientRect();
114
- const bbInner = container.getBoundingClientRect();
115
- const leftBounds = dx < 0 && bbInner.left + dx < bbOuter.left && !resizeEast;
116
- const rightBounds = dx > 0 && bbInner.right + dx > bbOuter.right && !resizeWest;
100
+ let bbOuter = this.element.getBoundingClientRect();
101
+ let bbInner = container.getBoundingClientRect();
102
+ let leftBounds = dx < 0 && bbInner.left + dx < bbOuter.left && !resizeEast;
103
+ let rightBounds = dx > 0 && bbInner.right + dx > bbOuter.right && !resizeWest;
117
104
  if (leftBounds) {
118
105
  currentMousePosition.x -= dx;
119
106
  dx = bbOuter.left - bbInner.left;
@@ -129,10 +116,10 @@ export class DockManager {
129
116
  checkYBounds(container, currentMousePosition, previousMousePosition, resizeNorth, resizeSouth) {
130
117
  if (this._config.moveOnlyWithinDockConatiner)
131
118
  return this.checkYBoundsWithinDockContainer(container, currentMousePosition, previousMousePosition, resizeNorth, resizeSouth);
132
- const rect = this.element.getBoundingClientRect();
119
+ let rect = this.element.getBoundingClientRect();
133
120
  let dy = Math.floor(currentMousePosition.y - previousMousePosition.y);
134
- const topBounds = container.offsetTop + dy + rect.top < 0;
135
- const bottomBounds = container.offsetTop + dy + rect.top > (window.innerHeight - 16);
121
+ let topBounds = container.offsetTop + dy + rect.top < 0;
122
+ let bottomBounds = container.offsetTop + dy + rect.top > (window.innerHeight - 16);
136
123
  if (topBounds) {
137
124
  previousMousePosition.y = currentMousePosition.y;
138
125
  dy = 0;
@@ -140,7 +127,7 @@ export class DockManager {
140
127
  else if (bottomBounds) {
141
128
  previousMousePosition.y = currentMousePosition.y;
142
129
  dy = 0;
143
- const d = (window.innerHeight - 16) - container.offsetTop - rect.top;
130
+ let d = (window.innerHeight - 16) - container.offsetTop - rect.top;
144
131
  if (d > 0)
145
132
  dy = d;
146
133
  }
@@ -148,10 +135,10 @@ export class DockManager {
148
135
  }
149
136
  checkYBoundsWithinDockContainer(container, currentMousePosition, previousMousePosition, resizeNorth, resizeSouth) {
150
137
  let dy = currentMousePosition.y - previousMousePosition.y;
151
- const bbOuter = this.element.getBoundingClientRect();
152
- const bbInner = container.getBoundingClientRect();
153
- const topBounds = dy < 0 && bbInner.top + dy < bbOuter.top && !resizeSouth;
154
- const bottomBounds = dy > 0 && bbInner.bottom + dy > bbOuter.bottom && !resizeNorth;
138
+ let bbOuter = this.element.getBoundingClientRect();
139
+ let bbInner = container.getBoundingClientRect();
140
+ let topBounds = dy < 0 && bbInner.top + dy < bbOuter.top && !resizeSouth;
141
+ let bottomBounds = dy > 0 && bbInner.bottom + dy > bbOuter.bottom && !resizeNorth;
155
142
  if (topBounds) {
156
143
  currentMousePosition.y -= dy;
157
144
  dy = bbOuter.top - bbInner.top;
@@ -177,9 +164,8 @@ export class DockManager {
177
164
  this.element.style.width = width + 'px';
178
165
  this.element.style.height = height + 'px';
179
166
  this.context.model.rootNode.container.resize(width, height);
180
- let offsetX = 0;
181
- let offsetY = 0;
182
- for (const dialog of this.context.model.dialogs) {
167
+ let offsetX = 0, offsetY = 0;
168
+ for (let dialog of this.context.model.dialogs) {
183
169
  if (dialog.position.x > this.element.clientWidth || dialog.position.y > this.element.clientHeight) {
184
170
  if (offsetX > this.element.clientWidth || offsetY > this.element.clientHeight)
185
171
  offsetX = 0, offsetY = 0;
@@ -190,8 +176,8 @@ export class DockManager {
190
176
  }
191
177
  }
192
178
  /**
193
- * Reset the dock model . This happens when the state is loaded from json
194
- */
179
+ * Reset the dock model . This happens when the state is loaded from json
180
+ */
195
181
  setModel(model) {
196
182
  Utils.removeNode(this.context.documentManagerView.containerElement);
197
183
  this.context.model = model;
@@ -206,7 +192,7 @@ export class DockManager {
206
192
  node.container.setActiveChild(child.container);
207
193
  });
208
194
  node.children.reverse();
209
- const container = node.container;
195
+ let container = node.container;
210
196
  node.container.resize(container.state.width, container.state.height);
211
197
  // node.performLayout();
212
198
  }
@@ -259,17 +245,17 @@ export class DockManager {
259
245
  this.dockWheel.activeNode = this._findNodeOnPoint(e.clientX, e.clientY);
260
246
  }
261
247
  /**
262
- * Perform a DFS (DeepFirstSearch) on the dock model's tree to find the
263
- * deepest level panel (i.e. the top-most non-overlapping panel)
264
- * that is under the mouse cursor
265
- * Retuns null if no node is found under this point
266
- */
248
+ * Perform a DFS (DeepFirstSearch) on the dock model's tree to find the
249
+ * deepest level panel (i.e. the top-most non-overlapping panel)
250
+ * that is under the mouse cursor
251
+ * Retuns null if no node is found under this point
252
+ */
267
253
  _findNodeOnPoint(x, y) {
268
- const stack = [];
254
+ let stack = [];
269
255
  stack.push(this.context.model.rootNode);
270
256
  let bestMatch;
271
257
  while (stack.length > 0) {
272
- const topNode = stack.pop();
258
+ let topNode = stack.pop();
273
259
  if (Utils.isPointInsideNode(x, y, topNode)) {
274
260
  // This node contains the point.
275
261
  bestMatch = topNode;
@@ -333,21 +319,21 @@ export class DockManager {
333
319
  return retdiag;
334
320
  //try to undock just in case
335
321
  try {
336
- const node = this._findNodeFromContainer(container);
322
+ let node = this._findNodeFromContainer(container);
337
323
  this.layoutEngine.undock(node);
338
324
  }
339
325
  catch (err) { }
340
- const panel = container;
326
+ let panel = container;
341
327
  Utils.removeNode(panel.elementPanel);
342
328
  panel.isDialog = true;
343
- const dialog = new Dialog(panel, this, grayoutParent, disableResize);
329
+ let dialog = new Dialog(panel, this, grayoutParent, disableResize);
344
330
  dialog.setPosition(x, y);
345
331
  return dialog;
346
332
  }
347
333
  _requestDockDialog(referenceNode, dialog, layoutDockFunction) {
348
334
  // Get the active dialog that was dragged on to the dock wheel
349
- const panel = dialog.panel;
350
- const newNode = new DockNode(panel);
335
+ let panel = dialog.panel;
336
+ let newNode = new DockNode(panel);
351
337
  panel.prepareForDocking();
352
338
  panel.elementContentContainer.style.zIndex = '';
353
339
  dialog.destroy();
@@ -357,34 +343,37 @@ export class DockManager {
357
343
  }
358
344
  _checkShowBackgroundContext() {
359
345
  if (this.backgroundContext != null) {
360
- if (this.context.model.documentManagerNode.children.length > 0)
361
- this.backgroundContext.style.display = 'none';
362
- else
363
- this.backgroundContext.style.display = 'block';
346
+ if (this.context.model.documentManagerNode.children.length > 0) {
347
+ this.backgroundContext.style.display = "none";
348
+ }
349
+ else {
350
+ this.backgroundContext.style.display = "block";
351
+ }
364
352
  }
365
353
  }
366
354
  _requestDockContainer(referenceNode, container, layoutDockFunction, dockedToPrevious, ratio) {
367
355
  // Get the active dialog that was dragged on to the dock wheel
368
- const newNode = new DockNode(container);
356
+ let newNode = new DockNode(container);
369
357
  if (container.containerType === 'panel') {
370
- const panel = container;
358
+ let panel = container;
371
359
  panel.prepareForDocking();
372
360
  Utils.removeNode(panel.elementPanel);
373
361
  }
374
362
  let ratios = null;
375
363
  let oldSplitter;
376
- if (referenceNode?.parent && referenceNode.parent.container) {
364
+ if ((referenceNode === null || referenceNode === void 0 ? void 0 : referenceNode.parent) && referenceNode.parent.container) {
377
365
  oldSplitter = referenceNode.parent.container;
378
366
  if (oldSplitter.getRatios)
379
367
  ratios = oldSplitter.getRatios();
380
368
  }
381
369
  layoutDockFunction(referenceNode, newNode);
382
370
  if (ratio && newNode.parent && (newNode.parent.container.containerType === 'vertical' || newNode.parent.container.containerType === 'horizontal')) {
383
- const splitter = newNode.parent.container;
371
+ let splitter = newNode.parent.container;
384
372
  if (ratios && oldSplitter == splitter) {
385
373
  if (dockedToPrevious) {
386
- for (let i = 0; i < ratios.length; i++)
374
+ for (let i = 0; i < ratios.length; i++) {
387
375
  ratios[i] = ratios[i] - ratios[i] * ratio;
376
+ }
388
377
  ratios.push(ratio);
389
378
  }
390
379
  else {
@@ -402,25 +391,25 @@ export class DockManager {
402
391
  return newNode;
403
392
  }
404
393
  _requestTabReorder(container, e) {
405
- const node = this._findNodeFromContainer(container);
394
+ let node = this._findNodeFromContainer(container);
406
395
  this.layoutEngine.reorderTabs(node, e.handle, e.state, e.index);
407
396
  }
408
397
  /**
409
- * Undocks a panel and converts it into a floating dialog window
410
- * It is assumed that only leaf nodes (panels) can be undocked
411
- */
398
+ * Undocks a panel and converts it into a floating dialog window
399
+ * It is assumed that only leaf nodes (panels) can be undocked
400
+ */
412
401
  requestUndockToDialog(container, event, dragOffset) {
413
- const node = this._findNodeFromContainer(container);
402
+ let node = this._findNodeFromContainer(container);
414
403
  this.layoutEngine.undock(node);
415
- const panelContainer = node.container;
404
+ let panelContainer = node.container;
416
405
  panelContainer.elementPanel.style.display = 'block';
417
406
  // Create a new dialog window for the undocked panel
418
- const dialog = new Dialog(panelContainer, this, null);
407
+ let dialog = new Dialog(panelContainer, this, null);
419
408
  if (panelContainer.lastDialogSize)
420
409
  dialog.resize(panelContainer.lastDialogSize.width, panelContainer.lastDialogSize.height);
421
410
  if (event !== undefined) {
422
411
  // Adjust the relative position
423
- const dialogWidth = dialog.elementDialog.clientWidth;
412
+ let dialogWidth = dialog.elementDialog.clientWidth;
424
413
  if (dragOffset.x > dialogWidth)
425
414
  dragOffset.x = 0.75 * dialogWidth;
426
415
  dialog.setPosition(event.clientX - dragOffset.x, event.clientY - dragOffset.y);
@@ -429,10 +418,10 @@ export class DockManager {
429
418
  return dialog;
430
419
  }
431
420
  /**
432
- * closes a Panel
433
- */
421
+ * closes a Panel
422
+ */
434
423
  requestClose(container) {
435
- const node = this._findNodeFromContainer(container);
424
+ let node = this._findNodeFromContainer(container);
436
425
  this.layoutEngine.close(node);
437
426
  if (this.activePanel == container)
438
427
  this.activePanel = null;
@@ -443,15 +432,15 @@ export class DockManager {
443
432
  }
444
433
  }
445
434
  /**
446
- * Opens a Element in a Dialog
447
- * It is assumed that only leaf nodes (panels) can be undocked
448
- */
435
+ * Opens a Element in a Dialog
436
+ * It is assumed that only leaf nodes (panels) can be undocked
437
+ */
449
438
  openInDialog(container, event, dragOffset, disableResize) {
450
439
  // Create a new dialog window for the undocked panel
451
- const dialog = new Dialog(container, this, null, disableResize);
440
+ let dialog = new Dialog(container, this, null, disableResize);
452
441
  if (event != null) {
453
442
  // Adjust the relative position
454
- const dialogWidth = dialog.elementDialog.clientWidth;
443
+ let dialogWidth = dialog.elementDialog.clientWidth;
455
444
  if (dragOffset.x > dialogWidth)
456
445
  dragOffset.x = 0.75 * dialogWidth;
457
446
  dialog.setPosition(event.clientX - dragOffset.x, event.clientY - dragOffset.y);
@@ -460,34 +449,35 @@ export class DockManager {
460
449
  return dialog;
461
450
  }
462
451
  /** Undocks a panel and converts it into a floating dialog window
463
- * It is assumed that only leaf nodes (panels) can be undocked
464
- */
452
+ * It is assumed that only leaf nodes (panels) can be undocked
453
+ */
465
454
  requestUndock(container) {
466
- const node = this._findNodeFromContainer(container);
455
+ let node = this._findNodeFromContainer(container);
467
456
  this.layoutEngine.undock(node);
468
457
  }
469
458
  /**
470
- * Removes a dock container from the dock layout hierarcy
471
- * Returns the node that was removed from the dock tree
472
- */
459
+ * Removes a dock container from the dock layout hierarcy
460
+ * Returns the node that was removed from the dock tree
461
+ */
473
462
  requestRemove(container) {
474
- const node = this._findNodeFromContainer(container);
475
- const parent = node.parent;
463
+ let node = this._findNodeFromContainer(container);
464
+ let parent = node.parent;
476
465
  node.detachFromParent();
477
466
  if (parent)
478
467
  this.rebuildLayout(parent);
479
468
  return node;
480
469
  }
481
470
  getNodeByElementId(id) {
482
- const stack = [];
471
+ var _a, _b;
472
+ let stack = [];
483
473
  stack.push(this.context.model.rootNode);
484
474
  while (stack.length > 0) {
485
- const topNode = stack.pop();
475
+ let topNode = stack.pop();
486
476
  if (topNode.container instanceof PanelContainer) {
487
477
  if (topNode.container.elementContent.id === id)
488
478
  return topNode;
489
479
  if (topNode.container.elementContent instanceof HTMLSlotElement) {
490
- if (topNode.container.elementContent.assignedElements()?.[0]?.id === id)
480
+ if (((_b = (_a = topNode.container.elementContent.assignedElements()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) === id)
491
481
  return topNode;
492
482
  }
493
483
  }
@@ -496,15 +486,16 @@ export class DockManager {
496
486
  return null;
497
487
  }
498
488
  getNodeByElement(element) {
499
- const stack = [];
489
+ var _a;
490
+ let stack = [];
500
491
  stack.push(this.context.model.rootNode);
501
492
  while (stack.length > 0) {
502
- const topNode = stack.pop();
493
+ let topNode = stack.pop();
503
494
  if (topNode.container instanceof PanelContainer) {
504
495
  if (topNode.container.elementContent === element)
505
496
  return topNode;
506
497
  if (topNode.container.elementContent instanceof HTMLSlotElement) {
507
- if (topNode.container.elementContent.assignedElements()?.[0] === element)
498
+ if (((_a = topNode.container.elementContent.assignedElements()) === null || _a === void 0 ? void 0 : _a[0]) === element)
508
499
  return topNode;
509
500
  }
510
501
  }
@@ -514,21 +505,25 @@ export class DockManager {
514
505
  }
515
506
  /** Finds the node that owns the specified [container] */
516
507
  _findNodeFromContainer(container) {
517
- const stack = [];
508
+ //@ts-ignore
509
+ if (!container.title)
510
+ return this.findNodeFromContainerElement(container.containerElement);
511
+ let stack = [];
518
512
  stack.push(this.context.model.rootNode);
519
513
  while (stack.length > 0) {
520
- const topNode = stack.pop();
521
- if (topNode.container === container)
514
+ let topNode = stack.pop();
515
+ //@ts-ignore
516
+ if (topNode.container.title === container.title)
522
517
  return topNode;
523
518
  [].push.apply(stack, topNode.children);
524
519
  }
525
520
  return null;
526
521
  }
527
522
  findNodeFromContainerElement(containerElement) {
528
- const stack = [];
523
+ let stack = [];
529
524
  stack.push(this.context.model.rootNode);
530
525
  while (stack.length > 0) {
531
- const topNode = stack.pop();
526
+ let topNode = stack.pop();
532
527
  if (topNode.container.containerElement === containerElement)
533
528
  return topNode;
534
529
  [].push.apply(stack, topNode.children);
@@ -564,15 +559,17 @@ export class DockManager {
564
559
  }
565
560
  notifyOnTabsReorder(dockNode) {
566
561
  this.layoutEventListeners.forEach((listener) => {
567
- if (listener.onTabsReorder)
562
+ if (listener.onTabsReorder) {
568
563
  listener.onTabsReorder(this, dockNode);
564
+ }
569
565
  });
570
566
  }
571
567
  notifyOnUnDock(dockNode) {
572
568
  this._checkShowBackgroundContext();
573
569
  this.layoutEventListeners.forEach((listener) => {
574
- if (listener.onUndock)
570
+ if (listener.onUndock) {
575
571
  listener.onUndock(this, dockNode);
572
+ }
576
573
  });
577
574
  }
578
575
  notifyOnClosePanel(panel) {
@@ -585,69 +582,80 @@ export class DockManager {
585
582
  this.notifyOnActiveDocumentChange(null, last);
586
583
  }
587
584
  this.layoutEventListeners.forEach((listener) => {
588
- if (listener.onClosePanel)
585
+ if (listener.onClosePanel) {
589
586
  listener.onClosePanel(this, panel);
587
+ }
590
588
  });
591
589
  }
592
590
  notifyOnCreateDialog(dialog) {
593
591
  this.layoutEventListeners.forEach((listener) => {
594
- if (listener.onCreateDialog)
592
+ if (listener.onCreateDialog) {
595
593
  listener.onCreateDialog(this, dialog);
594
+ }
596
595
  });
597
596
  }
598
597
  notifyOnHideDialog(dialog) {
599
598
  this.layoutEventListeners.forEach((listener) => {
600
- if (listener.onHideDialog)
599
+ if (listener.onHideDialog) {
601
600
  listener.onHideDialog(this, dialog);
601
+ }
602
602
  });
603
603
  }
604
604
  notifyOnShowDialog(dialog) {
605
605
  this.layoutEventListeners.forEach((listener) => {
606
- if (listener.onShowDialog)
606
+ if (listener.onShowDialog) {
607
607
  listener.onShowDialog(this, dialog);
608
+ }
608
609
  });
609
610
  }
610
611
  notifyOnChangeDialogPosition(dialog, x, y) {
611
612
  this.layoutEventListeners.forEach((listener) => {
612
- if (listener.onChangeDialogPosition)
613
+ if (listener.onChangeDialogPosition) {
613
614
  listener.onChangeDialogPosition(this, dialog, x, y);
615
+ }
614
616
  });
615
617
  }
616
618
  notifyOnContainerResized(dockContainer) {
617
619
  this.layoutEventListeners.forEach((listener) => {
618
- if (listener.onContainerResized)
620
+ if (listener.onContainerResized) {
619
621
  listener.onContainerResized(this, dockContainer);
622
+ }
620
623
  });
621
624
  }
622
625
  notifyOnTabChange(tabpage) {
623
626
  this.layoutEventListeners.forEach((listener) => {
624
- if (listener.onTabChanged)
627
+ if (listener.onTabChanged) {
625
628
  listener.onTabChanged(this, tabpage);
629
+ }
626
630
  });
627
631
  }
628
632
  notifyOnActivePanelChange(panel, oldActive) {
629
633
  this.layoutEventListeners.forEach((listener) => {
630
- if (listener.onActivePanelChange)
634
+ if (listener.onActivePanelChange) {
631
635
  listener.onActivePanelChange(this, panel, oldActive);
636
+ }
632
637
  });
633
638
  }
634
639
  notifyOnActiveDocumentChange(panel, oldActive) {
635
640
  this.layoutEventListeners.forEach((listener) => {
636
- if (listener.onActiveDocumentChange)
641
+ if (listener.onActiveDocumentChange) {
637
642
  listener.onActiveDocumentChange(this, panel, oldActive);
643
+ }
638
644
  });
639
645
  }
640
646
  saveState() {
641
- const serializer = new DockGraphSerializer();
647
+ let serializer = new DockGraphSerializer();
642
648
  return serializer.serialize(this.context.model);
643
649
  }
644
- async loadState(json) {
645
- const deserializer = new DockGraphDeserializer(this);
646
- this.context.model = await deserializer.deserialize(json);
647
- this.setModel(this.context.model);
650
+ loadState(json) {
651
+ return __awaiter(this, void 0, void 0, function* () {
652
+ let deserializer = new DockGraphDeserializer(this);
653
+ this.context.model = yield deserializer.deserialize(json);
654
+ this.setModel(this.context.model);
655
+ });
648
656
  }
649
657
  getPanels() {
650
- const panels = [];
658
+ let panels = [];
651
659
  //all visible nodes
652
660
  this._allPanels(this.context.model.rootNode, panels);
653
661
  //all visible or not dialogs
@@ -673,30 +681,34 @@ export class DockManager {
673
681
  });
674
682
  }
675
683
  updatePanels(ids) {
676
- const panels = [];
684
+ let panels = [];
677
685
  //all visible nodes
678
686
  this._allPanels(this.context.model.rootNode, panels);
679
687
  //only remove
680
688
  panels.forEach((panel) => {
681
- if (!Utils.arrayContains(ids, panel.elementContent.id))
689
+ if (!Utils.arrayContains(ids, panel.elementContent.id)) {
682
690
  panel.close();
691
+ }
683
692
  });
684
693
  this.context.model.dialogs.forEach((dialog) => {
685
- if (Utils.arrayContains(ids, dialog.panel.elementContent.id))
694
+ if (Utils.arrayContains(ids, dialog.panel.elementContent.id)) {
686
695
  dialog.show();
687
- else
696
+ }
697
+ else {
688
698
  dialog.hide();
699
+ }
689
700
  });
690
701
  return panels;
691
702
  }
692
703
  getVisiblePanels() {
693
- const panels = [];
704
+ let panels = [];
694
705
  //all visible nodes
695
706
  this._allPanels(this.context.model.rootNode, panels);
696
707
  //all visible
697
708
  this.context.model.dialogs.forEach((dialog) => {
698
- if (!dialog.isHidden)
709
+ if (!dialog.isHidden) {
699
710
  panels.push(dialog.panel);
711
+ }
700
712
  });
701
713
  return panels;
702
714
  }
@@ -704,8 +716,9 @@ export class DockManager {
704
716
  node.children.forEach((child) => {
705
717
  this._allPanels(child, panels);
706
718
  });
707
- if (node.container.containerType === 'panel')
719
+ if (node.container.containerType === 'panel') {
708
720
  panels.push(node.container);
721
+ }
709
722
  }
710
723
  get activeDocument() {
711
724
  return this._activeDocument;
@@ -719,34 +732,39 @@ export class DockManager {
719
732
  this._lastPanelNotADialog = value;
720
733
  if (this._lastPanelNotADialog && this.getPanels().indexOf(this._lastPanelNotADialog) < 0)
721
734
  this._lastPanelNotADialog = null;
722
- const oldActive = this.activePanel;
735
+ let oldActive = this.activePanel;
723
736
  if (this.activePanel) {
724
- this.activePanel.elementTitle.classList.remove('dockspan-panel-active');
725
- this.activePanel.elementTitleText.classList.remove('dockspan-panel-titlebar-text-active');
726
- if (this.activePanel.tabPage)
737
+ this.activePanel.elementTitle.classList.remove("dockspan-panel-active");
738
+ this.activePanel.elementTitleText.classList.remove("dockspan-panel-titlebar-text-active");
739
+ if (this.activePanel.tabPage) {
727
740
  this.activePanel.tabPage.host.setActive(false);
741
+ }
728
742
  }
729
743
  this._activePanel = value;
730
- const lastActiveDocument = this._activeDocument;
731
- if (value && value.panelType == PanelType.document)
744
+ let lastActiveDocument = this._activeDocument;
745
+ if (value && value.panelType == PanelType.document) {
732
746
  this._activeDocument = value;
747
+ }
733
748
  if (!value && oldActive && oldActive.isDialog && value == null && this._lastPanelNotADialog && this.activePanel != this._lastPanelNotADialog) {
734
749
  value = this._lastPanelNotADialog;
735
750
  this._lastPanelNotADialog = undefined;
736
751
  }
737
752
  this.notifyOnActivePanelChange(value, oldActive);
738
- if (lastActiveDocument != this._activeDocument)
753
+ if (lastActiveDocument != this._activeDocument) {
739
754
  this.notifyOnActiveDocumentChange(this._activeDocument, lastActiveDocument);
755
+ }
740
756
  if (value) {
741
- value.elementTitle.classList.add('dockspan-panel-active');
742
- value.elementTitleText.classList.add('dockspan-panel-titlebar-text-active');
743
- if (value.tabPage)
757
+ value.elementTitle.classList.add("dockspan-panel-active");
758
+ value.elementTitleText.classList.add("dockspan-panel-titlebar-text-active");
759
+ if (value.tabPage) {
744
760
  value.tabPage.host.setActive(true);
761
+ }
745
762
  }
746
763
  }
747
764
  else {
748
- if (value && value.tabPage)
765
+ if (value && value.tabPage) {
749
766
  value.tabPage.host.setActive(true);
767
+ }
750
768
  }
751
769
  }
752
770
  }