dockview-core 1.8.4 → 1.9.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 (464) hide show
  1. package/README.md +58 -51
  2. package/dist/cjs/api/component.api.d.ts +467 -152
  3. package/dist/cjs/api/component.api.d.ts.map +1 -1
  4. package/dist/cjs/api/component.api.js +917 -592
  5. package/dist/cjs/api/component.api.js.map +1 -1
  6. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +36 -29
  7. package/dist/cjs/api/dockviewGroupPanelApi.d.ts.map +1 -1
  8. package/dist/cjs/api/dockviewGroupPanelApi.js +83 -53
  9. package/dist/cjs/api/dockviewGroupPanelApi.js.map +1 -1
  10. package/dist/cjs/api/dockviewPanelApi.d.ts +64 -47
  11. package/dist/cjs/api/dockviewPanelApi.d.ts.map +1 -1
  12. package/dist/cjs/api/dockviewPanelApi.js +108 -88
  13. package/dist/cjs/api/dockviewPanelApi.js.map +1 -1
  14. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -37
  15. package/dist/cjs/api/gridviewPanelApi.js +47 -47
  16. package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
  17. package/dist/cjs/api/panelApi.d.ts +88 -88
  18. package/dist/cjs/api/panelApi.js +135 -135
  19. package/dist/cjs/api/panelApi.js.map +1 -1
  20. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  21. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  22. package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
  23. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  24. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  25. package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
  26. package/dist/cjs/array.d.ts +13 -13
  27. package/dist/cjs/array.js +67 -67
  28. package/dist/cjs/array.js.map +1 -1
  29. package/dist/cjs/constants.d.ts +6 -0
  30. package/dist/cjs/constants.d.ts.map +1 -0
  31. package/dist/cjs/constants.js +6 -0
  32. package/dist/cjs/constants.js.map +1 -0
  33. package/dist/cjs/dnd/abstractDragHandler.d.ts +12 -12
  34. package/dist/cjs/dnd/abstractDragHandler.js +141 -141
  35. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  36. package/dist/cjs/dnd/dataTransfer.d.ts +30 -31
  37. package/dist/cjs/dnd/dataTransfer.d.ts.map +1 -1
  38. package/dist/cjs/dnd/dataTransfer.js +99 -100
  39. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  40. package/dist/cjs/dnd/dnd.d.ts +32 -27
  41. package/dist/cjs/dnd/dnd.d.ts.map +1 -1
  42. package/dist/cjs/dnd/dnd.js +74 -59
  43. package/dist/cjs/dnd/dnd.js.map +1 -1
  44. package/dist/cjs/dnd/droptarget.d.ts +55 -53
  45. package/dist/cjs/dnd/droptarget.d.ts.map +1 -1
  46. package/dist/cjs/dnd/droptarget.js +305 -304
  47. package/dist/cjs/dnd/droptarget.js.map +1 -1
  48. package/dist/cjs/dnd/ghost.d.ts +1 -1
  49. package/dist/cjs/dnd/ghost.js +15 -15
  50. package/dist/cjs/dnd/groupDragHandler.d.ts +12 -12
  51. package/dist/cjs/dnd/groupDragHandler.js +77 -77
  52. package/dist/cjs/dnd/groupDragHandler.js.map +1 -1
  53. package/dist/cjs/dnd/overlay.d.ts +30 -43
  54. package/dist/cjs/dnd/overlay.d.ts.map +1 -1
  55. package/dist/cjs/dnd/overlay.js +412 -412
  56. package/dist/cjs/dnd/overlay.js.map +1 -1
  57. package/dist/cjs/dockview/components/panel/content.d.ts +43 -30
  58. package/dist/cjs/dockview/components/panel/content.d.ts.map +1 -1
  59. package/dist/cjs/dockview/components/panel/content.js +159 -100
  60. package/dist/cjs/dockview/components/panel/content.js.map +1 -1
  61. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +21 -21
  62. package/dist/cjs/dockview/components/tab/defaultTab.js +105 -105
  63. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  64. package/dist/cjs/dockview/components/tab/tab.d.ts +34 -34
  65. package/dist/cjs/dockview/components/tab/tab.js +120 -120
  66. package/dist/cjs/dockview/components/tab/tab.js.map +1 -1
  67. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  68. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +325 -325
  69. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -1
  70. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +17 -17
  71. package/dist/cjs/dockview/components/titlebar/voidContainer.js +77 -77
  72. package/dist/cjs/dockview/components/titlebar/voidContainer.js.map +1 -1
  73. package/dist/cjs/dockview/components/watermark/watermark.d.ts +18 -18
  74. package/dist/cjs/dockview/components/watermark/watermark.js +87 -87
  75. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  76. package/dist/cjs/dockview/deserializer.d.ts +12 -12
  77. package/dist/cjs/dockview/deserializer.d.ts.map +1 -1
  78. package/dist/cjs/dockview/deserializer.js +35 -33
  79. package/dist/cjs/dockview/deserializer.js.map +1 -1
  80. package/dist/cjs/dockview/dockviewComponent.d.ts +171 -159
  81. package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
  82. package/dist/cjs/dockview/dockviewComponent.js +1354 -1156
  83. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  84. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  85. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +34 -34
  86. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js.map +1 -1
  87. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +30 -30
  88. package/dist/cjs/dockview/dockviewGroupPanel.d.ts.map +1 -1
  89. package/dist/cjs/dockview/dockviewGroupPanel.js +99 -97
  90. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  91. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +186 -185
  92. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  93. package/dist/cjs/dockview/dockviewGroupPanelModel.js +626 -631
  94. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
  95. package/dist/cjs/dockview/dockviewPanel.d.ts +48 -41
  96. package/dist/cjs/dockview/dockviewPanel.d.ts.map +1 -1
  97. package/dist/cjs/dockview/dockviewPanel.js +194 -171
  98. package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
  99. package/dist/cjs/dockview/dockviewPanelModel.d.ts +35 -35
  100. package/dist/cjs/dockview/dockviewPanelModel.js +98 -98
  101. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -1
  102. package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts +16 -0
  103. package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts.map +1 -0
  104. package/dist/cjs/dockview/dockviewPopoutGroupPanel.js +50 -0
  105. package/dist/cjs/dockview/dockviewPopoutGroupPanel.js.map +1 -0
  106. package/dist/cjs/dockview/options.d.ts +138 -136
  107. package/dist/cjs/dockview/options.d.ts.map +1 -1
  108. package/dist/cjs/dockview/options.js +31 -31
  109. package/dist/cjs/dockview/options.js.map +1 -1
  110. package/dist/cjs/dockview/types.d.ts +65 -63
  111. package/dist/cjs/dockview/types.d.ts.map +1 -1
  112. package/dist/cjs/dockview/types.js +10 -10
  113. package/dist/cjs/dockview/types.js.map +1 -1
  114. package/dist/cjs/dom.d.ts +28 -16
  115. package/dist/cjs/dom.d.ts.map +1 -1
  116. package/dist/cjs/dom.js +276 -197
  117. package/dist/cjs/dom.js.map +1 -1
  118. package/dist/cjs/events.d.ts +47 -47
  119. package/dist/cjs/events.js +216 -216
  120. package/dist/cjs/events.js.map +1 -1
  121. package/dist/cjs/gridview/baseComponentGridview.d.ts +98 -87
  122. package/dist/cjs/gridview/baseComponentGridview.d.ts.map +1 -1
  123. package/dist/cjs/gridview/baseComponentGridview.js +289 -270
  124. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  125. package/dist/cjs/gridview/basePanelView.d.ts +40 -40
  126. package/dist/cjs/gridview/basePanelView.js +156 -156
  127. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  128. package/dist/cjs/gridview/branchNode.d.ts +51 -49
  129. package/dist/cjs/gridview/branchNode.d.ts.map +1 -1
  130. package/dist/cjs/gridview/branchNode.js +370 -343
  131. package/dist/cjs/gridview/branchNode.js.map +1 -1
  132. package/dist/cjs/gridview/gridview.d.ts +140 -133
  133. package/dist/cjs/gridview/gridview.d.ts.map +1 -1
  134. package/dist/cjs/gridview/gridview.js +627 -547
  135. package/dist/cjs/gridview/gridview.js.map +1 -1
  136. package/dist/cjs/gridview/gridviewComponent.d.ts +80 -80
  137. package/dist/cjs/gridview/gridviewComponent.d.ts.map +1 -1
  138. package/dist/cjs/gridview/gridviewComponent.js +362 -360
  139. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  140. package/dist/cjs/gridview/gridviewPanel.d.ts +65 -65
  141. package/dist/cjs/gridview/gridviewPanel.js +214 -214
  142. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  143. package/dist/cjs/gridview/leafNode.d.ts +34 -34
  144. package/dist/cjs/gridview/leafNode.d.ts.map +1 -1
  145. package/dist/cjs/gridview/leafNode.js +169 -170
  146. package/dist/cjs/gridview/leafNode.js.map +1 -1
  147. package/dist/cjs/gridview/options.d.ts +17 -18
  148. package/dist/cjs/gridview/options.d.ts.map +1 -1
  149. package/dist/cjs/gridview/options.js +2 -2
  150. package/dist/cjs/gridview/types.d.ts +3 -3
  151. package/dist/cjs/gridview/types.js +2 -2
  152. package/dist/cjs/index.d.ts +43 -42
  153. package/dist/cjs/index.d.ts.map +1 -1
  154. package/dist/cjs/index.js +61 -61
  155. package/dist/cjs/index.js.map +1 -1
  156. package/dist/cjs/lifecycle.d.ts +24 -23
  157. package/dist/cjs/lifecycle.d.ts.map +1 -1
  158. package/dist/cjs/lifecycle.js +73 -65
  159. package/dist/cjs/lifecycle.js.map +1 -1
  160. package/dist/cjs/math.d.ts +5 -5
  161. package/dist/cjs/math.js +34 -34
  162. package/dist/cjs/math.js.map +1 -1
  163. package/dist/cjs/overlayRenderContainer.d.ts +19 -0
  164. package/dist/cjs/overlayRenderContainer.d.ts.map +1 -0
  165. package/dist/cjs/overlayRenderContainer.js +170 -0
  166. package/dist/cjs/overlayRenderContainer.js.map +1 -0
  167. package/dist/cjs/panel/componentFactory.d.ts +11 -10
  168. package/dist/cjs/panel/componentFactory.d.ts.map +1 -1
  169. package/dist/cjs/panel/componentFactory.js +30 -30
  170. package/dist/cjs/panel/componentFactory.js.map +1 -1
  171. package/dist/cjs/panel/types.d.ts +33 -33
  172. package/dist/cjs/panel/types.js +2 -2
  173. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  174. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  175. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  176. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +21 -21
  177. package/dist/cjs/paneview/draggablePaneviewPanel.js +131 -131
  178. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  179. package/dist/cjs/paneview/options.d.ts +25 -28
  180. package/dist/cjs/paneview/options.d.ts.map +1 -1
  181. package/dist/cjs/paneview/options.js +2 -2
  182. package/dist/cjs/paneview/paneview.d.ts +40 -40
  183. package/dist/cjs/paneview/paneview.d.ts.map +1 -1
  184. package/dist/cjs/paneview/paneview.js +200 -201
  185. package/dist/cjs/paneview/paneview.js.map +1 -1
  186. package/dist/cjs/paneview/paneviewComponent.d.ts +128 -128
  187. package/dist/cjs/paneview/paneviewComponent.js +400 -397
  188. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  189. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -92
  190. package/dist/cjs/paneview/paneviewPanel.d.ts.map +1 -1
  191. package/dist/cjs/paneview/paneviewPanel.js +275 -275
  192. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  193. package/dist/cjs/popoutWindow.d.ts +18 -0
  194. package/dist/cjs/popoutWindow.d.ts.map +1 -0
  195. package/dist/cjs/popoutWindow.js +130 -0
  196. package/dist/cjs/popoutWindow.js.map +1 -0
  197. package/dist/cjs/resizable.d.ts +10 -7
  198. package/dist/cjs/resizable.d.ts.map +1 -1
  199. package/dist/cjs/resizable.js +79 -64
  200. package/dist/cjs/resizable.js.map +1 -1
  201. package/dist/cjs/splitview/options.d.ts +26 -27
  202. package/dist/cjs/splitview/options.d.ts.map +1 -1
  203. package/dist/cjs/splitview/options.js +2 -2
  204. package/dist/cjs/splitview/splitview.d.ts +129 -128
  205. package/dist/cjs/splitview/splitview.d.ts.map +1 -1
  206. package/dist/cjs/splitview/splitview.js +959 -936
  207. package/dist/cjs/splitview/splitview.js.map +1 -1
  208. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  209. package/dist/cjs/splitview/splitviewComponent.js +395 -392
  210. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  211. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -45
  212. package/dist/cjs/splitview/splitviewPanel.d.ts.map +1 -1
  213. package/dist/cjs/splitview/splitviewPanel.js +179 -179
  214. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  215. package/dist/cjs/splitview/viewItem.d.ts +25 -25
  216. package/dist/cjs/splitview/viewItem.js +119 -119
  217. package/dist/cjs/splitview/viewItem.js.map +1 -1
  218. package/dist/cjs/svg.d.ts +3 -3
  219. package/dist/cjs/svg.js +43 -43
  220. package/dist/cjs/types.d.ts +8 -2
  221. package/dist/cjs/types.d.ts.map +1 -1
  222. package/dist/cjs/types.js +2 -2
  223. package/dist/dockview-core.amd.js +8374 -7314
  224. package/dist/dockview-core.amd.js.map +1 -1
  225. package/dist/dockview-core.amd.min.js +2 -2
  226. package/dist/dockview-core.amd.min.js.map +1 -1
  227. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  228. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  229. package/dist/dockview-core.amd.noStyle.js +8328 -7268
  230. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  231. package/dist/dockview-core.cjs.js +8374 -7314
  232. package/dist/dockview-core.cjs.js.map +1 -1
  233. package/dist/dockview-core.esm.js +8374 -7314
  234. package/dist/dockview-core.esm.js.map +1 -1
  235. package/dist/dockview-core.esm.min.js +2 -2
  236. package/dist/dockview-core.esm.min.js.map +1 -1
  237. package/dist/dockview-core.js +8374 -7314
  238. package/dist/dockview-core.js.map +1 -1
  239. package/dist/dockview-core.min.js +2 -2
  240. package/dist/dockview-core.min.js.map +1 -1
  241. package/dist/dockview-core.min.noStyle.js +2 -2
  242. package/dist/dockview-core.min.noStyle.js.map +1 -1
  243. package/dist/dockview-core.noStyle.js +8328 -7268
  244. package/dist/dockview-core.noStyle.js.map +1 -1
  245. package/dist/esm/api/component.api.d.ts +467 -152
  246. package/dist/esm/api/component.api.d.ts.map +1 -1
  247. package/dist/esm/api/component.api.js +656 -335
  248. package/dist/esm/api/component.api.js.map +1 -1
  249. package/dist/esm/api/dockviewGroupPanelApi.d.ts +36 -29
  250. package/dist/esm/api/dockviewGroupPanelApi.d.ts.map +1 -1
  251. package/dist/esm/api/dockviewGroupPanelApi.js +57 -27
  252. package/dist/esm/api/dockviewGroupPanelApi.js.map +1 -1
  253. package/dist/esm/api/dockviewPanelApi.d.ts +64 -47
  254. package/dist/esm/api/dockviewPanelApi.d.ts.map +1 -1
  255. package/dist/esm/api/dockviewPanelApi.js +69 -53
  256. package/dist/esm/api/dockviewPanelApi.js.map +1 -1
  257. package/dist/esm/api/gridviewPanelApi.d.ts +37 -37
  258. package/dist/esm/api/gridviewPanelApi.js +25 -25
  259. package/dist/esm/api/gridviewPanelApi.js.map +1 -1
  260. package/dist/esm/api/panelApi.d.ts +88 -88
  261. package/dist/esm/api/panelApi.js +93 -93
  262. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  263. package/dist/esm/api/paneviewPanelApi.js +27 -27
  264. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  265. package/dist/esm/api/splitviewPanelApi.js +25 -25
  266. package/dist/esm/array.d.ts +13 -13
  267. package/dist/esm/array.js +57 -57
  268. package/dist/esm/array.js.map +1 -1
  269. package/dist/esm/constants.d.ts +6 -0
  270. package/dist/esm/constants.d.ts.map +1 -0
  271. package/dist/esm/constants.js +3 -0
  272. package/dist/esm/constants.js.map +1 -0
  273. package/dist/esm/dnd/abstractDragHandler.d.ts +12 -12
  274. package/dist/esm/dnd/abstractDragHandler.js +63 -63
  275. package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
  276. package/dist/esm/dnd/dataTransfer.d.ts +30 -31
  277. package/dist/esm/dnd/dataTransfer.d.ts.map +1 -1
  278. package/dist/esm/dnd/dataTransfer.js +66 -69
  279. package/dist/esm/dnd/dataTransfer.js.map +1 -1
  280. package/dist/esm/dnd/dnd.d.ts +32 -27
  281. package/dist/esm/dnd/dnd.d.ts.map +1 -1
  282. package/dist/esm/dnd/dnd.js +51 -36
  283. package/dist/esm/dnd/dnd.js.map +1 -1
  284. package/dist/esm/dnd/droptarget.d.ts +55 -53
  285. package/dist/esm/dnd/droptarget.d.ts.map +1 -1
  286. package/dist/esm/dnd/droptarget.js +275 -274
  287. package/dist/esm/dnd/droptarget.js.map +1 -1
  288. package/dist/esm/dnd/ghost.d.ts +1 -1
  289. package/dist/esm/dnd/ghost.js +11 -11
  290. package/dist/esm/dnd/groupDragHandler.d.ts +12 -12
  291. package/dist/esm/dnd/groupDragHandler.js +54 -54
  292. package/dist/esm/dnd/groupDragHandler.js.map +1 -1
  293. package/dist/esm/dnd/overlay.d.ts +30 -43
  294. package/dist/esm/dnd/overlay.d.ts.map +1 -1
  295. package/dist/esm/dnd/overlay.js +304 -304
  296. package/dist/esm/dnd/overlay.js.map +1 -1
  297. package/dist/esm/dockview/components/panel/content.d.ts +43 -30
  298. package/dist/esm/dockview/components/panel/content.d.ts.map +1 -1
  299. package/dist/esm/dockview/components/panel/content.js +131 -73
  300. package/dist/esm/dockview/components/panel/content.js.map +1 -1
  301. package/dist/esm/dockview/components/tab/defaultTab.d.ts +21 -21
  302. package/dist/esm/dockview/components/tab/defaultTab.js +67 -67
  303. package/dist/esm/dockview/components/tab/defaultTab.js.map +1 -1
  304. package/dist/esm/dockview/components/tab/tab.d.ts +34 -34
  305. package/dist/esm/dockview/components/tab/tab.js +90 -90
  306. package/dist/esm/dockview/components/tab/tab.js.map +1 -1
  307. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +81 -81
  308. package/dist/esm/dockview/components/titlebar/tabsContainer.js +239 -239
  309. package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +1 -1
  310. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +17 -17
  311. package/dist/esm/dockview/components/titlebar/voidContainer.js +51 -51
  312. package/dist/esm/dockview/components/titlebar/voidContainer.js.map +1 -1
  313. package/dist/esm/dockview/components/watermark/watermark.d.ts +18 -18
  314. package/dist/esm/dockview/components/watermark/watermark.js +61 -61
  315. package/dist/esm/dockview/components/watermark/watermark.js.map +1 -1
  316. package/dist/esm/dockview/deserializer.d.ts +12 -12
  317. package/dist/esm/dockview/deserializer.d.ts.map +1 -1
  318. package/dist/esm/dockview/deserializer.js +30 -28
  319. package/dist/esm/dockview/deserializer.js.map +1 -1
  320. package/dist/esm/dockview/dockviewComponent.d.ts +171 -159
  321. package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
  322. package/dist/esm/dockview/dockviewComponent.js +1078 -918
  323. package/dist/esm/dockview/dockviewComponent.js.map +1 -1
  324. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +23 -23
  325. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +12 -12
  326. package/dist/esm/dockview/dockviewGroupPanel.d.ts +30 -30
  327. package/dist/esm/dockview/dockviewGroupPanel.d.ts.map +1 -1
  328. package/dist/esm/dockview/dockviewGroupPanel.js +53 -51
  329. package/dist/esm/dockview/dockviewGroupPanel.js.map +1 -1
  330. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +186 -185
  331. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  332. package/dist/esm/dockview/dockviewGroupPanelModel.js +493 -498
  333. package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
  334. package/dist/esm/dockview/dockviewPanel.d.ts +48 -41
  335. package/dist/esm/dockview/dockviewPanel.d.ts.map +1 -1
  336. package/dist/esm/dockview/dockviewPanel.js +123 -104
  337. package/dist/esm/dockview/dockviewPanel.js.map +1 -1
  338. package/dist/esm/dockview/dockviewPanelModel.d.ts +35 -35
  339. package/dist/esm/dockview/dockviewPanelModel.js +74 -74
  340. package/dist/esm/dockview/dockviewPanelModel.js.map +1 -1
  341. package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts +16 -0
  342. package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts.map +1 -0
  343. package/dist/esm/dockview/dockviewPopoutGroupPanel.js +28 -0
  344. package/dist/esm/dockview/dockviewPopoutGroupPanel.js.map +1 -0
  345. package/dist/esm/dockview/options.d.ts +138 -136
  346. package/dist/esm/dockview/options.d.ts.map +1 -1
  347. package/dist/esm/dockview/options.js +24 -24
  348. package/dist/esm/dockview/options.js.map +1 -1
  349. package/dist/esm/dockview/types.d.ts +65 -63
  350. package/dist/esm/dockview/types.d.ts.map +1 -1
  351. package/dist/esm/dockview/types.js +7 -7
  352. package/dist/esm/dockview/types.js.map +1 -1
  353. package/dist/esm/dom.d.ts +28 -16
  354. package/dist/esm/dom.d.ts.map +1 -1
  355. package/dist/esm/dom.js +181 -126
  356. package/dist/esm/dom.js.map +1 -1
  357. package/dist/esm/events.d.ts +47 -47
  358. package/dist/esm/events.js +156 -156
  359. package/dist/esm/events.js.map +1 -1
  360. package/dist/esm/gridview/baseComponentGridview.d.ts +98 -87
  361. package/dist/esm/gridview/baseComponentGridview.d.ts.map +1 -1
  362. package/dist/esm/gridview/baseComponentGridview.js +199 -184
  363. package/dist/esm/gridview/baseComponentGridview.js.map +1 -1
  364. package/dist/esm/gridview/basePanelView.d.ts +40 -40
  365. package/dist/esm/gridview/basePanelView.js +85 -85
  366. package/dist/esm/gridview/basePanelView.js.map +1 -1
  367. package/dist/esm/gridview/branchNode.d.ts +51 -49
  368. package/dist/esm/gridview/branchNode.d.ts.map +1 -1
  369. package/dist/esm/gridview/branchNode.js +240 -219
  370. package/dist/esm/gridview/branchNode.js.map +1 -1
  371. package/dist/esm/gridview/gridview.d.ts +140 -133
  372. package/dist/esm/gridview/gridview.d.ts.map +1 -1
  373. package/dist/esm/gridview/gridview.js +541 -461
  374. package/dist/esm/gridview/gridview.js.map +1 -1
  375. package/dist/esm/gridview/gridviewComponent.d.ts +80 -80
  376. package/dist/esm/gridview/gridviewComponent.d.ts.map +1 -1
  377. package/dist/esm/gridview/gridviewComponent.js +264 -262
  378. package/dist/esm/gridview/gridviewComponent.js.map +1 -1
  379. package/dist/esm/gridview/gridviewPanel.d.ts +65 -65
  380. package/dist/esm/gridview/gridviewPanel.js +151 -151
  381. package/dist/esm/gridview/gridviewPanel.js.map +1 -1
  382. package/dist/esm/gridview/leafNode.d.ts +34 -34
  383. package/dist/esm/gridview/leafNode.d.ts.map +1 -1
  384. package/dist/esm/gridview/leafNode.js +102 -103
  385. package/dist/esm/gridview/leafNode.js.map +1 -1
  386. package/dist/esm/gridview/options.d.ts +17 -18
  387. package/dist/esm/gridview/options.d.ts.map +1 -1
  388. package/dist/esm/gridview/options.js +1 -1
  389. package/dist/esm/gridview/types.d.ts +3 -3
  390. package/dist/esm/gridview/types.js +1 -1
  391. package/dist/esm/index.d.ts +43 -42
  392. package/dist/esm/index.d.ts.map +1 -1
  393. package/dist/esm/index.js +34 -34
  394. package/dist/esm/index.js.map +1 -1
  395. package/dist/esm/lifecycle.d.ts +24 -23
  396. package/dist/esm/lifecycle.d.ts.map +1 -1
  397. package/dist/esm/lifecycle.js +49 -41
  398. package/dist/esm/lifecycle.js.map +1 -1
  399. package/dist/esm/math.d.ts +5 -5
  400. package/dist/esm/math.js +28 -28
  401. package/dist/esm/math.js.map +1 -1
  402. package/dist/esm/overlayRenderContainer.d.ts +19 -0
  403. package/dist/esm/overlayRenderContainer.d.ts.map +1 -0
  404. package/dist/esm/overlayRenderContainer.js +125 -0
  405. package/dist/esm/overlayRenderContainer.js.map +1 -0
  406. package/dist/esm/panel/componentFactory.d.ts +11 -10
  407. package/dist/esm/panel/componentFactory.d.ts.map +1 -1
  408. package/dist/esm/panel/componentFactory.js +24 -24
  409. package/dist/esm/panel/componentFactory.js.map +1 -1
  410. package/dist/esm/panel/types.d.ts +33 -33
  411. package/dist/esm/panel/types.js +1 -1
  412. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  413. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  414. package/dist/esm/paneview/defaultPaneviewHeader.js.map +1 -1
  415. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +21 -21
  416. package/dist/esm/paneview/draggablePaneviewPanel.js +92 -92
  417. package/dist/esm/paneview/draggablePaneviewPanel.js.map +1 -1
  418. package/dist/esm/paneview/options.d.ts +25 -28
  419. package/dist/esm/paneview/options.d.ts.map +1 -1
  420. package/dist/esm/paneview/options.js +1 -1
  421. package/dist/esm/paneview/paneview.d.ts +40 -40
  422. package/dist/esm/paneview/paneview.d.ts.map +1 -1
  423. package/dist/esm/paneview/paneview.js +145 -145
  424. package/dist/esm/paneview/paneview.js.map +1 -1
  425. package/dist/esm/paneview/paneviewComponent.d.ts +128 -128
  426. package/dist/esm/paneview/paneviewComponent.js +276 -273
  427. package/dist/esm/paneview/paneviewComponent.js.map +1 -1
  428. package/dist/esm/paneview/paneviewPanel.d.ts +92 -92
  429. package/dist/esm/paneview/paneviewPanel.d.ts.map +1 -1
  430. package/dist/esm/paneview/paneviewPanel.js +192 -192
  431. package/dist/esm/paneview/paneviewPanel.js.map +1 -1
  432. package/dist/esm/popoutWindow.d.ts +18 -0
  433. package/dist/esm/popoutWindow.d.ts.map +1 -0
  434. package/dist/esm/popoutWindow.js +88 -0
  435. package/dist/esm/popoutWindow.js.map +1 -0
  436. package/dist/esm/resizable.d.ts +10 -7
  437. package/dist/esm/resizable.d.ts.map +1 -1
  438. package/dist/esm/resizable.js +48 -38
  439. package/dist/esm/resizable.js.map +1 -1
  440. package/dist/esm/splitview/options.d.ts +26 -27
  441. package/dist/esm/splitview/options.d.ts.map +1 -1
  442. package/dist/esm/splitview/options.js +1 -1
  443. package/dist/esm/splitview/splitview.d.ts +129 -128
  444. package/dist/esm/splitview/splitview.d.ts.map +1 -1
  445. package/dist/esm/splitview/splitview.js +721 -704
  446. package/dist/esm/splitview/splitview.js.map +1 -1
  447. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  448. package/dist/esm/splitview/splitviewComponent.js +261 -258
  449. package/dist/esm/splitview/splitviewComponent.js.map +1 -1
  450. package/dist/esm/splitview/splitviewPanel.d.ts +45 -45
  451. package/dist/esm/splitview/splitviewPanel.d.ts.map +1 -1
  452. package/dist/esm/splitview/splitviewPanel.js +108 -108
  453. package/dist/esm/splitview/splitviewPanel.js.map +1 -1
  454. package/dist/esm/splitview/viewItem.d.ts +25 -25
  455. package/dist/esm/splitview/viewItem.js +74 -74
  456. package/dist/esm/splitview/viewItem.js.map +1 -1
  457. package/dist/esm/svg.d.ts +3 -3
  458. package/dist/esm/svg.js +31 -31
  459. package/dist/esm/types.d.ts +8 -2
  460. package/dist/esm/types.d.ts.map +1 -1
  461. package/dist/esm/types.js +1 -1
  462. package/dist/styles/dockview.css +33 -2
  463. package/package.json +30 -42
  464. package/LICENSE +0 -21
