dockview 1.6.0 → 1.7.1

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 (473) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +50 -52
  3. package/dist/{esm/react → cjs}/dockview/defaultTab.d.ts +5 -4
  4. package/dist/cjs/dockview/defaultTab.d.ts.map +1 -0
  5. package/dist/cjs/{react/dockview → dockview}/defaultTab.js +72 -72
  6. package/dist/cjs/dockview/defaultTab.js.map +1 -0
  7. package/dist/{esm/react → cjs}/dockview/dockview.d.ts +36 -35
  8. package/dist/cjs/dockview/dockview.d.ts.map +1 -0
  9. package/dist/cjs/{react/dockview → dockview}/dockview.js +196 -213
  10. package/dist/cjs/dockview/dockview.js.map +1 -0
  11. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  12. package/dist/cjs/dockview/groupControlsRenderer.d.ts.map +1 -0
  13. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.js +86 -86
  14. package/dist/cjs/dockview/groupControlsRenderer.js.map +1 -0
  15. package/dist/{esm/react → cjs}/dockview/reactContentPart.d.ts +23 -30
  16. package/dist/cjs/dockview/reactContentPart.d.ts.map +1 -0
  17. package/dist/cjs/{react/dockview → dockview}/reactContentPart.js +50 -58
  18. package/dist/cjs/dockview/reactContentPart.js.map +1 -0
  19. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  20. package/dist/cjs/dockview/reactHeaderPart.d.ts.map +1 -0
  21. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.js +43 -55
  22. package/dist/cjs/dockview/reactHeaderPart.js.map +1 -0
  23. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  24. package/dist/cjs/dockview/reactWatermarkPart.d.ts.map +1 -0
  25. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.js +53 -65
  26. package/dist/cjs/dockview/reactWatermarkPart.js.map +1 -0
  27. package/dist/cjs/gridview/gridview.d.ts +23 -132
  28. package/dist/cjs/gridview/gridview.d.ts.map +1 -0
  29. package/dist/cjs/gridview/gridview.js +96 -510
  30. package/dist/cjs/gridview/gridview.js.map +1 -1
  31. package/dist/{esm/react → cjs}/gridview/view.d.ts +11 -11
  32. package/dist/cjs/gridview/view.d.ts.map +1 -0
  33. package/dist/cjs/{react/gridview → gridview}/view.js +39 -41
  34. package/dist/cjs/gridview/view.js.map +1 -0
  35. package/dist/cjs/index.d.ts +11 -30
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +24 -47
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/paneview/paneview.d.ts +25 -40
  40. package/dist/cjs/paneview/paneview.d.ts.map +1 -0
  41. package/dist/cjs/paneview/paneview.js +139 -201
  42. package/dist/cjs/paneview/paneview.js.map +1 -1
  43. package/dist/cjs/{react/paneview → paneview}/view.d.ts +20 -20
  44. package/dist/cjs/paneview/view.d.ts.map +1 -0
  45. package/dist/cjs/{react/paneview → paneview}/view.js +44 -44
  46. package/dist/cjs/paneview/view.js.map +1 -0
  47. package/dist/{esm/react → cjs}/react.d.ts +36 -36
  48. package/dist/cjs/react.d.ts.map +1 -0
  49. package/dist/cjs/{react/react.js → react.js} +196 -194
  50. package/dist/cjs/react.js.map +1 -0
  51. package/dist/{esm/react → cjs}/splitview/splitview.d.ts +23 -24
  52. package/dist/cjs/splitview/splitview.d.ts.map +1 -0
  53. package/dist/cjs/{react/splitview → splitview}/splitview.js +91 -108
  54. package/dist/cjs/splitview/splitview.js.map +1 -0
  55. package/dist/{esm/react → cjs}/splitview/view.d.ts +11 -10
  56. package/dist/cjs/splitview/view.d.ts.map +1 -0
  57. package/dist/cjs/{react/splitview → splitview}/view.js +39 -40
  58. package/dist/cjs/splitview/view.js.map +1 -0
  59. package/dist/cjs/svg.d.ts +4 -3
  60. package/dist/cjs/svg.d.ts.map +1 -0
  61. package/dist/cjs/svg.js +35 -43
  62. package/dist/cjs/svg.js.map +1 -1
  63. package/dist/cjs/types.d.ts +8 -8
  64. package/dist/cjs/types.d.ts.map +1 -0
  65. package/dist/cjs/types.js +2 -7
  66. package/dist/cjs/types.js.map +1 -1
  67. package/dist/dockview.amd.js +7047 -7153
  68. package/dist/dockview.amd.min.js +2 -2
  69. package/dist/dockview.amd.min.noStyle.js +2 -2
  70. package/dist/dockview.amd.noStyle.js +7043 -7149
  71. package/dist/dockview.cjs.js +7052 -7158
  72. package/dist/dockview.esm.js +7035 -7151
  73. package/dist/dockview.esm.min.js +2 -2
  74. package/dist/dockview.js +7047 -7153
  75. package/dist/dockview.min.js +2 -2
  76. package/dist/dockview.min.noStyle.js +2 -2
  77. package/dist/dockview.noStyle.js +7043 -7149
  78. package/dist/{cjs/react → esm}/dockview/defaultTab.d.ts +5 -4
  79. package/dist/esm/dockview/defaultTab.d.ts.map +1 -0
  80. package/dist/esm/{react/dockview → dockview}/defaultTab.js +35 -34
  81. package/dist/esm/dockview/defaultTab.js.map +1 -0
  82. package/dist/{cjs/react → esm}/dockview/dockview.d.ts +36 -35
  83. package/dist/esm/dockview/dockview.d.ts.map +1 -0
  84. package/dist/esm/{react/dockview → dockview}/dockview.js +155 -158
  85. package/dist/esm/dockview/dockview.js.map +1 -0
  86. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  87. package/dist/esm/dockview/groupControlsRenderer.d.ts.map +1 -0
  88. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.js +69 -68
  89. package/dist/esm/dockview/groupControlsRenderer.js.map +1 -0
  90. package/dist/{cjs/react → esm}/dockview/reactContentPart.d.ts +23 -30
  91. package/dist/esm/dockview/reactContentPart.d.ts.map +1 -0
  92. package/dist/esm/{react/dockview → dockview}/reactContentPart.js +42 -49
  93. package/dist/esm/dockview/reactContentPart.js.map +1 -0
  94. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  95. package/dist/esm/dockview/reactHeaderPart.d.ts.map +1 -0
  96. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.js +35 -46
  97. package/dist/esm/dockview/reactHeaderPart.js.map +1 -0
  98. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  99. package/dist/esm/dockview/reactWatermarkPart.d.ts.map +1 -0
  100. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.js +45 -55
  101. package/dist/esm/dockview/reactWatermarkPart.js.map +1 -0
  102. package/dist/esm/gridview/gridview.d.ts +23 -132
  103. package/dist/esm/gridview/gridview.d.ts.map +1 -0
  104. package/dist/esm/gridview/gridview.js +55 -423
  105. package/dist/esm/gridview/gridview.js.map +1 -0
  106. package/dist/{cjs/react → esm}/gridview/view.d.ts +11 -11
  107. package/dist/esm/gridview/view.d.ts.map +1 -0
  108. package/dist/esm/{react/gridview → gridview}/view.js +18 -19
  109. package/dist/esm/gridview/view.js.map +1 -0
  110. package/dist/esm/index.d.ts +11 -30
  111. package/dist/esm/index.d.ts.map +1 -0
  112. package/dist/esm/index.js +9 -23
  113. package/dist/esm/index.js.map +1 -0
  114. package/dist/esm/paneview/paneview.d.ts +25 -40
  115. package/dist/esm/paneview/paneview.d.ts.map +1 -0
  116. package/dist/esm/paneview/paneview.js +85 -145
  117. package/dist/esm/paneview/paneview.js.map +1 -0
  118. package/dist/esm/{react/paneview → paneview}/view.d.ts +20 -20
  119. package/dist/esm/paneview/view.d.ts.map +1 -0
  120. package/dist/esm/{react/paneview → paneview}/view.js +36 -35
  121. package/dist/esm/paneview/view.js.map +1 -0
  122. package/dist/{cjs/react → esm}/react.d.ts +36 -36
  123. package/dist/esm/react.d.ts.map +1 -0
  124. package/dist/esm/{react/react.js → react.js} +128 -125
  125. package/dist/esm/react.js.map +1 -0
  126. package/dist/{cjs/react → esm}/splitview/splitview.d.ts +23 -24
  127. package/dist/esm/splitview/splitview.d.ts.map +1 -0
  128. package/dist/esm/{react/splitview → splitview}/splitview.js +50 -66
  129. package/dist/esm/splitview/splitview.js.map +1 -0
  130. package/dist/{cjs/react → esm}/splitview/view.d.ts +11 -10
  131. package/dist/esm/splitview/view.d.ts.map +1 -0
  132. package/dist/esm/{react/splitview → splitview}/view.js +18 -18
  133. package/dist/esm/splitview/view.js.map +1 -0
  134. package/dist/esm/svg.d.ts +4 -3
  135. package/dist/esm/svg.d.ts.map +1 -0
  136. package/dist/esm/svg.js +8 -31
  137. package/dist/esm/svg.js.map +1 -0
  138. package/dist/esm/types.d.ts +8 -8
  139. package/dist/esm/types.d.ts.map +1 -0
  140. package/dist/esm/types.js +2 -3
  141. package/dist/{cjs/panel → esm}/types.js.map +1 -1
  142. package/dist/styles/dockview.css +1 -617
  143. package/package.json +9 -5
  144. package/dist/cjs/actionbar/actionsContainer.d.ts +0 -7
  145. package/dist/cjs/actionbar/actionsContainer.js +0 -27
  146. package/dist/cjs/actionbar/actionsContainer.js.map +0 -1
  147. package/dist/cjs/api/component.api.d.ts +0 -145
  148. package/dist/cjs/api/component.api.js +0 -579
  149. package/dist/cjs/api/component.api.js.map +0 -1
  150. package/dist/cjs/api/dockviewPanelApi.d.ts +0 -34
  151. package/dist/cjs/api/dockviewPanelApi.js +0 -84
  152. package/dist/cjs/api/dockviewPanelApi.js.map +0 -1
  153. package/dist/cjs/api/gridviewPanelApi.d.ts +0 -37
  154. package/dist/cjs/api/gridviewPanelApi.js +0 -48
  155. package/dist/cjs/api/gridviewPanelApi.js.map +0 -1
  156. package/dist/cjs/api/panelApi.d.ts +0 -88
  157. package/dist/cjs/api/panelApi.js +0 -138
  158. package/dist/cjs/api/panelApi.js.map +0 -1
  159. package/dist/cjs/api/paneviewPanelApi.d.ts +0 -26
  160. package/dist/cjs/api/paneviewPanelApi.js +0 -58
  161. package/dist/cjs/api/paneviewPanelApi.js.map +0 -1
  162. package/dist/cjs/api/splitviewPanelApi.d.ts +0 -32
  163. package/dist/cjs/api/splitviewPanelApi.js +0 -48
  164. package/dist/cjs/api/splitviewPanelApi.js.map +0 -1
  165. package/dist/cjs/array.d.ts +0 -13
  166. package/dist/cjs/array.js +0 -78
  167. package/dist/cjs/array.js.map +0 -1
  168. package/dist/cjs/dnd/abstractDragHandler.d.ts +0 -11
  169. package/dist/cjs/dnd/abstractDragHandler.js +0 -116
  170. package/dist/cjs/dnd/abstractDragHandler.js.map +0 -1
  171. package/dist/cjs/dnd/dataTransfer.d.ts +0 -31
  172. package/dist/cjs/dnd/dataTransfer.js +0 -101
  173. package/dist/cjs/dnd/dataTransfer.js.map +0 -1
  174. package/dist/cjs/dnd/dnd.d.ts +0 -27
  175. package/dist/cjs/dnd/dnd.js +0 -60
  176. package/dist/cjs/dnd/dnd.js.map +0 -1
  177. package/dist/cjs/dnd/droptarget.d.ts +0 -42
  178. package/dist/cjs/dnd/droptarget.js +0 -280
  179. package/dist/cjs/dnd/droptarget.js.map +0 -1
  180. package/dist/cjs/dnd/ghost.d.ts +0 -1
  181. package/dist/cjs/dnd/ghost.js +0 -15
  182. package/dist/cjs/dnd/ghost.js.map +0 -1
  183. package/dist/cjs/dnd/groupDragHandler.d.ts +0 -11
  184. package/dist/cjs/dnd/groupDragHandler.js +0 -62
  185. package/dist/cjs/dnd/groupDragHandler.js.map +0 -1
  186. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -27
  187. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -122
  188. package/dist/cjs/dockview/components/tab/defaultTab.js.map +0 -1
  189. package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -20
  190. package/dist/cjs/dockview/components/watermark/watermark.js +0 -102
  191. package/dist/cjs/dockview/components/watermark/watermark.js.map +0 -1
  192. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +0 -29
  193. package/dist/cjs/dockview/defaultGroupPanelView.js +0 -69
  194. package/dist/cjs/dockview/defaultGroupPanelView.js.map +0 -1
  195. package/dist/cjs/dockview/deserializer.d.ts +0 -6
  196. package/dist/cjs/dockview/deserializer.js +0 -3
  197. package/dist/cjs/dockview/deserializer.js.map +0 -1
  198. package/dist/cjs/dockview/dockviewComponent.d.ts +0 -133
  199. package/dist/cjs/dockview/dockviewComponent.js +0 -796
  200. package/dist/cjs/dockview/dockviewComponent.js.map +0 -1
  201. package/dist/cjs/dockview/dockviewPanel.d.ts +0 -42
  202. package/dist/cjs/dockview/dockviewPanel.js +0 -161
  203. package/dist/cjs/dockview/dockviewPanel.js.map +0 -1
  204. package/dist/cjs/dockview/options.d.ts +0 -110
  205. package/dist/cjs/dockview/options.js +0 -32
  206. package/dist/cjs/dockview/options.js.map +0 -1
  207. package/dist/cjs/dockview/validation.d.ts +0 -2
  208. package/dist/cjs/dockview/validation.js +0 -135
  209. package/dist/cjs/dockview/validation.js.map +0 -1
  210. package/dist/cjs/dom.d.ts +0 -14
  211. package/dist/cjs/dom.js +0 -183
  212. package/dist/cjs/dom.js.map +0 -1
  213. package/dist/cjs/events.d.ts +0 -30
  214. package/dist/cjs/events.js +0 -130
  215. package/dist/cjs/events.js.map +0 -1
  216. package/dist/cjs/gridview/baseComponentGridview.d.ts +0 -87
  217. package/dist/cjs/gridview/baseComponentGridview.js +0 -279
  218. package/dist/cjs/gridview/baseComponentGridview.js.map +0 -1
  219. package/dist/cjs/gridview/basePanelView.d.ts +0 -43
  220. package/dist/cjs/gridview/basePanelView.js +0 -124
  221. package/dist/cjs/gridview/basePanelView.js.map +0 -1
  222. package/dist/cjs/gridview/branchNode.d.ts +0 -49
  223. package/dist/cjs/gridview/branchNode.js +0 -343
  224. package/dist/cjs/gridview/branchNode.js.map +0 -1
  225. package/dist/cjs/gridview/gridviewComponent.d.ts +0 -85
  226. package/dist/cjs/gridview/gridviewComponent.js +0 -325
  227. package/dist/cjs/gridview/gridviewComponent.js.map +0 -1
  228. package/dist/cjs/gridview/gridviewPanel.d.ts +0 -60
  229. package/dist/cjs/gridview/gridviewPanel.js +0 -202
  230. package/dist/cjs/gridview/gridviewPanel.js.map +0 -1
  231. package/dist/cjs/gridview/leafNode.d.ts +0 -34
  232. package/dist/cjs/gridview/leafNode.js +0 -171
  233. package/dist/cjs/gridview/leafNode.js.map +0 -1
  234. package/dist/cjs/gridview/options.d.ts +0 -18
  235. package/dist/cjs/gridview/options.js +0 -3
  236. package/dist/cjs/gridview/options.js.map +0 -1
  237. package/dist/cjs/gridview/types.d.ts +0 -3
  238. package/dist/cjs/gridview/types.js +0 -3
  239. package/dist/cjs/gridview/types.js.map +0 -1
  240. package/dist/cjs/groupview/dnd.d.ts +0 -6
  241. package/dist/cjs/groupview/dnd.js +0 -11
  242. package/dist/cjs/groupview/dnd.js.map +0 -1
  243. package/dist/cjs/groupview/groupview.d.ts +0 -177
  244. package/dist/cjs/groupview/groupview.js +0 -608
  245. package/dist/cjs/groupview/groupview.js.map +0 -1
  246. package/dist/cjs/groupview/groupviewPanel.d.ts +0 -35
  247. package/dist/cjs/groupview/groupviewPanel.js +0 -129
  248. package/dist/cjs/groupview/groupviewPanel.js.map +0 -1
  249. package/dist/cjs/groupview/panel/content.d.ts +0 -30
  250. package/dist/cjs/groupview/panel/content.js +0 -101
  251. package/dist/cjs/groupview/panel/content.js.map +0 -1
  252. package/dist/cjs/groupview/tab.d.ts +0 -31
  253. package/dist/cjs/groupview/tab.js +0 -125
  254. package/dist/cjs/groupview/tab.js.map +0 -1
  255. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +0 -65
  256. package/dist/cjs/groupview/titlebar/tabsContainer.js +0 -252
  257. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +0 -1
  258. package/dist/cjs/groupview/titlebar/voidContainer.d.ts +0 -15
  259. package/dist/cjs/groupview/titlebar/voidContainer.js +0 -74
  260. package/dist/cjs/groupview/titlebar/voidContainer.js.map +0 -1
  261. package/dist/cjs/groupview/types.d.ts +0 -68
  262. package/dist/cjs/groupview/types.js +0 -3
  263. package/dist/cjs/groupview/types.js.map +0 -1
  264. package/dist/cjs/hostedContainer.d.ts +0 -23
  265. package/dist/cjs/hostedContainer.js +0 -74
  266. package/dist/cjs/hostedContainer.js.map +0 -1
  267. package/dist/cjs/lifecycle.d.ts +0 -22
  268. package/dist/cjs/lifecycle.js +0 -89
  269. package/dist/cjs/lifecycle.js.map +0 -1
  270. package/dist/cjs/math.d.ts +0 -4
  271. package/dist/cjs/math.js +0 -16
  272. package/dist/cjs/math.js.map +0 -1
  273. package/dist/cjs/panel/componentFactory.d.ts +0 -8
  274. package/dist/cjs/panel/componentFactory.js +0 -31
  275. package/dist/cjs/panel/componentFactory.js.map +0 -1
  276. package/dist/cjs/panel/types.d.ts +0 -33
  277. package/dist/cjs/panel/types.js +0 -3
  278. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +0 -21
  279. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -91
  280. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +0 -1
  281. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +0 -19
  282. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -131
  283. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +0 -1
  284. package/dist/cjs/paneview/options.d.ts +0 -27
  285. package/dist/cjs/paneview/options.js +0 -3
  286. package/dist/cjs/paneview/options.js.map +0 -1
  287. package/dist/cjs/paneview/paneviewComponent.d.ts +0 -129
  288. package/dist/cjs/paneview/paneviewComponent.js +0 -395
  289. package/dist/cjs/paneview/paneviewComponent.js.map +0 -1
  290. package/dist/cjs/paneview/paneviewPanel.d.ts +0 -92
  291. package/dist/cjs/paneview/paneviewPanel.js +0 -276
  292. package/dist/cjs/paneview/paneviewPanel.js.map +0 -1
  293. package/dist/cjs/react/deserializer.d.ts +0 -10
  294. package/dist/cjs/react/deserializer.js +0 -44
  295. package/dist/cjs/react/deserializer.js.map +0 -1
  296. package/dist/cjs/react/dockview/defaultTab.js.map +0 -1
  297. package/dist/cjs/react/dockview/dockview.js.map +0 -1
  298. package/dist/cjs/react/dockview/groupControlsRenderer.js.map +0 -1
  299. package/dist/cjs/react/dockview/reactContentPart.js.map +0 -1
  300. package/dist/cjs/react/dockview/reactHeaderPart.js.map +0 -1
  301. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +0 -1
  302. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  303. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +0 -88
  304. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +0 -1
  305. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  306. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +0 -35
  307. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js.map +0 -1
  308. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  309. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +0 -46
  310. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +0 -1
  311. package/dist/cjs/react/gridview/gridview.d.ts +0 -24
  312. package/dist/cjs/react/gridview/gridview.js +0 -113
  313. package/dist/cjs/react/gridview/gridview.js.map +0 -1
  314. package/dist/cjs/react/gridview/view.js.map +0 -1
  315. package/dist/cjs/react/index.d.ts +0 -9
  316. package/dist/cjs/react/index.js +0 -24
  317. package/dist/cjs/react/index.js.map +0 -1
  318. package/dist/cjs/react/paneview/paneview.d.ts +0 -30
  319. package/dist/cjs/react/paneview/paneview.js +0 -156
  320. package/dist/cjs/react/paneview/paneview.js.map +0 -1
  321. package/dist/cjs/react/paneview/view.js.map +0 -1
  322. package/dist/cjs/react/react.js.map +0 -1
  323. package/dist/cjs/react/splitview/splitview.js.map +0 -1
  324. package/dist/cjs/react/splitview/view.js.map +0 -1
  325. package/dist/cjs/react/svg.d.ts +0 -3
  326. package/dist/cjs/react/svg.js +0 -36
  327. package/dist/cjs/react/svg.js.map +0 -1
  328. package/dist/cjs/react/types.d.ts +0 -7
  329. package/dist/cjs/react/types.js +0 -3
  330. package/dist/cjs/react/types.js.map +0 -1
  331. package/dist/cjs/splitview/core/options.d.ts +0 -26
  332. package/dist/cjs/splitview/core/options.js +0 -3
  333. package/dist/cjs/splitview/core/options.js.map +0 -1
  334. package/dist/cjs/splitview/core/splitview.d.ts +0 -127
  335. package/dist/cjs/splitview/core/splitview.js +0 -909
  336. package/dist/cjs/splitview/core/splitview.js.map +0 -1
  337. package/dist/cjs/splitview/core/viewItem.d.ts +0 -25
  338. package/dist/cjs/splitview/core/viewItem.js +0 -125
  339. package/dist/cjs/splitview/core/viewItem.js.map +0 -1
  340. package/dist/cjs/splitview/splitviewComponent.d.ts +0 -101
  341. package/dist/cjs/splitview/splitviewComponent.js +0 -374
  342. package/dist/cjs/splitview/splitviewComponent.js.map +0 -1
  343. package/dist/cjs/splitview/splitviewPanel.d.ts +0 -45
  344. package/dist/cjs/splitview/splitviewPanel.js +0 -180
  345. package/dist/cjs/splitview/splitviewPanel.js.map +0 -1
  346. package/dist/esm/actionbar/actionsContainer.d.ts +0 -7
  347. package/dist/esm/actionbar/actionsContainer.js +0 -17
  348. package/dist/esm/api/component.api.d.ts +0 -145
  349. package/dist/esm/api/component.api.js +0 -329
  350. package/dist/esm/api/dockviewPanelApi.d.ts +0 -34
  351. package/dist/esm/api/dockviewPanelApi.js +0 -48
  352. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  353. package/dist/esm/api/gridviewPanelApi.js +0 -25
  354. package/dist/esm/api/panelApi.d.ts +0 -88
  355. package/dist/esm/api/panelApi.js +0 -95
  356. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  357. package/dist/esm/api/paneviewPanelApi.js +0 -27
  358. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  359. package/dist/esm/api/splitviewPanelApi.js +0 -25
  360. package/dist/esm/array.d.ts +0 -13
  361. package/dist/esm/array.js +0 -67
  362. package/dist/esm/dnd/abstractDragHandler.d.ts +0 -11
  363. package/dist/esm/dnd/abstractDragHandler.js +0 -37
  364. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  365. package/dist/esm/dnd/dataTransfer.js +0 -69
  366. package/dist/esm/dnd/dnd.d.ts +0 -27
  367. package/dist/esm/dnd/dnd.js +0 -36
  368. package/dist/esm/dnd/droptarget.d.ts +0 -42
  369. package/dist/esm/dnd/droptarget.js +0 -249
  370. package/dist/esm/dnd/ghost.d.ts +0 -1
  371. package/dist/esm/dnd/ghost.js +0 -10
  372. package/dist/esm/dnd/groupDragHandler.d.ts +0 -11
  373. package/dist/esm/dnd/groupDragHandler.js +0 -38
  374. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -27
  375. package/dist/esm/dockview/components/tab/defaultTab.js +0 -79
  376. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -20
  377. package/dist/esm/dockview/components/watermark/watermark.js +0 -70
  378. package/dist/esm/dockview/defaultGroupPanelView.d.ts +0 -29
  379. package/dist/esm/dockview/defaultGroupPanelView.js +0 -44
  380. package/dist/esm/dockview/deserializer.d.ts +0 -6
  381. package/dist/esm/dockview/deserializer.js +0 -1
  382. package/dist/esm/dockview/dockviewComponent.d.ts +0 -133
  383. package/dist/esm/dockview/dockviewComponent.js +0 -632
  384. package/dist/esm/dockview/dockviewPanel.d.ts +0 -42
  385. package/dist/esm/dockview/dockviewPanel.js +0 -111
  386. package/dist/esm/dockview/options.d.ts +0 -110
  387. package/dist/esm/dockview/options.js +0 -24
  388. package/dist/esm/dockview/validation.d.ts +0 -2
  389. package/dist/esm/dockview/validation.js +0 -86
  390. package/dist/esm/dom.d.ts +0 -14
  391. package/dist/esm/dom.js +0 -113
  392. package/dist/esm/events.d.ts +0 -30
  393. package/dist/esm/events.js +0 -88
  394. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -87
  395. package/dist/esm/gridview/baseComponentGridview.js +0 -188
  396. package/dist/esm/gridview/basePanelView.d.ts +0 -43
  397. package/dist/esm/gridview/basePanelView.js +0 -74
  398. package/dist/esm/gridview/branchNode.d.ts +0 -49
  399. package/dist/esm/gridview/branchNode.js +0 -218
  400. package/dist/esm/gridview/gridviewComponent.d.ts +0 -85
  401. package/dist/esm/gridview/gridviewComponent.js +0 -237
  402. package/dist/esm/gridview/gridviewPanel.d.ts +0 -60
  403. package/dist/esm/gridview/gridviewPanel.js +0 -138
  404. package/dist/esm/gridview/leafNode.d.ts +0 -34
  405. package/dist/esm/gridview/leafNode.js +0 -103
  406. package/dist/esm/gridview/options.d.ts +0 -18
  407. package/dist/esm/gridview/options.js +0 -1
  408. package/dist/esm/gridview/types.d.ts +0 -3
  409. package/dist/esm/gridview/types.js +0 -1
  410. package/dist/esm/groupview/dnd.d.ts +0 -6
  411. package/dist/esm/groupview/dnd.js +0 -7
  412. package/dist/esm/groupview/groupview.d.ts +0 -177
  413. package/dist/esm/groupview/groupview.js +0 -462
  414. package/dist/esm/groupview/groupviewPanel.d.ts +0 -35
  415. package/dist/esm/groupview/groupviewPanel.js +0 -61
  416. package/dist/esm/groupview/panel/content.d.ts +0 -30
  417. package/dist/esm/groupview/panel/content.js +0 -73
  418. package/dist/esm/groupview/tab.d.ts +0 -31
  419. package/dist/esm/groupview/tab.js +0 -94
  420. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +0 -65
  421. package/dist/esm/groupview/titlebar/tabsContainer.js +0 -183
  422. package/dist/esm/groupview/titlebar/voidContainer.d.ts +0 -15
  423. package/dist/esm/groupview/titlebar/voidContainer.js +0 -47
  424. package/dist/esm/groupview/types.d.ts +0 -68
  425. package/dist/esm/groupview/types.js +0 -1
  426. package/dist/esm/hostedContainer.d.ts +0 -23
  427. package/dist/esm/hostedContainer.js +0 -63
  428. package/dist/esm/lifecycle.d.ts +0 -22
  429. package/dist/esm/lifecycle.js +0 -39
  430. package/dist/esm/math.d.ts +0 -4
  431. package/dist/esm/math.js +0 -10
  432. package/dist/esm/panel/componentFactory.d.ts +0 -8
  433. package/dist/esm/panel/componentFactory.js +0 -24
  434. package/dist/esm/panel/types.d.ts +0 -33
  435. package/dist/esm/panel/types.js +0 -1
  436. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  437. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -63
  438. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -19
  439. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -91
  440. package/dist/esm/paneview/options.d.ts +0 -27
  441. package/dist/esm/paneview/options.js +0 -1
  442. package/dist/esm/paneview/paneviewComponent.d.ts +0 -129
  443. package/dist/esm/paneview/paneviewComponent.js +0 -270
  444. package/dist/esm/paneview/paneviewPanel.d.ts +0 -92
  445. package/dist/esm/paneview/paneviewPanel.js +0 -192
  446. package/dist/esm/react/deserializer.d.ts +0 -10
  447. package/dist/esm/react/deserializer.js +0 -38
  448. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  449. package/dist/esm/react/dockview/v2/reactContentRenderer.js +0 -69
  450. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  451. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +0 -12
  452. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  453. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +0 -36
  454. package/dist/esm/react/gridview/gridview.d.ts +0 -24
  455. package/dist/esm/react/gridview/gridview.js +0 -70
  456. package/dist/esm/react/index.d.ts +0 -9
  457. package/dist/esm/react/index.js +0 -7
  458. package/dist/esm/react/paneview/paneview.d.ts +0 -30
  459. package/dist/esm/react/paneview/paneview.js +0 -100
  460. package/dist/esm/react/svg.d.ts +0 -3
  461. package/dist/esm/react/svg.js +0 -7
  462. package/dist/esm/react/types.d.ts +0 -7
  463. package/dist/esm/react/types.js +0 -1
  464. package/dist/esm/splitview/core/options.d.ts +0 -26
  465. package/dist/esm/splitview/core/options.js +0 -1
  466. package/dist/esm/splitview/core/splitview.d.ts +0 -127
  467. package/dist/esm/splitview/core/splitview.js +0 -689
  468. package/dist/esm/splitview/core/viewItem.d.ts +0 -25
  469. package/dist/esm/splitview/core/viewItem.js +0 -79
  470. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  471. package/dist/esm/splitview/splitviewComponent.js +0 -249
  472. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  473. package/dist/esm/splitview/splitviewPanel.js +0 -108
