@datagrok-libraries/dock-spawn-dg 0.0.2 → 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 +168 -151
  33. package/src/DockManager.ts +860 -834
  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 -148
  80. package/src/PanelContainer.ts +590 -577
  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 +69 -61
  167. package/src/webcomponent/DockSpawnTsWebcomponent.ts +239 -241
  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,10 +505,13 @@ 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();
514
+ let topNode = stack.pop();
521
515
  //@ts-ignore
522
516
  if (topNode.container.title === container.title)
523
517
  return topNode;
@@ -526,10 +520,10 @@ export class DockManager {
526
520
  return null;
527
521
  }
528
522
  findNodeFromContainerElement(containerElement) {
529
- const stack = [];
523
+ let stack = [];
530
524
  stack.push(this.context.model.rootNode);
531
525
  while (stack.length > 0) {
532
- const topNode = stack.pop();
526
+ let topNode = stack.pop();
533
527
  if (topNode.container.containerElement === containerElement)
534
528
  return topNode;
535
529
  [].push.apply(stack, topNode.children);
@@ -565,15 +559,17 @@ export class DockManager {
565
559
  }
566
560
  notifyOnTabsReorder(dockNode) {
567
561
  this.layoutEventListeners.forEach((listener) => {
568
- if (listener.onTabsReorder)
562
+ if (listener.onTabsReorder) {
569
563
  listener.onTabsReorder(this, dockNode);
564
+ }
570
565
  });
571
566
  }
572
567
  notifyOnUnDock(dockNode) {
573
568
  this._checkShowBackgroundContext();
574
569
  this.layoutEventListeners.forEach((listener) => {
575
- if (listener.onUndock)
570
+ if (listener.onUndock) {
576
571
  listener.onUndock(this, dockNode);
572
+ }
577
573
  });
578
574
  }
579
575
  notifyOnClosePanel(panel) {
@@ -586,69 +582,80 @@ export class DockManager {
586
582
  this.notifyOnActiveDocumentChange(null, last);
587
583
  }
588
584
  this.layoutEventListeners.forEach((listener) => {
589
- if (listener.onClosePanel)
585
+ if (listener.onClosePanel) {
590
586
  listener.onClosePanel(this, panel);
587
+ }
591
588
  });
592
589
  }
593
590
  notifyOnCreateDialog(dialog) {
594
591
  this.layoutEventListeners.forEach((listener) => {
595
- if (listener.onCreateDialog)
592
+ if (listener.onCreateDialog) {
596
593
  listener.onCreateDialog(this, dialog);
594
+ }
597
595
  });
598
596
  }
599
597
  notifyOnHideDialog(dialog) {
600
598
  this.layoutEventListeners.forEach((listener) => {
601
- if (listener.onHideDialog)
599
+ if (listener.onHideDialog) {
602
600
  listener.onHideDialog(this, dialog);
601
+ }
603
602
  });
604
603
  }
605
604
  notifyOnShowDialog(dialog) {
606
605
  this.layoutEventListeners.forEach((listener) => {
607
- if (listener.onShowDialog)
606
+ if (listener.onShowDialog) {
608
607
  listener.onShowDialog(this, dialog);
608
+ }
609
609
  });
610
610
  }
611
611
  notifyOnChangeDialogPosition(dialog, x, y) {
612
612
  this.layoutEventListeners.forEach((listener) => {
613
- if (listener.onChangeDialogPosition)
613
+ if (listener.onChangeDialogPosition) {
614
614
  listener.onChangeDialogPosition(this, dialog, x, y);
615
+ }
615
616
  });
616
617
  }
617
618
  notifyOnContainerResized(dockContainer) {
618
619
  this.layoutEventListeners.forEach((listener) => {
619
- if (listener.onContainerResized)
620
+ if (listener.onContainerResized) {
620
621
  listener.onContainerResized(this, dockContainer);
622
+ }
621
623
  });
622
624
  }
623
625
  notifyOnTabChange(tabpage) {
624
626
  this.layoutEventListeners.forEach((listener) => {
625
- if (listener.onTabChanged)
627
+ if (listener.onTabChanged) {
626
628
  listener.onTabChanged(this, tabpage);
629
+ }
627
630
  });
628
631
  }
629
632
  notifyOnActivePanelChange(panel, oldActive) {
630
633
  this.layoutEventListeners.forEach((listener) => {
631
- if (listener.onActivePanelChange)
634
+ if (listener.onActivePanelChange) {
632
635
  listener.onActivePanelChange(this, panel, oldActive);
636
+ }
633
637
  });
634
638
  }
635
639
  notifyOnActiveDocumentChange(panel, oldActive) {
636
640
  this.layoutEventListeners.forEach((listener) => {
637
- if (listener.onActiveDocumentChange)
641
+ if (listener.onActiveDocumentChange) {
638
642
  listener.onActiveDocumentChange(this, panel, oldActive);
643
+ }
639
644
  });
640
645
  }
641
646
  saveState() {
642
- const serializer = new DockGraphSerializer();
647
+ let serializer = new DockGraphSerializer();
643
648
  return serializer.serialize(this.context.model);
644
649
  }
645
- async loadState(json) {
646
- const deserializer = new DockGraphDeserializer(this);
647
- this.context.model = await deserializer.deserialize(json);
648
- 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
+ });
649
656
  }