@@ -1,393 +1,396 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __read = (this && this.__read) || function (o, n) {
29
- var m = typeof Symbol === "function" && o[Symbol.iterator];
30
- if (!m) return o;
31
- var i = m.call(o), r, ar = [], e;
32
- try {
33
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
- }
35
- catch (error) { e = { error: error }; }
36
- finally {
37
- try {
38
- if (r && !r.done && (m = i["return"])) m.call(i);
39
- }
40
- finally { if (e) throw e.error; }
41
- }
42
- return ar;
43
- };
44
- var __values = (this && this.__values) || function(o) {
45
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
46
- if (m) return m.call(o);
47
- if (o && typeof o.length === "number") return {
48
- next: function () {
49
- if (o && i >= o.length) o = void 0;
50
- return { value: o && o[i++], done: !o };
51
- }
52
- };
53
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
54
- };
55
- Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.SplitviewComponent = void 0;
57
- var lifecycle_1 = require("../lifecycle");
58
- var splitview_1 = require("./splitview");
59
- var events_1 = require("../events");
60
- var componentFactory_1 = require("../panel/componentFactory");
61
- var resizable_1 = require("../resizable");
62
- /**
63
- * A high-level implementation of splitview that works using 'panels'
64
- */
65
- var SplitviewComponent = /** @class */ (function (_super) {
66
- __extends(SplitviewComponent, _super);
67
- function SplitviewComponent(options) {
68
- var _this = _super.call(this, options.parentElement) || this;
69
- _this._splitviewChangeDisposable = new lifecycle_1.MutableDisposable();
70
- _this._panels = new Map();
71
- _this._onDidLayoutfromJSON = new events_1.Emitter();
72
- _this.onDidLayoutFromJSON = _this._onDidLayoutfromJSON.event;
73
- _this._onDidAddView = new events_1.Emitter();
74
- _this.onDidAddView = _this._onDidAddView.event;
75
- _this._onDidRemoveView = new events_1.Emitter();
76
- _this.onDidRemoveView = _this._onDidRemoveView.event;
77
- _this._onDidLayoutChange = new events_1.Emitter();
78
- _this.onDidLayoutChange = _this._onDidLayoutChange.event;
79
- _this._options = options;
80
- if (!options.components) {
81
- options.components = {};
82
- }
83
- if (!options.frameworkComponents) {
84
- options.frameworkComponents = {};
85
- }
86
- _this.splitview = new splitview_1.Splitview(_this.element, options);
87
- _this.addDisposables(_this._onDidAddView, _this._onDidLayoutfromJSON, _this._onDidRemoveView, _this._onDidLayoutChange);
88
- return _this;
89
- }
90
- Object.defineProperty(SplitviewComponent.prototype, "panels", {
91
- get: function () {
92
- return this.splitview.getViews();
93
- },
94
- enumerable: false,
95
- configurable: true
96
- });
97
- Object.defineProperty(SplitviewComponent.prototype, "options", {
98
- get: function () {
99
- return this._options;
100
- },
101
- enumerable: false,
102
- configurable: true
103
- });
104
- Object.defineProperty(SplitviewComponent.prototype, "length", {
105
- get: function () {
106
- return this._panels.size;
107
- },
108
- enumerable: false,
109
- configurable: true
110
- });
111
- Object.defineProperty(SplitviewComponent.prototype, "orientation", {
112
- get: function () {
113
- return this.splitview.orientation;
114
- },
115
- enumerable: false,
116
- configurable: true
117
- });
118
- Object.defineProperty(SplitviewComponent.prototype, "splitview", {
119
- get: function () {
120
- return this._splitview;
121
- },
122
- set: function (value) {
123
- var _this = this;
124
- this._splitview = value;
125
- this._splitviewChangeDisposable.value = new lifecycle_1.CompositeDisposable(this._splitview.onDidSashEnd(function () {
126
- _this._onDidLayoutChange.fire(undefined);
127
- }), this._splitview.onDidAddView(function (e) { return _this._onDidAddView.fire(e); }), this._splitview.onDidRemoveView(function (e) {
128
- return _this._onDidRemoveView.fire(e);
129
- }));
130
- },
131
- enumerable: false,
132
- configurable: true
133
- });
134
- Object.defineProperty(SplitviewComponent.prototype, "minimumSize", {
135
- get: function () {
136
- return this.splitview.minimumSize;
137
- },
138
- enumerable: false,
139
- configurable: true
140
- });
141
- Object.defineProperty(SplitviewComponent.prototype, "maximumSize", {
142
- get: function () {
143
- return this.splitview.maximumSize;
144
- },
145
- enumerable: false,
146
- configurable: true
147
- });
148
- Object.defineProperty(SplitviewComponent.prototype, "height", {
149
- get: function () {
150
- return this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
151
- ? this.splitview.orthogonalSize
152
- : this.splitview.size;
153
- },
154
- enumerable: false,
155
- configurable: true
156
- });
157
- Object.defineProperty(SplitviewComponent.prototype, "width", {
158
- get: function () {
159
- return this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
160
- ? this.splitview.size
161
- : this.splitview.orthogonalSize;
162
- },
163
- enumerable: false,
164
- configurable: true
165
- });
166
- SplitviewComponent.prototype.updateOptions = function (options) {
167
- var hasOrientationChanged = typeof options.orientation === 'string' &&
168
- this.options.orientation !== options.orientation;
169
- this._options = __assign(__assign({}, this.options), options);
170
- if (hasOrientationChanged) {
171
- this.splitview.orientation = options.orientation;
172
- }
173
- this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
174
- };
175
- SplitviewComponent.prototype.focus = function () {
176
- var _a;
177
- (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus();
178
- };
179
- SplitviewComponent.prototype.movePanel = function (from, to) {
180
- this.splitview.moveView(from, to);
181
- };
182
- SplitviewComponent.prototype.setVisible = function (panel, visible) {
183
- var index = this.panels.indexOf(panel);
184
- this.splitview.setViewVisible(index, visible);
185
- };
186
- SplitviewComponent.prototype.setActive = function (view, skipFocus) {
187
- this._activePanel = view;
188
- this.panels
189
- .filter(function (v) { return v !== view; })
190
- .forEach(function (v) {
191
- v.api._onDidActiveChange.fire({ isActive: false });
192
- if (!skipFocus) {
193
- v.focus();
194
- }
195
- });
196
- view.api._onDidActiveChange.fire({ isActive: true });
197
- if (!skipFocus) {
198
- view.focus();
199
- }
200
- };
201
- SplitviewComponent.prototype.removePanel = function (panel, sizing) {
202
- var item = this._panels.get(panel.id);
203
- if (!item) {
204
- throw new Error("unknown splitview panel ".concat(panel.id));
205
- }
206
- item.dispose();
207
- this._panels.delete(panel.id);
208
- var index = this.panels.findIndex(function (_) { return _ === panel; });
209
- var removedView = this.splitview.removeView(index, sizing);
210
- removedView.dispose();
211
- var panels = this.panels;
212
- if (panels.length > 0) {
213
- this.setActive(panels[panels.length - 1]);
214
- }
215
- };
216
- SplitviewComponent.prototype.getPanel = function (id) {
217
- return this.panels.find(function (view) { return view.id === id; });
218
- };
219
- SplitviewComponent.prototype.addPanel = function (options) {
220
- if (this._panels.has(options.id)) {
221
- throw new Error("panel ".concat(options.id, " already exists"));
222
- }
223
- var view = (0, componentFactory_1.createComponent)(options.id, options.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkWrapper
224
- ? {
225
- createComponent: this.options.frameworkWrapper.createComponent,
226
- }
227
- : undefined);
228
- view.orientation = this.splitview.orientation;
229
- view.init({
230
- params: options.params || {},
231
- minimumSize: options.minimumSize,
232
- maximumSize: options.maximumSize,
233
- snap: options.snap,
234
- priority: options.priority,
235
- accessor: this,
236
- });
237
- var size = typeof options.size === 'number' ? options.size : splitview_1.Sizing.Distribute;
238
- var index = typeof options.index === 'number' ? options.index : undefined;
239
- this.splitview.addView(view, size, index);
240
- this.doAddView(view);
241
- this.setActive(view);
242
- return view;
243
- };
244
- SplitviewComponent.prototype.layout = function (width, height) {
245
- var _a = __read(this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
246
- ? [width, height]
247
- : [height, width], 2), size = _a[0], orthogonalSize = _a[1];
248
- this.splitview.layout(size, orthogonalSize);
249
- };
250
- SplitviewComponent.prototype.doAddView = function (view) {
251
- var _this = this;
252
- var disposable = view.api.onDidFocusChange(function (event) {
253
- if (!event.isFocused) {
254
- return;
255
- }
256
- _this.setActive(view, true);
257
- });
258
- this._panels.set(view.id, disposable);
259
- };
260
- SplitviewComponent.prototype.toJSON = function () {
261
- var _this = this;
262
- var _a;
263
- var views = this.splitview
264
- .getViews()
265
- .map(function (view, i) {
266
- var size = _this.splitview.getViewSize(i);
267
- return {
268
- size: size,
269
- data: view.toJSON(),
270
- snap: !!view.snap,
271
- priority: view.priority,
272
- };
273
- });
274
- return {
275
- views: views,
276
- activeView: (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.id,
277
- size: this.splitview.size,
278
- orientation: this.splitview.orientation,
279
- };
280
- };
281
- SplitviewComponent.prototype.fromJSON = function (serializedSplitview) {
282
- var _this = this;
283
- this.clear();
284
- var views = serializedSplitview.views, orientation = serializedSplitview.orientation, size = serializedSplitview.size, activeView = serializedSplitview.activeView;
285
- var queue = [];
286
- // take note of the existing dimensions
287
- var width = this.width;
288
- var height = this.height;
289
- this.splitview = new splitview_1.Splitview(this.element, {
290
- orientation: orientation,
291
- proportionalLayout: this.options.proportionalLayout,
292
- descriptor: {
293
- size: size,
294
- views: views.map(function (view) {
295
- var data = view.data;
296
- if (_this._panels.has(data.id)) {
297
- throw new Error("panel ".concat(data.id, " already exists"));
298
- }
299
- var panel = (0, componentFactory_1.createComponent)(data.id, data.component, _this.options.components || {}, _this.options.frameworkComponents || {}, _this.options.frameworkWrapper
300
- ? {
301
- createComponent: _this.options.frameworkWrapper
302
- .createComponent,
303
- }
304
- : undefined);
305
- queue.push(function () {
306
- panel.init({
307
- params: data.params || {},
308
- minimumSize: data.minimumSize,
309
- maximumSize: data.maximumSize,
310
- snap: view.snap,
311
- priority: view.priority,
312
- accessor: _this,
313
- });
314
- });
315
- panel.orientation = orientation;
316
- _this.doAddView(panel);
317
- setTimeout(function () {
318
- // the original onDidAddView events are missed since they are fired before we can subcribe to them
319
- _this._onDidAddView.fire(panel);
320
- }, 0);
321
- return { size: view.size, view: panel };
322
- }),
323
- },
324
- });
325
- this.layout(width, height);
326
- queue.forEach(function (f) { return f(); });
327
- if (typeof activeView === 'string') {
328
- var panel = this.getPanel(activeView);
329
- if (panel) {
330
- this.setActive(panel);
331
- }
332
- }
333
- this._onDidLayoutfromJSON.fire();
334
- };
335
- SplitviewComponent.prototype.clear = function () {
336
- var e_1, _a;
337
- try {
338
- for (var _b = __values(this._panels.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
339
- var disposable = _c.value;
340
- disposable.dispose();
341
- }
342
- }
343
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
344
- finally {
345
- try {
346
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
347
- }
348
- finally { if (e_1) throw e_1.error; }
349
- }
350
- this._panels.clear();
351
- while (this.splitview.length > 0) {
352
- var view = this.splitview.removeView(0, splitview_1.Sizing.Distribute, true);
353
- view.dispose();
354
- }
355
- };
356
- SplitviewComponent.prototype.dispose = function () {
357
- var e_2, _a, e_3, _b;
358
- try {
359
- for (var _c = __values(this._panels.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
360
- var disposable = _d.value;
361
- disposable.dispose();
362
- }
363
- }
364
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
365
- finally {
366
- try {
367
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
368
- }
369
- finally { if (e_2) throw e_2.error; }
370
- }
371
- this._panels.clear();
372
- var views = this.splitview.getViews();
373
- this._splitviewChangeDisposable.dispose();
374
- this.splitview.dispose();
375
- try {
376
- for (var views_1 = __values(views), views_1_1 = views_1.next(); !views_1_1.done; views_1_1 = views_1.next()) {
377
- var view = views_1_1.value;
378
- view.dispose();
379
- }
380
- }
381
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
382
- finally {
383
- try {
384
- if (views_1_1 && !views_1_1.done && (_b = views_1.return)) _b.call(views_1);
385
- }
386
- finally { if (e_3) throw e_3.error; }
387
- }
388
- _super.prototype.dispose.call(this);
389
- };
390
- return SplitviewComponent;
391
- }(resizable_1.Resizable));
392
- exports.SplitviewComponent = SplitviewComponent;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __read = (this && this.__read) || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o), r, ar = [], e;
32
+ try {
33
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
+ }
35
+ catch (error) { e = { error: error }; }
36
+ finally {
37
+ try {
38
+ if (r && !r.done && (m = i["return"])) m.call(i);
39
+ }
40
+ finally { if (e) throw e.error; }
41
+ }
42
+ return ar;
43
+ };
44
+ var __values = (this && this.__values) || function(o) {
45
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
46
+ if (m) return m.call(o);
47
+ if (o && typeof o.length === "number") return {
48
+ next: function () {
49
+ if (o && i >= o.length) o = void 0;
50
+ return { value: o && o[i++], done: !o };
51
+ }
52
+ };
53
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
54
+ };
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.SplitviewComponent = void 0;
57
+ var lifecycle_1 = require("../lifecycle");
58
+ var splitview_1 = require("./splitview");
59
+ var events_1 = require("../events");
60
+ var componentFactory_1 = require("../panel/componentFactory");
61
+ var resizable_1 = require("../resizable");
62
+ /**
63
+ * A high-level implementation of splitview that works using 'panels'
64
+ */
65
+ var SplitviewComponent = /** @class */ (function (_super) {
66
+ __extends(SplitviewComponent, _super);
67
+ function SplitviewComponent(options) {
68
+ var _this = _super.call(this, options.parentElement, options.disableAutoResizing) || this;
69
+ _this._splitviewChangeDisposable = new lifecycle_1.MutableDisposable();
70
+ _this._panels = new Map();
71
+ _this._onDidLayoutfromJSON = new events_1.Emitter();
72
+ _this.onDidLayoutFromJSON = _this._onDidLayoutfromJSON.event;
73
+ _this._onDidAddView = new events_1.Emitter();
74
+ _this.onDidAddView = _this._onDidAddView.event;
75
+ _this._onDidRemoveView = new events_1.Emitter();
76
+ _this.onDidRemoveView = _this._onDidRemoveView.event;
77
+ _this._onDidLayoutChange = new events_1.Emitter();
78
+ _this.onDidLayoutChange = _this._onDidLayoutChange.event;
79
+ _this._options = options;
80
+ if (!options.components) {
81
+ options.components = {};
82
+ }
83
+ if (!options.frameworkComponents) {
84
+ options.frameworkComponents = {};
85
+ }
86
+ _this.splitview = new splitview_1.Splitview(_this.element, options);
87
+ _this.addDisposables(_this._onDidAddView, _this._onDidLayoutfromJSON, _this._onDidRemoveView, _this._onDidLayoutChange);
88
+ return _this;
89
+ }
90
+ Object.defineProperty(SplitviewComponent.prototype, "panels", {
91
+ get: function () {
92
+ return this.splitview.getViews();
93
+ },
94
+ enumerable: false,
95
+ configurable: true
96
+ });
97
+ Object.defineProperty(SplitviewComponent.prototype, "options", {
98
+ get: function () {
99
+ return this._options;
100
+ },
101
+ enumerable: false,
102
+ configurable: true
103
+ });
104
+ Object.defineProperty(SplitviewComponent.prototype, "length", {
105
+ get: function () {
106
+ return this._panels.size;
107
+ },
108
+ enumerable: false,
109
+ configurable: true
110
+ });
111
+ Object.defineProperty(SplitviewComponent.prototype, "orientation", {
112
+ get: function () {
113
+ return this.splitview.orientation;
114
+ },
115
+ enumerable: false,
116
+ configurable: true
117
+ });
118
+ Object.defineProperty(SplitviewComponent.prototype, "splitview", {
119
+ get: function () {
120
+ return this._splitview;
121
+ },
122
+ set: function (value) {
123
+ var _this = this;
124
+ this._splitview = value;
125
+ this._splitviewChangeDisposable.value = new lifecycle_1.CompositeDisposable(this._splitview.onDidSashEnd(function () {
126
+ _this._onDidLayoutChange.fire(undefined);
127
+ }), this._splitview.onDidAddView(function (e) { return _this._onDidAddView.fire(e); }), this._splitview.onDidRemoveView(function (e) {
128
+ return _this._onDidRemoveView.fire(e);
129
+ }));
130
+ },
131
+ enumerable: false,
132
+ configurable: true
133
+ });
134
+ Object.defineProperty(SplitviewComponent.prototype, "minimumSize", {
135
+ get: function () {
136
+ return this.splitview.minimumSize;
137
+ },
138
+ enumerable: false,
139
+ configurable: true
140
+ });
141
+ Object.defineProperty(SplitviewComponent.prototype, "maximumSize", {
142
+ get: function () {
143
+ return this.splitview.maximumSize;
144
+ },
145
+ enumerable: false,
146
+ configurable: true
147
+ });
148
+ Object.defineProperty(SplitviewComponent.prototype, "height", {
149
+ get: function () {
150
+ return this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
151
+ ? this.splitview.orthogonalSize
152
+ : this.splitview.size;
153
+ },
154
+ enumerable: false,
155
+ configurable: true
156
+ });
157
+ Object.defineProperty(SplitviewComponent.prototype, "width", {
158
+ get: function () {
159
+ return this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
160
+ ? this.splitview.size
161
+ : this.splitview.orthogonalSize;
162
+ },
163
+ enumerable: false,
164
+ configurable: true
165
+ });
166
+ SplitviewComponent.prototype.updateOptions = function (options) {
167
+ var hasOrientationChanged = typeof options.orientation === 'string' &&
168
+ this.options.orientation !== options.orientation;
169
+ this._options = __assign(__assign({}, this.options), options);
170
+ if (hasOrientationChanged) {
171
+ this.splitview.orientation = options.orientation;
172
+ }
173
+ this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
174
+ };
175
+ SplitviewComponent.prototype.focus = function () {
176
+ var _a;
177
+ (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus();
178
+ };
179
+ SplitviewComponent.prototype.movePanel = function (from, to) {
180
+ this.splitview.moveView(from, to);
181
+ };
182
+ SplitviewComponent.prototype.setVisible = function (panel, visible) {
183
+ var index = this.panels.indexOf(panel);
184
+ this.splitview.setViewVisible(index, visible);
185
+ };
186
+ SplitviewComponent.prototype.setActive = function (view, skipFocus) {
187
+ this._activePanel = view;
188
+ this.panels
189
+ .filter(function (v) { return v !== view; })
190
+ .forEach(function (v) {
191
+ v.api._onDidActiveChange.fire({ isActive: false });
192
+ if (!skipFocus) {
193
+ v.focus();
194
+ }
195
+ });
196
+ view.api._onDidActiveChange.fire({ isActive: true });
197
+ if (!skipFocus) {
198
+ view.focus();
199
+ }
200
+ };
201
+ SplitviewComponent.prototype.removePanel = function (panel, sizing) {
202
+ var item = this._panels.get(panel.id);
203
+ if (!item) {
204
+ throw new Error("unknown splitview panel ".concat(panel.id));
205
+ }
206
+ item.dispose();
207
+ this._panels.delete(panel.id);
208
+ var index = this.panels.findIndex(function (_) { return _ === panel; });
209
+ var removedView = this.splitview.removeView(index, sizing);
210
+ removedView.dispose();
211
+ var panels = this.panels;
212
+ if (panels.length > 0) {
213
+ this.setActive(panels[panels.length - 1]);
214
+ }
215
+ };
216
+ SplitviewComponent.prototype.getPanel = function (id) {
217
+ return this.panels.find(function (view) { return view.id === id; });
218
+ };
219
+ SplitviewComponent.prototype.addPanel = function (options) {
220
+ var _a, _b, _c;
221
+ if (this._panels.has(options.id)) {
222
+ throw new Error("panel ".concat(options.id, " already exists"));
223
+ }
224
+ var view = (0, componentFactory_1.createComponent)(options.id, options.component, (_a = this.options.components) !== null && _a !== void 0 ? _a : {}, (_b = this.options.frameworkComponents) !== null && _b !== void 0 ? _b : {}, this.options.frameworkWrapper
225
+ ? {
226
+ createComponent: this.options.frameworkWrapper.createComponent,
227
+ }
228
+ : undefined);
229
+ view.orientation = this.splitview.orientation;
230
+ view.init({
231
+ params: (_c = options.params) !== null && _c !== void 0 ? _c : {},
232
+ minimumSize: options.minimumSize,
233
+ maximumSize: options.maximumSize,
234
+ snap: options.snap,
235
+ priority: options.priority,
236
+ accessor: this,
237
+ });
238
+ var size = typeof options.size === 'number' ? options.size : splitview_1.Sizing.Distribute;
239
+ var index = typeof options.index === 'number' ? options.index : undefined;
240
+ this.splitview.addView(view, size, index);
241
+ this.doAddView(view);
242
+ this.setActive(view);
243
+ return view;
244
+ };
245
+ SplitviewComponent.prototype.layout = function (width, height) {
246
+ var _a = __read(this.splitview.orientation === splitview_1.Orientation.HORIZONTAL
247
+ ? [width, height]
248
+ : [height, width], 2), size = _a[0], orthogonalSize = _a[1];
249
+ this.splitview.layout(size, orthogonalSize);
250
+ };
251
+ SplitviewComponent.prototype.doAddView = function (view) {
252
+ var _this = this;
253
+ var disposable = view.api.onDidFocusChange(function (event) {
254
+ if (!event.isFocused) {
255
+ return;
256
+ }
257
+ _this.setActive(view, true);
258
+ });
259
+ this._panels.set(view.id, disposable);
260
+ };
261
+ SplitviewComponent.prototype.toJSON = function () {
262
+ var _this = this;
263
+ var _a;
264
+ var views = this.splitview
265
+ .getViews()
266
+ .map(function (view, i) {
267
+ var size = _this.splitview.getViewSize(i);
268
+ return {
269
+ size: size,
270
+ data: view.toJSON(),
271
+ snap: !!view.snap,
272
+ priority: view.priority,
273
+ };
274
+ });
275
+ return {
276
+ views: views,
277
+ activeView: (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.id,
278
+ size: this.splitview.size,
279
+ orientation: this.splitview.orientation,
280
+ };
281
+ };
282
+ SplitviewComponent.prototype.fromJSON = function (serializedSplitview) {
283
+ var _this = this;
284
+ this.clear();
285
+ var views = serializedSplitview.views, orientation = serializedSplitview.orientation, size = serializedSplitview.size, activeView = serializedSplitview.activeView;
286
+ var queue = [];
287
+ // take note of the existing dimensions
288
+ var width = this.width;
289
+ var height = this.height;
290
+ this.splitview = new splitview_1.Splitview(this.element, {
291
+ orientation: orientation,
292
+ proportionalLayout: this.options.proportionalLayout,
293
+ descriptor: {
294
+ size: size,
295
+ views: views.map(function (view) {
296
+ var _a, _b;
297
+ var data = view.data;
298
+ if (_this._panels.has(data.id)) {
299
+ throw new Error("panel ".concat(data.id, " already exists"));
300
+ }
301
+ var panel = (0, componentFactory_1.createComponent)(data.id, data.component, (_a = _this.options.components) !== null && _a !== void 0 ? _a : {}, (_b = _this.options.frameworkComponents) !== null && _b !== void 0 ? _b : {}, _this.options.frameworkWrapper
302
+ ? {
303
+ createComponent: _this.options.frameworkWrapper
304
+ .createComponent,
305
+ }
306
+ : undefined);
307
+ queue.push(function () {
308
+ var _a;
309
+ panel.init({
310
+ params: (_a = data.params) !== null && _a !== void 0 ? _a : {},
311
+ minimumSize: data.minimumSize,
312
+ maximumSize: data.maximumSize,
313
+ snap: view.snap,
314
+ priority: view.priority,
315
+ accessor: _this,
316
+ });
317
+ });
318
+ panel.orientation = orientation;
319
+ _this.doAddView(panel);
320
+ setTimeout(function () {
321
+ // the original onDidAddView events are missed since they are fired before we can subcribe to them
322
+ _this._onDidAddView.fire(panel);
323
+ }, 0);
324
+ return { size: view.size, view: panel };
325
+ }),
326
+ },
327
+ });
328
+ this.layout(width, height);
329
+ queue.forEach(function (f) { return f(); });
330
+ if (typeof activeView === 'string') {
331
+ var panel = this.getPanel(activeView);
332
+ if (panel) {
333
+ this.setActive(panel);
334
+ }
335
+ }
336
+ this._onDidLayoutfromJSON.fire();
337
+ };
338
+ SplitviewComponent.prototype.clear = function () {
339
+ var e_1, _a;
340
+ try {
341
+ for (var _b = __values(this._panels.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
342
+ var disposable = _c.value;
343
+ disposable.dispose();
344
+ }
345
+ }
346
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
347
+ finally {
348
+ try {
349
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
350
+ }
351
+ finally { if (e_1) throw e_1.error; }
352
+ }
353
+ this._panels.clear();
354
+ while (this.splitview.length > 0) {
355
+ var view = this.splitview.removeView(0, splitview_1.Sizing.Distribute, true);
356
+ view.dispose();
357
+ }
358
+ };
359
+ SplitviewComponent.prototype.dispose = function () {
360
+ var e_2, _a, e_3, _b;
361
+ try {
362
+ for (var _c = __values(this._panels.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
363
+ var disposable = _d.value;
364
+ disposable.dispose();
365
+ }
366
+ }
367
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
368
+ finally {
369
+ try {
370
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
371
+ }
372
+ finally { if (e_2) throw e_2.error; }
373
+ }
374
+ this._panels.clear();
375
+ var views = this.splitview.getViews();
376
+ this._splitviewChangeDisposable.dispose();
377
+ this.splitview.dispose();
378
+ try {
379
+ for (var views_1 = __values(views), views_1_1 = views_1.next(); !views_1_1.done; views_1_1 = views_1.next()) {
380
+ var view = views_1_1.value;
381
+ view.dispose();
382
+ }
383
+ }
384
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
385
+ finally {
386
+ try {
387
+ if (views_1_1 && !views_1_1.done && (_b = views_1.return)) _b.call(views_1);
388
+ }
389
+ finally { if (e_3) throw e_3.error; }
390
+ }
391
+ _super.prototype.dispose.call(this);
392
+ };
393
+ return SplitviewComponent;
394
+ }(resizable_1.Resizable));
395
+ exports.SplitviewComponent = SplitviewComponent;
393
396
  //# sourceMappingURL=splitviewComponent.js.map