@@ -1,632 +0,0 @@
1
- import { getRelativeLocation, getGridLocation, } from '../gridview/gridview';
2
- import { directionToPosition, Droptarget } from '../dnd/droptarget';
3
- import { tail, sequenceEquals } from '../array';
4
- import { DockviewPanel } from './dockviewPanel';
5
- import { CompositeDisposable } from '../lifecycle';
6
- import { Event, Emitter } from '../events';
7
- import { Watermark } from './components/watermark/watermark';
8
- import { sequentialNumberGenerator } from '../math';
9
- import { createComponent } from '../panel/componentFactory';
10
- import { isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, } from './options';
11
- import { BaseGrid, toTarget, } from '../gridview/baseComponentGridview';
12
- import { DockviewApi } from '../api/component.api';
13
- import { Orientation, Sizing } from '../splitview/core/splitview';
14
- import { DefaultTab } from './components/tab/defaultTab';
15
- import { GroupPanel } from '../groupview/groupviewPanel';
16
- import { DefaultGroupPanelView } from './defaultGroupPanelView';
17
- import { getPanelData } from '../dnd/dataTransfer';
18
- import { DockviewDropTargets } from '../groupview/dnd';
19
- export class DockviewComponent extends BaseGrid {
20
- get orientation() {
21
- return this.gridview.orientation;
22
- }
23
- get totalPanels() {
24
- return this.panels.length;
25
- }
26
- get panels() {
27
- return this.groups.flatMap((group) => group.panels);
28
- }
29
- get deserializer() {
30
- return this._deserializer;
31
- }
32
- set deserializer(value) {
33
- this._deserializer = value;
34
- }
35
- get options() {
36
- return this._options;
37
- }
38
- get activePanel() {
39
- const activeGroup = this.activeGroup;
40
- if (!activeGroup) {
41
- return undefined;
42
- }
43
- return activeGroup.activePanel;
44
- }
45
- set tabHeight(height) {
46
- this.options.tabHeight = height;
47
- this._groups.forEach((value) => {
48
- value.value.model.header.height = height;
49
- });
50
- }
51
- get tabHeight() {
52
- return this.options.tabHeight;
53
- }
54
- constructor(element, options) {
55
- super(element, {
56
- proportionalLayout: true,
57
- orientation: options.orientation || Orientation.HORIZONTAL,
58
- styles: options.styles,
59
- });
60
- this.nextGroupId = sequentialNumberGenerator();
61
- this.watermark = null;
62
- this._onDidDrop = new Emitter();
63
- this.onDidDrop = this._onDidDrop.event;
64
- this._onDidRemovePanel = new Emitter();
65
- this.onDidRemovePanel = this._onDidRemovePanel.event;
66
- this._onDidAddPanel = new Emitter();
67
- this.onDidAddPanel = this._onDidAddPanel.event;
68
- this._onDidLayoutFromJSON = new Emitter();
69
- this.onDidLayoutFromJSON = this._onDidLayoutFromJSON.event;
70
- this._onDidActivePanelChange = new Emitter();
71
- this.onDidActivePanelChange = this._onDidActivePanelChange.event;
72
- this.element.classList.add('dv-dockview');
73
- this.addDisposables(this._onDidDrop, Event.any(this.onDidAddGroup, this.onDidRemoveGroup)(() => {
74
- this.updateWatermark();
75
- }), Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
76
- this._bufferOnDidLayoutChange.fire();
77
- }));
78
- this._options = options;
79
- if (!this.options.components) {
80
- this.options.components = {};
81
- }
82
- if (!this.options.frameworkComponents) {
83
- this.options.frameworkComponents = {};
84
- }
85
- if (!this.options.frameworkTabComponents) {
86
- this.options.frameworkTabComponents = {};
87
- }
88
- if (!this.options.tabComponents) {
89
- this.options.tabComponents = {};
90
- }
91
- if (!this.options.watermarkComponent &&
92
- !this.options.watermarkFrameworkComponent) {
93
- this.options.watermarkComponent = Watermark;
94
- }
95
- const dropTarget = new Droptarget(this.element, {
96
- canDisplayOverlay: (event, position) => {
97
- const data = getPanelData();
98
- if (data) {
99
- if (data.viewId !== this.id) {
100
- return false;
101
- }
102
- return true;
103
- }
104
- if (this.options.showDndOverlay) {
105
- return this.options.showDndOverlay({
106
- nativeEvent: event,
107
- position: position,
108
- target: DockviewDropTargets.Edge,
109
- getData: getPanelData,
110
- });
111
- }
112
- return false;
113
- },
114
- acceptedTargetZones: ['top', 'bottom', 'left', 'right'],
115
- overlayModel: {
116
- activationSize: { type: 'pixels', value: 10 },
117
- size: { type: 'pixels', value: 20 },
118
- },
119
- });
120
- this.addDisposables(dropTarget, dropTarget.onDrop((event) => {
121
- const data = getPanelData();
122
- if (data) {
123
- this.moveGroupOrPanel(this.orthogonalize(event.position), data.groupId, data.panelId || undefined, 'center');
124
- }
125
- else {
126
- this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api, group: null, getData: getPanelData }));
127
- }
128
- }));
129
- this._api = new DockviewApi(this);
130
- this.updateWatermark();
131
- }
132
- orthogonalize(position) {
133
- switch (position) {
134
- case 'top':
135
- case 'bottom':
136
- if (this.gridview.orientation === Orientation.HORIZONTAL) {
137
- // we need to add to a vertical splitview but the current root is a horizontal splitview.
138
- // insert a vertical splitview at the root level and add the existing view as a child
139
- this.gridview.insertOrthogonalSplitviewAtRoot();
140
- }
141
- break;
142
- case 'left':
143
- case 'right':
144
- if (this.gridview.orientation === Orientation.VERTICAL) {
145
- // we need to add to a horizontal splitview but the current root is a vertical splitview.
146
- // insert a horiziontal splitview at the root level and add the existing view as a child
147
- this.gridview.insertOrthogonalSplitviewAtRoot();
148
- }
149
- break;
150
- default:
151
- break;
152
- }
153
- switch (position) {
154
- case 'top':
155
- case 'left':
156
- return this.createGroupAtLocation([0]); // insert into first position
157
- case 'bottom':
158
- case 'right':
159
- return this.createGroupAtLocation([this.gridview.length]); // insert into last position
160
- default:
161
- throw new Error(`unsupported position ${position}`);
162
- }
163
- }
164
- updateOptions(options) {
165
- const hasOrientationChanged = typeof options.orientation === 'string' &&
166
- this.gridview.orientation !== options.orientation;
167
- this._options = Object.assign(Object.assign({}, this.options), options);
168
- if (hasOrientationChanged) {
169
- this.gridview.orientation = options.orientation;
170
- }
171
- this.layout(this.gridview.width, this.gridview.height, true);
172
- }
173
- focus() {
174
- var _a;
175
- (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
176
- }
177
- getGroupPanel(id) {
178
- return this.panels.find((panel) => panel.id === id);
179
- }
180
- setActivePanel(panel) {
181
- this.doSetGroupActive(panel.group);
182
- panel.group.model.openPanel(panel);
183
- }
184
- moveToNext(options = {}) {
185
- var _a;
186
- if (!options.group) {
187
- if (!this.activeGroup) {
188
- return;
189
- }
190
- options.group = this.activeGroup;
191
- }
192
- if (options.includePanel && options.group) {
193
- if (options.group.activePanel !==
194
- options.group.panels[options.group.panels.length - 1]) {
195
- options.group.model.moveToNext({ suppressRoll: true });
196
- return;
197
- }
198
- }
199
- const location = getGridLocation(options.group.element);
200
- const next = (_a = this.gridview.next(location)) === null || _a === void 0 ? void 0 : _a.view;
201
- this.doSetGroupActive(next);
202
- }
203
- moveToPrevious(options = {}) {
204
- var _a;
205
- if (!options.group) {
206
- if (!this.activeGroup) {
207
- return;
208
- }
209
- options.group = this.activeGroup;
210
- }
211
- if (options.includePanel && options.group) {
212
- if (options.group.activePanel !== options.group.panels[0]) {
213
- options.group.model.moveToPrevious({ suppressRoll: true });
214
- return;
215
- }
216
- }
217
- const location = getGridLocation(options.group.element);
218
- const next = (_a = this.gridview.previous(location)) === null || _a === void 0 ? void 0 : _a.view;
219
- if (next) {
220
- this.doSetGroupActive(next);
221
- }
222
- }
223
- /**
224
- * Serialize the current state of the layout
225
- *
226
- * @returns A JSON respresentation of the layout
227
- */
228
- toJSON() {
229
- var _a;
230
- const data = this.gridview.serialize();
231
- const panels = this.panels.reduce((collection, panel) => {
232
- collection[panel.id] = panel.toJSON();
233
- return collection;
234
- }, {});
235
- return {
236
- grid: data,
237
- panels,
238
- activeGroup: (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.id,
239
- options: { tabHeight: this.tabHeight },
240
- };
241
- }
242
- fromJSON(data) {
243
- this.clear();
244
- if (!this.deserializer) {
245
- throw new Error('no deserializer provided');
246
- }
247
- const { grid, panels, options, activeGroup } = data;
248
- if (typeof (options === null || options === void 0 ? void 0 : options.tabHeight) === 'number') {
249
- this.tabHeight = options.tabHeight;
250
- }
251
- if (grid.root.type !== 'branch' || !Array.isArray(grid.root.data)) {
252
- throw new Error('root must be of type branch');
253
- }
254
- this.gridview.deserialize(grid, {
255
- fromJSON: (node) => {
256
- const { id, locked, hideHeader, views, activeView } = node.data;
257
- const group = this.createGroup({
258
- id,
259
- locked: !!locked,
260
- hideHeader: !!hideHeader,
261
- });
262
- this._onDidAddGroup.fire(group);
263
- for (const child of views) {
264
- const panel = this.deserializer.fromJSON(panels[child], group);
265
- const isActive = typeof activeView === 'string' &&
266
- activeView === panel.id;
267
- group.model.openPanel(panel, {
268
- skipSetPanelActive: !isActive,
269
- skipSetGroupActive: true,
270
- });
271
- }
272
- if (!group.activePanel && group.panels.length > 0) {
273
- group.model.openPanel(group.panels[group.panels.length - 1], {
274
- skipSetGroupActive: true,
275
- });
276
- }
277
- return group;
278
- },
279
- });
280
- if (typeof activeGroup === 'string') {
281
- const panel = this.getPanel(activeGroup);
282
- if (panel) {
283
- this.doSetGroupActive(panel);
284
- }
285
- }
286
- this.gridview.layout(this.width, this.height);
287
- this._onDidLayoutFromJSON.fire();
288
- }
289
- clear() {
290
- const groups = Array.from(this._groups.values()).map((_) => _.value);
291
- const hasActiveGroup = !!this.activeGroup;
292
- const hasActivePanel = !!this.activePanel;
293
- for (const group of groups) {
294
- // remove the group will automatically remove the panels
295
- this.removeGroup(group, true);
296
- }
297
- if (hasActiveGroup) {
298
- this.doSetGroupActive(undefined);
299
- }
300
- if (hasActivePanel) {
301
- this._onDidActivePanelChange.fire(undefined);
302
- }
303
- this.gridview.clear();
304
- }
305
- closeAllGroups() {
306
- for (const entry of this._groups.entries()) {
307
- const [_, group] = entry;
308
- group.value.model.closeAllPanels();
309
- }
310
- }
311
- addPanel(options) {
312
- var _a, _b;
313
- if (this.panels.find((_) => _.id === options.id)) {
314
- throw new Error(`panel with id ${options.id} already exists`);
315
- }
316
- let referenceGroup;
317
- if (options.position) {
318
- if (isPanelOptionsWithPanel(options.position)) {
319
- const referencePanel = typeof options.position.referencePanel === 'string'
320
- ? this.getGroupPanel(options.position.referencePanel)
321
- : options.position.referencePanel;
322
- if (!referencePanel) {
323
- throw new Error(`referencePanel ${options.position.referencePanel} does not exist`);
324
- }
325
- referenceGroup = this.findGroup(referencePanel);
326
- }
327
- else if (isPanelOptionsWithGroup(options.position)) {
328
- referenceGroup =
329
- typeof options.position.referenceGroup === 'string'
330
- ? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
331
- : options.position.referenceGroup;
332
- if (!referenceGroup) {
333
- throw new Error(`referencePanel ${options.position.referenceGroup} does not exist`);
334
- }
335
- }
336
- else {
337
- const group = this.orthogonalize(directionToPosition(options.position.direction));
338
- const panel = this.createPanel(options, group);
339
- group.model.openPanel(panel);
340
- return panel;
341
- }
342
- }
343
- else {
344
- referenceGroup = this.activeGroup;
345
- }
346
- let panel;
347
- if (referenceGroup) {
348
- const target = toTarget(((_b = options.position) === null || _b === void 0 ? void 0 : _b.direction) || 'within');
349
- if (target === 'center') {
350
- panel = this.createPanel(options, referenceGroup);
351
- referenceGroup.model.openPanel(panel);
352
- }
353
- else {
354
- const location = getGridLocation(referenceGroup.element);
355
- const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
356
- const group = this.createGroupAtLocation(relativeLocation);
357
- panel = this.createPanel(options, group);
358
- group.model.openPanel(panel);
359
- }
360
- }
361
- else {
362
- const group = this.createGroupAtLocation();
363
- panel = this.createPanel(options, group);
364
- group.model.openPanel(panel);
365
- }
366
- return panel;
367
- }
368
- removePanel(panel, options = {
369
- removeEmptyGroup: true,
370
- skipDispose: false,
371
- }) {
372
- const group = panel.group;
373
- if (!group) {
374
- throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
375
- }
376
- group.model.removePanel(panel);
377
- panel.dispose();
378
- if (group.size === 0 && options.removeEmptyGroup) {
379
- this.removeGroup(group);
380
- }
381
- }
382
- createWatermarkComponent() {
383
- var _a;
384
- return createComponent('watermark-id', 'watermark-name', this.options.watermarkComponent
385
- ? { 'watermark-name': this.options.watermarkComponent }
386
- : {}, this.options.watermarkFrameworkComponent
387
- ? { 'watermark-name': this.options.watermarkFrameworkComponent }
388
- : {}, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.watermark);
389
- }
390
- updateWatermark() {
391
- if (this.groups.length === 0) {
392
- if (!this.watermark) {
393
- this.watermark = this.createWatermarkComponent();
394
- this.watermark.init({
395
- containerApi: new DockviewApi(this),
396
- params: {},
397
- title: '',
398
- api: null,
399
- });
400
- const watermarkContainer = document.createElement('div');
401
- watermarkContainer.className = 'dv-watermark-container';
402
- watermarkContainer.appendChild(this.watermark.element);
403
- this.element.appendChild(watermarkContainer);
404
- }
405
- }
406
- else if (this.watermark) {
407
- this.watermark.element.parentElement.remove();
408
- this.watermark.dispose();
409
- this.watermark = null;
410
- }
411
- }
412
- addGroup(options) {
413
- var _a;
414
- const group = this.createGroup();
415
- if (options) {
416
- let referenceGroup;
417
- if (isGroupOptionsWithPanel(options)) {
418
- const referencePanel = typeof options.referencePanel === 'string'
419
- ? this.panels.find((panel) => panel.id === options.referencePanel)
420
- : options.referencePanel;
421
- if (!referencePanel) {
422
- throw new Error(`reference panel ${options.referencePanel} does not exist`);
423
- }
424
- referenceGroup = this.findGroup(referencePanel);
425
- if (!referenceGroup) {
426
- throw new Error(`reference group for reference panel ${options.referencePanel} does not exist`);
427
- }
428
- }
429
- else if (isGroupOptionsWithGroup(options)) {
430
- referenceGroup =
431
- typeof options.referenceGroup === 'string'
432
- ? (_a = this._groups.get(options.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
433
- : options.referenceGroup;
434
- if (!referenceGroup) {
435
- throw new Error(`reference group ${options.referenceGroup} does not exist`);
436
- }
437
- }
438
- else {
439
- const group = this.orthogonalize(directionToPosition(options.direction));
440
- return group;
441
- }
442
- const target = toTarget(options.direction || 'within');
443
- const location = getGridLocation(referenceGroup.element);
444
- const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
445
- this.doAddGroup(group, relativeLocation);
446
- return group;
447
- }
448
- else {
449
- this.doAddGroup(group);
450
- return group;
451
- }
452
- }
453
- removeGroup(group, skipActive = false) {
454
- const panels = [...group.panels]; // reassign since group panels will mutate
455
- for (const panel of panels) {
456
- this.removePanel(panel, {
457
- removeEmptyGroup: false,
458
- skipDispose: false,
459
- });
460
- }
461
- super.doRemoveGroup(group, { skipActive });
462
- }
463
- moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
464
- var _a;
465
- const sourceGroup = groupId
466
- ? (_a = this._groups.get(groupId)) === null || _a === void 0 ? void 0 : _a.value
467
- : undefined;
468
- if (itemId === undefined) {
469
- if (sourceGroup) {
470
- this.moveGroup(sourceGroup, referenceGroup, target);
471
- }
472
- return;
473
- }
474
- if (!target || target === 'center') {
475
- const groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
476
- this.panels.find((panel) => panel.id === itemId);
477
- if (!groupItem) {
478
- throw new Error(`No panel with id ${itemId}`);
479
- }
480
- if ((sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.size) === 0) {
481
- this.doRemoveGroup(sourceGroup);
482
- }
483
- referenceGroup.model.openPanel(groupItem, { index });
484
- }
485
- else {
486
- const referenceLocation = getGridLocation(referenceGroup.element);
487
- const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
488
- if (sourceGroup && sourceGroup.size < 2) {
489
- const [targetParentLocation, to] = tail(targetLocation);
490
- const sourceLocation = getGridLocation(sourceGroup.element);
491
- const [sourceParentLocation, from] = tail(sourceLocation);
492
- if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
493
- // special case when 'swapping' two views within same grid location
494
- // if a group has one tab - we are essentially moving the 'group'
495
- // which is equivalent to swapping two views in this case
496
- this.gridview.moveView(sourceParentLocation, from, to);
497
- }
498
- else {
499
- // source group will become empty so delete the group
500
- const targetGroup = this.doRemoveGroup(sourceGroup, {
501
- skipActive: true,
502
- skipDispose: true,
503
- });
504
- // after deleting the group we need to re-evaulate the ref location
505
- const updatedReferenceLocation = getGridLocation(referenceGroup.element);
506
- const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, target);
507
- this.doAddGroup(targetGroup, location);
508
- }
509
- }
510
- else {
511
- const groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
512
- this.panels.find((panel) => panel.id === itemId);
513
- if (!groupItem) {
514
- throw new Error(`No panel with id ${itemId}`);
515
- }
516
- const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
517
- const group = this.createGroupAtLocation(dropLocation);
518
- group.model.openPanel(groupItem);
519
- }
520
- }
521
- }
522
- moveGroup(sourceGroup, referenceGroup, target) {
523
- if (sourceGroup) {
524
- if (!target || target === 'center') {
525
- const activePanel = sourceGroup.activePanel;
526
- const panels = [...sourceGroup.panels].map((p) => sourceGroup.model.removePanel(p.id));
527
- if ((sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.size) === 0) {
528
- this.doRemoveGroup(sourceGroup);
529
- }
530
- for (const panel of panels) {
531
- referenceGroup.model.openPanel(panel, {
532
- skipSetPanelActive: panel !== activePanel,
533
- });
534
- }
535
- }
536
- else {
537
- this.gridview.removeView(getGridLocation(sourceGroup.element));
538
- const referenceLocation = getGridLocation(referenceGroup.element);
539
- const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
540
- this.gridview.addView(sourceGroup, Sizing.Distribute, dropLocation);
541
- }
542
- }
543
- }
544
- doSetGroupActive(group, skipFocus) {
545
- var _a, _b;
546
- const isGroupAlreadyFocused = this._activeGroup === group;
547
- super.doSetGroupActive(group, skipFocus);
548
- if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.activePanel)) {
549
- this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.activePanel);
550
- }
551
- }
552
- createGroup(options) {
553
- if (!options) {
554
- options = { tabHeight: this.tabHeight };
555
- }
556
- if (typeof options.tabHeight !== 'number') {
557
- options.tabHeight = this.tabHeight;
558
- }
559
- let id = options === null || options === void 0 ? void 0 : options.id;
560
- if (id && this._groups.has(options.id)) {
561
- console.warn(`Duplicate group id ${options === null || options === void 0 ? void 0 : options.id}. reassigning group id to avoid errors`);
562
- id = undefined;
563
- }
564
- if (!id) {
565
- id = this.nextGroupId.next();
566
- while (this._groups.has(id)) {
567
- id = this.nextGroupId.next();
568
- }
569
- }
570
- const view = new GroupPanel(this, id, options);
571
- view.init({ params: {}, accessor: null }); // required to initialized .part and allow for correct disposal of group
572
- if (!this._groups.has(view.id)) {
573
- const disposable = new CompositeDisposable(view.model.onMove((event) => {
574
- const { groupId, itemId, target, index } = event;
575
- this.moveGroupOrPanel(view, groupId, itemId, target, index);
576
- }), view.model.onDidDrop((event) => {
577
- this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api, group: view }));
578
- }), view.model.onDidAddPanel((event) => {
579
- this._onDidAddPanel.fire(event.panel);
580
- }), view.model.onDidRemovePanel((event) => {
581
- this._onDidRemovePanel.fire(event.panel);
582
- }), view.model.onDidActivePanelChange((event) => {
583
- this._onDidActivePanelChange.fire(event.panel);
584
- }));
585
- this._groups.set(view.id, { value: view, disposable });
586
- }
587
- // TODO: must be called after the above listeners have been setup,
588
- // not an ideal pattern
589
- view.initialize();
590
- if (typeof this.options.tabHeight === 'number') {
591
- view.model.header.height = this.options.tabHeight;
592
- }
593
- return view;
594
- }
595
- createPanel(options, group) {
596
- const view = new DefaultGroupPanelView({
597
- content: this.createContentComponent(options.id, options.component),
598
- tab: this.createTabComponent(options.id, options.tabComponent || this.options.defaultTabComponent),
599
- });
600
- const panel = new DockviewPanel(options.id, this, this._api, group);
601
- panel.init({
602
- view,
603
- title: options.title || options.id,
604
- params: (options === null || options === void 0 ? void 0 : options.params) || {},
605
- });
606
- return panel;
607
- }
608
- createContentComponent(id, componentName) {
609
- var _a;
610
- return createComponent(id, componentName, this.options.components || {}, this.options.frameworkComponents, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.content);
611
- }
612
- createTabComponent(id, componentName) {
613
- var _a;
614
- return createComponent(id, componentName, this.options.tabComponents || {}, this.options.frameworkTabComponents, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.tab, () => new DefaultTab());
615
- }
616
- createGroupAtLocation(location = [0]) {
617
- const group = this.createGroup();
618
- this.doAddGroup(group, location);
619
- return group;
620
- }
621
- findGroup(panel) {
622
- var _a;
623
- return (_a = Array.from(this._groups.values()).find((group) => group.value.model.containsPanel(panel))) === null || _a === void 0 ? void 0 : _a.value;
624
- }
625
- dispose() {
626
- super.dispose();
627
- this._onDidActivePanelChange.dispose();
628
- this._onDidAddPanel.dispose();
629
- this._onDidRemovePanel.dispose();
630
- this._onDidLayoutFromJSON.dispose();
631
- }
632
- }
@@ -1,42 +0,0 @@
1
- import { DockviewApi } from '../api/component.api';
2
- import { DockviewPanelApi, DockviewPanelApiImpl } from '../api/dockviewPanelApi';
3
- import { GroupPanelUpdateEvent, GroupviewPanelState, IGroupPanelInitParameters } from '../groupview/types';
4
- import { GroupPanel } from '../groupview/groupviewPanel';
5
- import { CompositeDisposable, IDisposable } from '../lifecycle';
6
- import { IPanel, Parameters } from '../panel/types';
7
- import { IGroupPanelView } from './defaultGroupPanelView';
8
- import { DockviewComponent } from './dockviewComponent';
9
- export interface IDockviewPanel extends IDisposable, IPanel {
10
- readonly view?: IGroupPanelView;
11
- readonly group: GroupPanel;
12
- readonly api: DockviewPanelApi;
13
- readonly title: string;
14
- readonly params: Record<string, any> | undefined;
15
- updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
16
- init(params: IGroupPanelInitParameters): void;
17
- toJSON(): GroupviewPanelState;
18
- update(event: GroupPanelUpdateEvent): void;
19
- }
20
- export declare class DockviewPanel extends CompositeDisposable implements IDockviewPanel {
21
- readonly id: string;
22
- private readonly containerApi;
23
- private readonly mutableDisposable;
24
- readonly api: DockviewPanelApiImpl;
25
- private _group;
26
- private _params?;
27
- private _view?;
28
- private _title;
29
- get params(): Parameters | undefined;
30
- get title(): string;
31
- get group(): GroupPanel;
32
- get view(): IGroupPanelView | undefined;
33
- constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi, group: GroupPanel);
34
- init(params: IGroupPanelInitParameters): void;
35
- focus(): void;
36
- toJSON(): GroupviewPanelState;
37
- setTitle(title: string): void;
38
- update(event: GroupPanelUpdateEvent): void;
39
- updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
40
- layout(width: number, height: number): void;
41
- dispose(): void;
42
- }