dockview-core 1.6.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 (294) hide show
  1. package/README.md +52 -0
  2. package/dist/cjs/api/component.api.d.ts +145 -0
  3. package/dist/cjs/api/component.api.js +579 -0
  4. package/dist/cjs/api/component.api.js.map +1 -0
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +34 -0
  6. package/dist/cjs/api/dockviewPanelApi.js +84 -0
  7. package/dist/cjs/api/dockviewPanelApi.js.map +1 -0
  8. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -0
  9. package/dist/cjs/api/gridviewPanelApi.js +48 -0
  10. package/dist/cjs/api/gridviewPanelApi.js.map +1 -0
  11. package/dist/cjs/api/panelApi.d.ts +88 -0
  12. package/dist/cjs/api/panelApi.js +138 -0
  13. package/dist/cjs/api/panelApi.js.map +1 -0
  14. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -0
  15. package/dist/cjs/api/paneviewPanelApi.js +58 -0
  16. package/dist/cjs/api/paneviewPanelApi.js.map +1 -0
  17. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -0
  18. package/dist/cjs/api/splitviewPanelApi.js +48 -0
  19. package/dist/cjs/api/splitviewPanelApi.js.map +1 -0
  20. package/dist/cjs/array.d.ts +12 -0
  21. package/dist/cjs/array.js +59 -0
  22. package/dist/cjs/array.js.map +1 -0
  23. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -0
  24. package/dist/cjs/dnd/abstractDragHandler.js +126 -0
  25. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -0
  26. package/dist/cjs/dnd/dataTransfer.d.ts +31 -0
  27. package/dist/cjs/dnd/dataTransfer.js +101 -0
  28. package/dist/cjs/dnd/dataTransfer.js.map +1 -0
  29. package/dist/cjs/dnd/dnd.d.ts +27 -0
  30. package/dist/cjs/dnd/dnd.js +60 -0
  31. package/dist/cjs/dnd/dnd.js.map +1 -0
  32. package/dist/cjs/dnd/droptarget.d.ts +42 -0
  33. package/dist/cjs/dnd/droptarget.js +281 -0
  34. package/dist/cjs/dnd/droptarget.js.map +1 -0
  35. package/dist/cjs/dnd/ghost.d.ts +1 -0
  36. package/dist/cjs/dnd/ghost.js +16 -0
  37. package/dist/cjs/dnd/ghost.js.map +1 -0
  38. package/dist/cjs/dnd/groupDragHandler.d.ts +11 -0
  39. package/dist/cjs/dnd/groupDragHandler.js +62 -0
  40. package/dist/cjs/dnd/groupDragHandler.js.map +1 -0
  41. package/dist/cjs/dockview/components/panel/content.d.ts +30 -0
  42. package/dist/cjs/dockview/components/panel/content.js +101 -0
  43. package/dist/cjs/dockview/components/panel/content.js.map +1 -0
  44. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +21 -0
  45. package/dist/cjs/dockview/components/tab/defaultTab.js +106 -0
  46. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -0
  47. package/dist/cjs/dockview/components/tab/tab.d.ts +31 -0
  48. package/dist/cjs/dockview/components/tab/tab.js +125 -0
  49. package/dist/cjs/dockview/components/tab/tab.js.map +1 -0
  50. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +63 -0
  51. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +248 -0
  52. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -0
  53. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +15 -0
  54. package/dist/cjs/dockview/components/titlebar/voidContainer.js +74 -0
  55. package/dist/cjs/dockview/components/titlebar/voidContainer.js.map +1 -0
  56. package/dist/cjs/dockview/components/watermark/watermark.d.ts +18 -0
  57. package/dist/cjs/dockview/components/watermark/watermark.js +87 -0
  58. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -0
  59. package/dist/cjs/dockview/deserializer.d.ts +12 -0
  60. package/dist/cjs/dockview/deserializer.js +46 -0
  61. package/dist/cjs/dockview/deserializer.js.map +1 -0
  62. package/dist/cjs/dockview/dockviewComponent.d.ts +126 -0
  63. package/dist/cjs/dockview/dockviewComponent.js +772 -0
  64. package/dist/cjs/dockview/dockviewComponent.js.map +1 -0
  65. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -0
  66. package/dist/cjs/dockview/dockviewGroupPanel.js +97 -0
  67. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -0
  68. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +176 -0
  69. package/dist/cjs/dockview/dockviewGroupPanelModel.js +579 -0
  70. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -0
  71. package/dist/cjs/dockview/dockviewPanel.d.ts +40 -0
  72. package/dist/cjs/dockview/dockviewPanel.js +150 -0
  73. package/dist/cjs/dockview/dockviewPanel.js.map +1 -0
  74. package/dist/cjs/dockview/dockviewPanelModel.d.ts +34 -0
  75. package/dist/cjs/dockview/dockviewPanelModel.js +93 -0
  76. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -0
  77. package/dist/cjs/dockview/options.d.ts +116 -0
  78. package/dist/cjs/dockview/options.js +32 -0
  79. package/dist/cjs/dockview/options.js.map +1 -0
  80. package/dist/cjs/dockview/types.d.ts +67 -0
  81. package/dist/cjs/dockview/types.js +11 -0
  82. package/dist/cjs/dockview/types.js.map +1 -0
  83. package/dist/cjs/dom.d.ts +14 -0
  84. package/dist/cjs/dom.js +183 -0
  85. package/dist/cjs/dom.js.map +1 -0
  86. package/dist/cjs/events.d.ts +30 -0
  87. package/dist/cjs/events.js +130 -0
  88. package/dist/cjs/events.js.map +1 -0
  89. package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -0
  90. package/dist/cjs/gridview/baseComponentGridview.js +280 -0
  91. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -0
  92. package/dist/cjs/gridview/basePanelView.d.ts +40 -0
  93. package/dist/cjs/gridview/basePanelView.js +124 -0
  94. package/dist/cjs/gridview/basePanelView.js.map +1 -0
  95. package/dist/cjs/gridview/branchNode.d.ts +49 -0
  96. package/dist/cjs/gridview/branchNode.js +343 -0
  97. package/dist/cjs/gridview/branchNode.js.map +1 -0
  98. package/dist/cjs/gridview/gridview.d.ts +133 -0
  99. package/dist/cjs/gridview/gridview.js +511 -0
  100. package/dist/cjs/gridview/gridview.js.map +1 -0
  101. package/dist/cjs/gridview/gridviewComponent.d.ts +80 -0
  102. package/dist/cjs/gridview/gridviewComponent.js +325 -0
  103. package/dist/cjs/gridview/gridviewComponent.js.map +1 -0
  104. package/dist/cjs/gridview/gridviewPanel.d.ts +65 -0
  105. package/dist/cjs/gridview/gridviewPanel.js +215 -0
  106. package/dist/cjs/gridview/gridviewPanel.js.map +1 -0
  107. package/dist/cjs/gridview/leafNode.d.ts +34 -0
  108. package/dist/cjs/gridview/leafNode.js +171 -0
  109. package/dist/cjs/gridview/leafNode.js.map +1 -0
  110. package/dist/cjs/gridview/options.d.ts +18 -0
  111. package/dist/cjs/gridview/options.js +3 -0
  112. package/dist/cjs/gridview/options.js.map +1 -0
  113. package/dist/cjs/gridview/types.d.ts +3 -0
  114. package/dist/cjs/gridview/types.js +3 -0
  115. package/dist/cjs/gridview/types.js.map +1 -0
  116. package/dist/cjs/index.d.ts +41 -0
  117. package/dist/cjs/index.js +64 -0
  118. package/dist/cjs/index.js.map +1 -0
  119. package/dist/cjs/lifecycle.d.ts +22 -0
  120. package/dist/cjs/lifecycle.js +89 -0
  121. package/dist/cjs/lifecycle.js.map +1 -0
  122. package/dist/cjs/math.d.ts +5 -0
  123. package/dist/cjs/math.js +35 -0
  124. package/dist/cjs/math.js.map +1 -0
  125. package/dist/cjs/panel/componentFactory.d.ts +10 -0
  126. package/dist/cjs/panel/componentFactory.js +31 -0
  127. package/dist/cjs/panel/componentFactory.js.map +1 -0
  128. package/dist/cjs/panel/types.d.ts +33 -0
  129. package/dist/cjs/panel/types.js +3 -0
  130. package/dist/cjs/panel/types.js.map +1 -0
  131. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -0
  132. package/dist/cjs/paneview/defaultPaneviewHeader.js +91 -0
  133. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -0
  134. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +21 -0
  135. package/dist/cjs/paneview/draggablePaneviewPanel.js +132 -0
  136. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -0
  137. package/dist/cjs/paneview/options.d.ts +27 -0
  138. package/dist/cjs/paneview/options.js +3 -0
  139. package/dist/cjs/paneview/options.js.map +1 -0
  140. package/dist/cjs/paneview/paneview.d.ts +40 -0
  141. package/dist/cjs/paneview/paneview.js +202 -0
  142. package/dist/cjs/paneview/paneview.js.map +1 -0
  143. package/dist/cjs/paneview/paneviewComponent.d.ts +129 -0
  144. package/dist/cjs/paneview/paneviewComponent.js +395 -0
  145. package/dist/cjs/paneview/paneviewComponent.js.map +1 -0
  146. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -0
  147. package/dist/cjs/paneview/paneviewPanel.js +276 -0
  148. package/dist/cjs/paneview/paneviewPanel.js.map +1 -0
  149. package/dist/cjs/splitview/options.d.ts +26 -0
  150. package/dist/cjs/splitview/options.js +3 -0
  151. package/dist/cjs/splitview/options.js.map +1 -0
  152. package/dist/cjs/splitview/splitview.d.ts +127 -0
  153. package/dist/cjs/splitview/splitview.js +909 -0
  154. package/dist/cjs/splitview/splitview.js.map +1 -0
  155. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -0
  156. package/dist/cjs/splitview/splitviewComponent.js +374 -0
  157. package/dist/cjs/splitview/splitviewComponent.js.map +1 -0
  158. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -0
  159. package/dist/cjs/splitview/splitviewPanel.js +180 -0
  160. package/dist/cjs/splitview/splitviewPanel.js.map +1 -0
  161. package/dist/cjs/splitview/viewItem.d.ts +25 -0
  162. package/dist/cjs/splitview/viewItem.js +120 -0
  163. package/dist/cjs/splitview/viewItem.js.map +1 -0
  164. package/dist/cjs/svg.d.ts +3 -0
  165. package/dist/cjs/svg.js +44 -0
  166. package/dist/cjs/svg.js.map +1 -0
  167. package/dist/cjs/types.d.ts +2 -0
  168. package/dist/cjs/types.js +3 -0
  169. package/dist/cjs/types.js.map +1 -0
  170. package/dist/dockview-core.amd.js +6492 -0
  171. package/dist/dockview-core.amd.min.js +7 -0
  172. package/dist/dockview-core.amd.min.noStyle.js +7 -0
  173. package/dist/dockview-core.amd.noStyle.js +6462 -0
  174. package/dist/dockview-core.cjs.js +6490 -0
  175. package/dist/dockview-core.esm.js +6441 -0
  176. package/dist/dockview-core.esm.min.js +7 -0
  177. package/dist/dockview-core.js +6496 -0
  178. package/dist/dockview-core.min.js +7 -0
  179. package/dist/dockview-core.min.noStyle.js +7 -0
  180. package/dist/dockview-core.noStyle.js +6466 -0
  181. package/dist/esm/api/component.api.d.ts +145 -0
  182. package/dist/esm/api/component.api.js +329 -0
  183. package/dist/esm/api/dockviewPanelApi.d.ts +34 -0
  184. package/dist/esm/api/dockviewPanelApi.js +48 -0
  185. package/dist/esm/api/gridviewPanelApi.d.ts +37 -0
  186. package/dist/esm/api/gridviewPanelApi.js +25 -0
  187. package/dist/esm/api/panelApi.d.ts +88 -0
  188. package/dist/esm/api/panelApi.js +95 -0
  189. package/dist/esm/api/paneviewPanelApi.d.ts +26 -0
  190. package/dist/esm/api/paneviewPanelApi.js +27 -0
  191. package/dist/esm/api/splitviewPanelApi.d.ts +32 -0
  192. package/dist/esm/api/splitviewPanelApi.js +25 -0
  193. package/dist/esm/array.d.ts +12 -0
  194. package/dist/esm/array.js +49 -0
  195. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -0
  196. package/dist/esm/dnd/abstractDragHandler.js +47 -0
  197. package/dist/esm/dnd/dataTransfer.d.ts +31 -0
  198. package/dist/esm/dnd/dataTransfer.js +69 -0
  199. package/dist/esm/dnd/dnd.d.ts +27 -0
  200. package/dist/esm/dnd/dnd.js +36 -0
  201. package/dist/esm/dnd/droptarget.d.ts +42 -0
  202. package/dist/esm/dnd/droptarget.js +250 -0
  203. package/dist/esm/dnd/ghost.d.ts +1 -0
  204. package/dist/esm/dnd/ghost.js +11 -0
  205. package/dist/esm/dnd/groupDragHandler.d.ts +11 -0
  206. package/dist/esm/dnd/groupDragHandler.js +38 -0
  207. package/dist/esm/dockview/components/panel/content.d.ts +30 -0
  208. package/dist/esm/dockview/components/panel/content.js +73 -0
  209. package/dist/esm/dockview/components/tab/defaultTab.d.ts +21 -0
  210. package/dist/esm/dockview/components/tab/defaultTab.js +67 -0
  211. package/dist/esm/dockview/components/tab/tab.d.ts +31 -0
  212. package/dist/esm/dockview/components/tab/tab.js +94 -0
  213. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +63 -0
  214. package/dist/esm/dockview/components/titlebar/tabsContainer.js +179 -0
  215. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +15 -0
  216. package/dist/esm/dockview/components/titlebar/voidContainer.js +47 -0
  217. package/dist/esm/dockview/components/watermark/watermark.d.ts +18 -0
  218. package/dist/esm/dockview/components/watermark/watermark.js +60 -0
  219. package/dist/esm/dockview/deserializer.d.ts +12 -0
  220. package/dist/esm/dockview/deserializer.js +40 -0
  221. package/dist/esm/dockview/dockviewComponent.d.ts +126 -0
  222. package/dist/esm/dockview/dockviewComponent.js +612 -0
  223. package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -0
  224. package/dist/esm/dockview/dockviewGroupPanel.js +50 -0
  225. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +176 -0
  226. package/dist/esm/dockview/dockviewGroupPanelModel.js +449 -0
  227. package/dist/esm/dockview/dockviewPanel.d.ts +40 -0
  228. package/dist/esm/dockview/dockviewPanel.js +104 -0
  229. package/dist/esm/dockview/dockviewPanelModel.d.ts +34 -0
  230. package/dist/esm/dockview/dockviewPanelModel.js +68 -0
  231. package/dist/esm/dockview/options.d.ts +116 -0
  232. package/dist/esm/dockview/options.js +24 -0
  233. package/dist/esm/dockview/types.d.ts +67 -0
  234. package/dist/esm/dockview/types.js +7 -0
  235. package/dist/esm/dom.d.ts +14 -0
  236. package/dist/esm/dom.js +113 -0
  237. package/dist/esm/events.d.ts +30 -0
  238. package/dist/esm/events.js +88 -0
  239. package/dist/esm/gridview/baseComponentGridview.d.ts +87 -0
  240. package/dist/esm/gridview/baseComponentGridview.js +189 -0
  241. package/dist/esm/gridview/basePanelView.d.ts +40 -0
  242. package/dist/esm/gridview/basePanelView.js +74 -0
  243. package/dist/esm/gridview/branchNode.d.ts +49 -0
  244. package/dist/esm/gridview/branchNode.js +218 -0
  245. package/dist/esm/gridview/gridview.d.ts +133 -0
  246. package/dist/esm/gridview/gridview.js +423 -0
  247. package/dist/esm/gridview/gridviewComponent.d.ts +80 -0
  248. package/dist/esm/gridview/gridviewComponent.js +237 -0
  249. package/dist/esm/gridview/gridviewPanel.d.ts +65 -0
  250. package/dist/esm/gridview/gridviewPanel.js +151 -0
  251. package/dist/esm/gridview/leafNode.d.ts +34 -0
  252. package/dist/esm/gridview/leafNode.js +103 -0
  253. package/dist/esm/gridview/options.d.ts +18 -0
  254. package/dist/esm/gridview/options.js +1 -0
  255. package/dist/esm/gridview/types.d.ts +3 -0
  256. package/dist/esm/gridview/types.js +1 -0
  257. package/dist/esm/index.d.ts +41 -0
  258. package/dist/esm/index.js +35 -0
  259. package/dist/esm/lifecycle.d.ts +22 -0
  260. package/dist/esm/lifecycle.js +39 -0
  261. package/dist/esm/math.d.ts +5 -0
  262. package/dist/esm/math.js +28 -0
  263. package/dist/esm/panel/componentFactory.d.ts +10 -0
  264. package/dist/esm/panel/componentFactory.js +24 -0
  265. package/dist/esm/panel/types.d.ts +33 -0
  266. package/dist/esm/panel/types.js +1 -0
  267. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -0
  268. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -0
  269. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +21 -0
  270. package/dist/esm/paneview/draggablePaneviewPanel.js +92 -0
  271. package/dist/esm/paneview/options.d.ts +27 -0
  272. package/dist/esm/paneview/options.js +1 -0
  273. package/dist/esm/paneview/paneview.d.ts +40 -0
  274. package/dist/esm/paneview/paneview.js +145 -0
  275. package/dist/esm/paneview/paneviewComponent.d.ts +129 -0
  276. package/dist/esm/paneview/paneviewComponent.js +270 -0
  277. package/dist/esm/paneview/paneviewPanel.d.ts +92 -0
  278. package/dist/esm/paneview/paneviewPanel.js +192 -0
  279. package/dist/esm/splitview/options.d.ts +26 -0
  280. package/dist/esm/splitview/options.js +1 -0
  281. package/dist/esm/splitview/splitview.d.ts +127 -0
  282. package/dist/esm/splitview/splitview.js +689 -0
  283. package/dist/esm/splitview/splitviewComponent.d.ts +101 -0
  284. package/dist/esm/splitview/splitviewComponent.js +249 -0
  285. package/dist/esm/splitview/splitviewPanel.d.ts +45 -0
  286. package/dist/esm/splitview/splitviewPanel.js +108 -0
  287. package/dist/esm/splitview/viewItem.d.ts +25 -0
  288. package/dist/esm/splitview/viewItem.js +74 -0
  289. package/dist/esm/svg.d.ts +3 -0
  290. package/dist/esm/svg.js +31 -0
  291. package/dist/esm/types.d.ts +2 -0
  292. package/dist/esm/types.js +1 -0
  293. package/dist/styles/dockview.css +615 -0
  294. package/package.json +68 -0
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Accreditation: This file is largly based upon the MIT licenced VSCode sourcecode found at:
4
+ * https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/grid
5
+ *--------------------------------------------------------------------------------------------*/
6
+ var __extends = (this && this.__extends) || (function () {
7
+ var extendStatics = function (d, b) {
8
+ extendStatics = Object.setPrototypeOf ||
9
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11
+ return extendStatics(d, b);
12
+ };
13
+ return function (d, b) {
14
+ if (typeof b !== "function" && b !== null)
15
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
+ extendStatics(d, b);
17
+ function __() { this.constructor = d; }
18
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
19
+ };
20
+ })();
21
+ var __read = (this && this.__read) || function (o, n) {
22
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
23
+ if (!m) return o;
24
+ var i = m.call(o), r, ar = [], e;
25
+ try {
26
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
+ }
28
+ catch (error) { e = { error: error }; }
29
+ finally {
30
+ try {
31
+ if (r && !r.done && (m = i["return"])) m.call(i);
32
+ }
33
+ finally { if (e) throw e.error; }
34
+ }
35
+ return ar;
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ var __values = (this && this.__values) || function(o) {
47
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
48
+ if (m) return m.call(o);
49
+ if (o && typeof o.length === "number") return {
50
+ next: function () {
51
+ if (o && i >= o.length) o = void 0;
52
+ return { value: o && o[i++], done: !o };
53
+ }
54
+ };
55
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
56
+ };
57
+ Object.defineProperty(exports, "__esModule", { value: true });
58
+ exports.BranchNode = void 0;
59
+ var splitview_1 = require("../splitview/splitview");
60
+ var events_1 = require("../events");
61
+ var leafNode_1 = require("./leafNode");
62
+ var lifecycle_1 = require("../lifecycle");
63
+ var BranchNode = /** @class */ (function (_super) {
64
+ __extends(BranchNode, _super);
65
+ function BranchNode(orientation, proportionalLayout, styles, size, orthogonalSize, childDescriptors) {
66
+ var _this = _super.call(this) || this;
67
+ _this.orientation = orientation;
68
+ _this.proportionalLayout = proportionalLayout;
69
+ _this.styles = styles;
70
+ _this._childrenDisposable = lifecycle_1.Disposable.NONE;
71
+ _this.children = [];
72
+ _this._onDidChange = new events_1.Emitter();
73
+ _this.onDidChange = _this._onDidChange.event;
74
+ _this._orthogonalSize = orthogonalSize;
75
+ _this._size = size;
76
+ _this.element = document.createElement('div');
77
+ _this.element.className = 'branch-node';
78
+ if (!childDescriptors) {
79
+ _this.splitview = new splitview_1.Splitview(_this.element, {
80
+ orientation: _this.orientation,
81
+ proportionalLayout: proportionalLayout,
82
+ styles: styles,
83
+ });
84
+ _this.splitview.layout(_this.size, _this.orthogonalSize);
85
+ }
86
+ else {
87
+ var descriptor = {
88
+ views: childDescriptors.map(function (childDescriptor) {
89
+ return {
90
+ view: childDescriptor.node,
91
+ size: childDescriptor.node.size,
92
+ visible: childDescriptor.node instanceof leafNode_1.LeafNode &&
93
+ childDescriptor.visible !== undefined
94
+ ? childDescriptor.visible
95
+ : true,
96
+ };
97
+ }),
98
+ size: _this.size,
99
+ };
100
+ _this.children = childDescriptors.map(function (c) { return c.node; });
101
+ _this.splitview = new splitview_1.Splitview(_this.element, {
102
+ orientation: _this.orientation,
103
+ descriptor: descriptor,
104
+ proportionalLayout: proportionalLayout,
105
+ });
106
+ }
107
+ _this.addDisposables(_this._onDidChange, _this.splitview.onDidSashEnd(function () {
108
+ _this._onDidChange.fire({});
109
+ }));
110
+ _this.setupChildrenEvents();
111
+ return _this;
112
+ }
113
+ Object.defineProperty(BranchNode.prototype, "width", {
114
+ get: function () {
115
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
116
+ ? this.size
117
+ : this.orthogonalSize;
118
+ },
119
+ enumerable: false,
120
+ configurable: true
121
+ });
122
+ Object.defineProperty(BranchNode.prototype, "height", {
123
+ get: function () {
124
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
125
+ ? this.orthogonalSize
126
+ : this.size;
127
+ },
128
+ enumerable: false,
129
+ configurable: true
130
+ });
131
+ Object.defineProperty(BranchNode.prototype, "minimumSize", {
132
+ get: function () {
133
+ return this.children.length === 0
134
+ ? 0
135
+ : Math.max.apply(Math, __spreadArray([], __read(this.children.map(function (c) { return c.minimumOrthogonalSize; })), false));
136
+ },
137
+ enumerable: false,
138
+ configurable: true
139
+ });
140
+ Object.defineProperty(BranchNode.prototype, "maximumSize", {
141
+ get: function () {
142
+ return Math.min.apply(Math, __spreadArray([], __read(this.children.map(function (c) { return c.maximumOrthogonalSize; })), false));
143
+ },
144
+ enumerable: false,
145
+ configurable: true
146
+ });
147
+ Object.defineProperty(BranchNode.prototype, "minimumOrthogonalSize", {
148
+ get: function () {
149
+ return this.splitview.minimumSize;
150
+ },
151
+ enumerable: false,
152
+ configurable: true
153
+ });
154
+ Object.defineProperty(BranchNode.prototype, "maximumOrthogonalSize", {
155
+ get: function () {
156
+ return this.splitview.maximumSize;
157
+ },
158
+ enumerable: false,
159
+ configurable: true
160
+ });
161
+ Object.defineProperty(BranchNode.prototype, "orthogonalSize", {
162
+ get: function () {
163
+ return this._orthogonalSize;
164
+ },
165
+ enumerable: false,
166
+ configurable: true
167
+ });
168
+ Object.defineProperty(BranchNode.prototype, "size", {
169
+ get: function () {
170
+ return this._size;
171
+ },
172
+ enumerable: false,
173
+ configurable: true
174
+ });
175
+ Object.defineProperty(BranchNode.prototype, "minimumWidth", {
176
+ get: function () {
177
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
178
+ ? this.minimumOrthogonalSize
179
+ : this.minimumSize;
180
+ },
181
+ enumerable: false,
182
+ configurable: true
183
+ });
184
+ Object.defineProperty(BranchNode.prototype, "minimumHeight", {
185
+ get: function () {
186
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
187
+ ? this.minimumSize
188
+ : this.minimumOrthogonalSize;
189
+ },
190
+ enumerable: false,
191
+ configurable: true
192
+ });
193
+ Object.defineProperty(BranchNode.prototype, "maximumWidth", {
194
+ get: function () {
195
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
196
+ ? this.maximumOrthogonalSize
197
+ : this.maximumSize;
198
+ },
199
+ enumerable: false,
200
+ configurable: true
201
+ });
202
+ Object.defineProperty(BranchNode.prototype, "maximumHeight", {
203
+ get: function () {
204
+ return this.orientation === splitview_1.Orientation.HORIZONTAL
205
+ ? this.maximumSize
206
+ : this.maximumOrthogonalSize;
207
+ },
208
+ enumerable: false,
209
+ configurable: true
210
+ });
211
+ Object.defineProperty(BranchNode.prototype, "priority", {
212
+ get: function () {
213
+ if (this.children.length === 0) {
214
+ return splitview_1.LayoutPriority.Normal;
215
+ }
216
+ var priorities = this.children.map(function (c) {
217
+ return typeof c.priority === 'undefined'
218
+ ? splitview_1.LayoutPriority.Normal
219
+ : c.priority;
220
+ });
221
+ if (priorities.some(function (p) { return p === splitview_1.LayoutPriority.High; })) {
222
+ return splitview_1.LayoutPriority.High;
223
+ }
224
+ else if (priorities.some(function (p) { return p === splitview_1.LayoutPriority.Low; })) {
225
+ return splitview_1.LayoutPriority.Low;
226
+ }
227
+ return splitview_1.LayoutPriority.Normal;
228
+ },
229
+ enumerable: false,
230
+ configurable: true
231
+ });
232
+ BranchNode.prototype.setVisible = function (visible) {
233
+ var e_1, _a;
234
+ try {
235
+ for (var _b = __values(this.children), _c = _b.next(); !_c.done; _c = _b.next()) {
236
+ var child = _c.value;
237
+ child.setVisible(visible);
238
+ }
239
+ }
240
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
241
+ finally {
242
+ try {
243
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
244
+ }
245
+ finally { if (e_1) throw e_1.error; }
246
+ }
247
+ };
248
+ BranchNode.prototype.isChildVisible = function (index) {
249
+ if (index < 0 || index >= this.children.length) {
250
+ throw new Error('Invalid index');
251
+ }
252
+ return this.splitview.isViewVisible(index);
253
+ };
254
+ BranchNode.prototype.setChildVisible = function (index, visible) {
255
+ if (index < 0 || index >= this.children.length) {
256
+ throw new Error('Invalid index');
257
+ }
258
+ if (this.splitview.isViewVisible(index) === visible) {
259
+ return;
260
+ }
261
+ this.splitview.setViewVisible(index, visible);
262
+ };
263
+ BranchNode.prototype.moveChild = function (from, to) {
264
+ if (from === to) {
265
+ return;
266
+ }
267
+ if (from < 0 || from >= this.children.length) {
268
+ throw new Error('Invalid from index');
269
+ }
270
+ if (from < to) {
271
+ to--;
272
+ }
273
+ this.splitview.moveView(from, to);
274
+ var child = this._removeChild(from);
275
+ this._addChild(child, to);
276
+ };
277
+ BranchNode.prototype.getChildSize = function (index) {
278
+ if (index < 0 || index >= this.children.length) {
279
+ throw new Error('Invalid index');
280
+ }
281
+ return this.splitview.getViewSize(index);
282
+ };
283
+ BranchNode.prototype.resizeChild = function (index, size) {
284
+ if (index < 0 || index >= this.children.length) {
285
+ throw new Error('Invalid index');
286
+ }
287
+ this.splitview.resizeView(index, size);
288
+ };
289
+ BranchNode.prototype.layout = function (size, orthogonalSize) {
290
+ this._size = orthogonalSize;
291
+ this._orthogonalSize = size;
292
+ this.splitview.layout(this.size, this.orthogonalSize);
293
+ };
294
+ BranchNode.prototype.addChild = function (node, size, index, skipLayout) {
295
+ if (index < 0 || index > this.children.length) {
296
+ throw new Error('Invalid index');
297
+ }
298
+ this.splitview.addView(node, size, index, skipLayout);
299
+ this._addChild(node, index);
300
+ };
301
+ BranchNode.prototype.getChildCachedVisibleSize = function (index) {
302
+ if (index < 0 || index >= this.children.length) {
303
+ throw new Error('Invalid index');
304
+ }
305
+ return this.splitview.getViewCachedVisibleSize(index);
306
+ };
307
+ BranchNode.prototype.removeChild = function (index, sizing) {
308
+ if (index < 0 || index >= this.children.length) {
309
+ throw new Error('Invalid index');
310
+ }
311
+ this.splitview.removeView(index, sizing);
312
+ this._removeChild(index);
313
+ };
314
+ BranchNode.prototype._addChild = function (node, index) {
315
+ this.children.splice(index, 0, node);
316
+ this.setupChildrenEvents();
317
+ };
318
+ BranchNode.prototype._removeChild = function (index) {
319
+ var _a = __read(this.children.splice(index, 1), 1), child = _a[0];
320
+ this.setupChildrenEvents();
321
+ return child;
322
+ };
323
+ BranchNode.prototype.setupChildrenEvents = function () {
324
+ var _this = this;
325
+ this._childrenDisposable.dispose();
326
+ this._childrenDisposable = events_1.Event.any.apply(events_1.Event, __spreadArray([], __read(this.children.map(function (c) { return c.onDidChange; })), false))(function (e) {
327
+ /**
328
+ * indicate a change has occured to allows any re-rendering but don't bubble
329
+ * event because that was specific to this branch
330
+ */
331
+ _this._onDidChange.fire({ size: e.orthogonalSize });
332
+ });
333
+ };
334
+ BranchNode.prototype.dispose = function () {
335
+ _super.prototype.dispose.call(this);
336
+ this._childrenDisposable.dispose();
337
+ this.children.forEach(function (child) { return child.dispose(); });
338
+ this.splitview.dispose();
339
+ };
340
+ return BranchNode;
341
+ }(lifecycle_1.CompositeDisposable));
342
+ exports.BranchNode = BranchNode;
343
+ //# sourceMappingURL=branchNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branchNode.js","sourceRoot":"","sources":["../../../src/gridview/branchNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { ISplitviewStyles, LayoutPriority, Orientation, Sizing } from '../splitview/splitview';
2
+ import { LeafNode } from './leafNode';
3
+ import { Node } from './types';
4
+ import { Event } from '../events';
5
+ import { IDisposable } from '../lifecycle';
6
+ import { Position } from '../dnd/droptarget';
7
+ export declare function indexInParent(element: HTMLElement): number;
8
+ /**
9
+ * Find the grid location of a specific DOM element by traversing the parent
10
+ * chain and finding each child index on the way.
11
+ *
12
+ * This will break as soon as DOM structures of the Splitview or Gridview change.
13
+ */
14
+ export declare function getGridLocation(element: HTMLElement): number[];
15
+ export declare function getRelativeLocation(rootOrientation: Orientation, location: number[], direction: Position): number[];
16
+ export declare function getDirectionOrientation(direction: Position): Orientation;
17
+ export declare function getLocationOrientation(rootOrientation: Orientation, location: number[]): Orientation;
18
+ export interface IViewSize {
19
+ width?: number;
20
+ height?: number;
21
+ }
22
+ export interface IGridView {
23
+ readonly onDidChange: Event<IViewSize | undefined>;
24
+ readonly element: HTMLElement;
25
+ readonly minimumWidth: number;
26
+ readonly maximumWidth: number;
27
+ readonly minimumHeight: number;
28
+ readonly maximumHeight: number;
29
+ priority?: LayoutPriority;
30
+ layout(width: number, height: number): void;
31
+ toJSON(): object;
32
+ fromJSON?(json: object): void;
33
+ snap?: boolean;
34
+ setVisible?(visible: boolean): void;
35
+ }
36
+ export declare const orthogonal: (orientation: Orientation) => Orientation;
37
+ export interface GridLeafNode<T extends IGridView> {
38
+ readonly view: T;
39
+ readonly cachedVisibleSize: number | undefined;
40
+ readonly box: {
41
+ width: number;
42
+ height: number;
43
+ };
44
+ }
45
+ export interface GridBranchNode<T extends IGridView> {
46
+ readonly children: GridNode<T>[];
47
+ readonly box: {
48
+ width: number;
49
+ height: number;
50
+ };
51
+ }
52
+ export type GridNode<T extends IGridView> = GridLeafNode<T> | GridBranchNode<T>;
53
+ export declare function isGridBranchNode<T extends IGridView>(node: GridNode<T>): node is GridBranchNode<T>;
54
+ export interface SerializedGridObject<T> {
55
+ type: 'leaf' | 'branch';
56
+ data: T | SerializedGridObject<T>[];
57
+ size?: number;
58
+ visible?: boolean;
59
+ }
60
+ export interface ISerializedLeafNode<T = any> {
61
+ type: 'leaf';
62
+ data: T;
63
+ size: number;
64
+ visible?: boolean;
65
+ }
66
+ export interface ISerializedBranchNode {
67
+ type: 'branch';
68
+ data: ISerializedNode[];
69
+ size: number;
70
+ }
71
+ export type ISerializedNode = ISerializedLeafNode | ISerializedBranchNode;
72
+ export interface INodeDescriptor {
73
+ node: Node;
74
+ visible?: boolean;
75
+ }
76
+ export interface IViewDeserializer {
77
+ fromJSON: (data: ISerializedLeafNode) => IGridView;
78
+ }
79
+ export interface SerializedGridview<T> {
80
+ root: SerializedGridObject<T>;
81
+ width: number;
82
+ height: number;
83
+ orientation: Orientation;
84
+ }
85
+ export declare class Gridview implements IDisposable {
86
+ readonly proportionalLayout: boolean;
87
+ readonly styles: ISplitviewStyles | undefined;
88
+ private _root;
89
+ readonly element: HTMLElement;
90
+ private disposable;
91
+ private readonly _onDidChange;
92
+ readonly onDidChange: Event<{
93
+ size?: number;
94
+ orthogonalSize?: number;
95
+ }>;
96
+ get length(): number;
97
+ get orientation(): Orientation;
98
+ set orientation(orientation: Orientation);
99
+ get width(): number;
100
+ get height(): number;
101
+ get minimumWidth(): number;
102
+ get minimumHeight(): number;
103
+ get maximumWidth(): number;
104
+ get maximumHeight(): number;
105
+ serialize(): SerializedGridview<any>;
106
+ dispose(): void;
107
+ clear(): void;
108
+ deserialize(json: any, deserializer: IViewDeserializer): void;
109
+ private _deserialize;
110
+ private _deserializeNode;
111
+ private get root();
112
+ private set root(value);
113
+ /**
114
+ * If the root is orientated as a VERTICAL node then nest the existing root within a new HORIZIONTAL root node
115
+ * If the root is orientated as a HORIZONTAL node then nest the existing root within a new VERITCAL root node
116
+ */
117
+ insertOrthogonalSplitviewAtRoot(): void;
118
+ next(location: number[]): LeafNode;
119
+ previous(location: number[]): LeafNode;
120
+ getView(): GridBranchNode<IGridView>;
121
+ getView(location?: number[]): GridNode<IGridView>;
122
+ private _getViews;
123
+ private progmaticSelect;
124
+ constructor(proportionalLayout: boolean, styles: ISplitviewStyles | undefined, orientation: Orientation);
125
+ isViewVisible(location: number[]): boolean;
126
+ setViewVisible(location: number[], visible: boolean): void;
127
+ moveView(parentLocation: number[], from: number, to: number): void;
128
+ addView(view: IGridView, size: number | Sizing, location: number[]): void;
129
+ remove(view: IGridView, sizing?: Sizing): IGridView;
130
+ removeView(location: number[], sizing?: Sizing): IGridView;
131
+ layout(width: number, height: number): void;
132
+ private getNode;
133
+ }