650
657
  getPanels() {
651
- const panels = [];
658
+ let panels = [];
652
659
  //all visible nodes
653
660
  this._allPanels(this.context.model.rootNode, panels);
654
661
  //all visible or not dialogs
@@ -674,30 +681,34 @@ export class DockManager {
674
681
  });
675
682
  }
676
683
  updatePanels(ids) {
677
- const panels = [];
684
+ let panels = [];
678
685
  //all visible nodes
679
686
  this._allPanels(this.context.model.rootNode, panels);
680
687
  //only remove
681
688
  panels.forEach((panel) => {
682
- if (!Utils.arrayContains(ids, panel.elementContent.id))
689
+ if (!Utils.arrayContains(ids, panel.elementContent.id)) {
683
690
  panel.close();
691
+ }
684
692
  });
685
693
  this.context.model.dialogs.forEach((dialog) => {
686
- if (Utils.arrayContains(ids, dialog.panel.elementContent.id))
694
+ if (Utils.arrayContains(ids, dialog.panel.elementContent.id)) {
687
695
  dialog.show();
688
- else
696
+ }
697
+ else {
689
698
  dialog.hide();
699
+ }
690
700
  });
691
701
  return panels;
692
702
  }
693
703
  getVisiblePanels() {
694
- const panels = [];
704
+ let panels = [];
695
705
  //all visible nodes
696
706
  this._allPanels(this.context.model.rootNode, panels);
697
707
  //all visible
698
708
  this.context.model.dialogs.forEach((dialog) => {
699
- if (!dialog.isHidden)
709
+ if (!dialog.isHidden) {
700
710
  panels.push(dialog.panel);
711
+ }
701
712
  });
702
713
  return panels;
703
714
  }
@@ -705,8 +716,9 @@ export class DockManager {
705
716
  node.children.forEach((child) => {
706
717
  this._allPanels(child, panels);
707
718
  });
708
- if (node.container.containerType === 'panel')
719
+ if (node.container.containerType === 'panel') {
709
720
  panels.push(node.container);
721
+ }
710
722
  }
711
723
  get activeDocument() {
712
724
  return this._activeDocument;
@@ -720,34 +732,39 @@ export class DockManager {
720
732
  this._lastPanelNotADialog = value;
721
733
  if (this._lastPanelNotADialog && this.getPanels().indexOf(this._lastPanelNotADialog) < 0)
722
734
  this._lastPanelNotADialog = null;
723
- const oldActive = this.activePanel;
735
+ let oldActive = this.activePanel;
724
736
  if (this.activePanel) {
725
- this.activePanel.elementTitle.classList.remove('dockspan-panel-active');
726
- this.activePanel.elementTitleText.classList.remove('dockspan-panel-titlebar-text-active');
727
- 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) {
728
740
  this.activePanel.tabPage.host.setActive(false);
741
+ }
729
742
  }
730
743
  this._activePanel = value;
731
- const lastActiveDocument = this._activeDocument;
732
- if (value && value.panelType == PanelType.document)
744
+ let lastActiveDocument = this._activeDocument;
745
+ if (value && value.panelType == PanelType.document) {
733
746
  this._activeDocument = value;
747
+ }
734
748
  if (!value && oldActive && oldActive.isDialog && value == null && this._lastPanelNotADialog && this.activePanel != this._lastPanelNotADialog) {
735
749
  value = this._lastPanelNotADialog;
736
750
  this._lastPanelNotADialog = undefined;
737
751
  }
738
752
  this.notifyOnActivePanelChange(value, oldActive);
739
- if (lastActiveDocument != this._activeDocument)
753
+ if (lastActiveDocument != this._activeDocument) {
740
754
  this.notifyOnActiveDocumentChange(this._activeDocument, lastActiveDocument);
755
+ }
741
756
  if (value) {
742
- value.elementTitle.classList.add('dockspan-panel-active');
743
- value.elementTitleText.classList.add('dockspan-panel-titlebar-text-active');
744
- 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) {
745
760
  value.tabPage.host.setActive(true);
761
+ }
746
762
  }
747
763
  }
748
764
  else {
749
- if (value && value.tabPage)
765
+ if (value && value.tabPage) {
750
766
  value.tabPage.host.setActive(true);
767
+ }
751
768
  }
752
769
  }
753
770
  }