dockview 1.5.0 → 1.5.2

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 (339) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +52 -52
  3. package/dist/cjs/actionbar/actionsContainer.d.ts +7 -7
  4. package/dist/cjs/actionbar/actionsContainer.js +26 -26
  5. package/dist/cjs/api/component.api.d.ts +144 -144
  6. package/dist/cjs/api/component.api.js +571 -571
  7. package/dist/cjs/api/gridviewPanelApi.d.ts +36 -36
  8. package/dist/cjs/api/gridviewPanelApi.js +47 -47
  9. package/dist/cjs/api/groupPanelApi.d.ts +34 -41
  10. package/dist/cjs/api/groupPanelApi.js +85 -96
  11. package/dist/cjs/api/groupPanelApi.js.map +1 -1
  12. package/dist/cjs/api/panelApi.d.ts +81 -81
  13. package/dist/cjs/api/panelApi.js +121 -121
  14. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  15. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  16. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  17. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  18. package/dist/cjs/array.d.ts +13 -13
  19. package/dist/cjs/array.js +77 -77
  20. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
  21. package/dist/cjs/dnd/abstractDragHandler.js +115 -115
  22. package/dist/cjs/dnd/dataTransfer.d.ts +31 -31
  23. package/dist/cjs/dnd/dataTransfer.js +100 -100
  24. package/dist/cjs/dnd/dnd.d.ts +27 -27
  25. package/dist/cjs/dnd/dnd.js +64 -64
  26. package/dist/cjs/dnd/droptarget.d.ts +37 -37
  27. package/dist/cjs/dnd/droptarget.js +201 -201
  28. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +27 -27
  29. package/dist/cjs/dockview/components/tab/defaultTab.js +121 -126
  30. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  31. package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
  32. package/dist/cjs/dockview/components/watermark/watermark.js +101 -101
  33. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +29 -29
  34. package/dist/cjs/dockview/defaultGroupPanelView.js +68 -68
  35. package/dist/cjs/dockview/deserializer.d.ts +5 -5
  36. package/dist/cjs/dockview/deserializer.js +2 -2
  37. package/dist/cjs/dockview/dockviewComponent.d.ts +125 -130
  38. package/dist/cjs/dockview/dockviewComponent.js +614 -629
  39. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  40. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -33
  41. package/dist/cjs/dockview/dockviewGroupPanel.js +156 -175
  42. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  43. package/dist/cjs/dockview/options.d.ts +88 -89
  44. package/dist/cjs/dockview/options.js +2 -2
  45. package/dist/cjs/dom.d.ts +14 -14
  46. package/dist/cjs/dom.js +182 -182
  47. package/dist/cjs/events.d.ts +30 -30
  48. package/dist/cjs/events.js +129 -129
  49. package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -87
  50. package/dist/cjs/gridview/baseComponentGridview.js +279 -279
  51. package/dist/cjs/gridview/basePanelView.d.ts +43 -43
  52. package/dist/cjs/gridview/basePanelView.js +123 -123
  53. package/dist/cjs/gridview/branchNode.d.ts +49 -46
  54. package/dist/cjs/gridview/branchNode.js +342 -342
  55. package/dist/cjs/gridview/branchNode.js.map +1 -1
  56. package/dist/cjs/gridview/gridview.d.ts +126 -123
  57. package/dist/cjs/gridview/gridview.js +479 -479
  58. package/dist/cjs/gridview/gridview.js.map +1 -1
  59. package/dist/cjs/gridview/gridviewComponent.d.ts +85 -85
  60. package/dist/cjs/gridview/gridviewComponent.js +325 -325
  61. package/dist/cjs/gridview/gridviewPanel.d.ts +60 -60
  62. package/dist/cjs/gridview/gridviewPanel.js +202 -202
  63. package/dist/cjs/gridview/leafNode.d.ts +34 -31
  64. package/dist/cjs/gridview/leafNode.js +170 -165
  65. package/dist/cjs/gridview/leafNode.js.map +1 -1
  66. package/dist/cjs/gridview/options.d.ts +18 -18
  67. package/dist/cjs/gridview/options.js +2 -2
  68. package/dist/cjs/gridview/types.d.ts +3 -3
  69. package/dist/cjs/gridview/types.js +2 -2
  70. package/dist/cjs/groupview/dnd.d.ts +5 -5
  71. package/dist/cjs/groupview/dnd.js +9 -9
  72. package/dist/cjs/groupview/groupPanel.d.ts +32 -35
  73. package/dist/cjs/groupview/groupPanel.js +2 -2
  74. package/dist/cjs/groupview/groupview.d.ts +177 -177
  75. package/dist/cjs/groupview/groupview.js +589 -589
  76. package/dist/cjs/groupview/groupviewPanel.d.ts +35 -35
  77. package/dist/cjs/groupview/groupviewPanel.js +128 -128
  78. package/dist/cjs/groupview/panel/content.d.ts +30 -30
  79. package/dist/cjs/groupview/panel/content.js +100 -100
  80. package/dist/cjs/groupview/tab.d.ts +41 -42
  81. package/dist/cjs/groupview/tab.js +120 -126
  82. package/dist/cjs/groupview/tab.js.map +1 -1
  83. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +68 -68
  84. package/dist/cjs/groupview/titlebar/tabsContainer.js +258 -270
  85. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  86. package/dist/cjs/groupview/types.d.ts +52 -53
  87. package/dist/cjs/groupview/types.js +2 -2
  88. package/dist/cjs/hostedContainer.d.ts +23 -23
  89. package/dist/cjs/hostedContainer.js +73 -73
  90. package/dist/cjs/index.d.ts +30 -30
  91. package/dist/cjs/index.js +46 -46
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/lifecycle.d.ts +22 -22
  94. package/dist/cjs/lifecycle.js +88 -88
  95. package/dist/cjs/math.d.ts +4 -4
  96. package/dist/cjs/math.js +15 -15
  97. package/dist/cjs/panel/componentFactory.d.ts +8 -8
  98. package/dist/cjs/panel/componentFactory.js +30 -30
  99. package/dist/cjs/panel/types.d.ts +33 -33
  100. package/dist/cjs/panel/types.js +2 -2
  101. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  102. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  103. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +19 -19
  104. package/dist/cjs/paneview/draggablePaneviewPanel.js +129 -129
  105. package/dist/cjs/paneview/options.d.ts +27 -27
  106. package/dist/cjs/paneview/options.js +2 -2
  107. package/dist/cjs/paneview/paneview.d.ts +40 -40
  108. package/dist/cjs/paneview/paneview.js +201 -201
  109. package/dist/cjs/paneview/paneviewComponent.d.ts +129 -129
  110. package/dist/cjs/paneview/paneviewComponent.js +394 -394
  111. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -89
  112. package/dist/cjs/paneview/paneviewPanel.js +274 -274
  113. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  114. package/dist/cjs/react/deserializer.d.ts +9 -9
  115. package/dist/cjs/react/deserializer.js +43 -45
  116. package/dist/cjs/react/deserializer.js.map +1 -1
  117. package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
  118. package/dist/cjs/react/dockview/defaultTab.js +72 -72
  119. package/dist/cjs/react/dockview/defaultTab.js.map +1 -1
  120. package/dist/cjs/react/dockview/dockview.d.ts +34 -35
  121. package/dist/cjs/react/dockview/dockview.js +212 -227
  122. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  123. package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -43
  124. package/dist/cjs/react/dockview/groupControlsRenderer.js +86 -86
  125. package/dist/cjs/react/dockview/reactContentPart.d.ts +30 -30
  126. package/dist/cjs/react/dockview/reactContentPart.js +58 -58
  127. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +26 -26
  128. package/dist/cjs/react/dockview/reactHeaderPart.js +55 -55
  129. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +29 -29
  130. package/dist/cjs/react/dockview/reactWatermarkPart.js +65 -65
  131. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  132. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +87 -87
  133. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  134. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
  135. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  136. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
  137. package/dist/cjs/react/gridview/gridview.d.ts +24 -24
  138. package/dist/cjs/react/gridview/gridview.js +112 -112
  139. package/dist/cjs/react/gridview/view.d.ts +11 -11
  140. package/dist/cjs/react/gridview/view.js +40 -40
  141. package/dist/cjs/react/index.d.ts +9 -9
  142. package/dist/cjs/react/index.js +23 -23
  143. package/dist/cjs/react/paneview/paneview.d.ts +30 -30
  144. package/dist/cjs/react/paneview/paneview.js +155 -155
  145. package/dist/cjs/react/paneview/view.d.ts +20 -20
  146. package/dist/cjs/react/paneview/view.js +44 -44
  147. package/dist/cjs/react/react.d.ts +36 -36
  148. package/dist/cjs/react/react.js +194 -194
  149. package/dist/cjs/react/splitview/splitview.d.ts +24 -24
  150. package/dist/cjs/react/splitview/splitview.js +108 -108
  151. package/dist/cjs/react/splitview/view.d.ts +10 -10
  152. package/dist/cjs/react/splitview/view.js +40 -40
  153. package/dist/cjs/react/svg.d.ts +3 -3
  154. package/dist/cjs/react/svg.js +35 -35
  155. package/dist/cjs/react/types.d.ts +7 -7
  156. package/dist/cjs/react/types.js +2 -2
  157. package/dist/cjs/splitview/core/options.d.ts +26 -26
  158. package/dist/cjs/splitview/core/options.js +2 -2
  159. package/dist/cjs/splitview/core/splitview.d.ts +127 -124
  160. package/dist/cjs/splitview/core/splitview.js +908 -908
  161. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  162. package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
  163. package/dist/cjs/splitview/core/viewItem.js +124 -124
  164. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  165. package/dist/cjs/splitview/splitviewComponent.js +373 -373
  166. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -42
  167. package/dist/cjs/splitview/splitviewPanel.js +178 -178
  168. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  169. package/dist/cjs/svg.d.ts +3 -3
  170. package/dist/cjs/svg.js +43 -43
  171. package/dist/cjs/types.d.ts +7 -7
  172. package/dist/cjs/types.js +2 -2
  173. package/dist/dockview.amd.js +6737 -6797
  174. package/dist/dockview.amd.min.js +2 -2
  175. package/dist/dockview.amd.min.noStyle.js +2 -2
  176. package/dist/dockview.amd.noStyle.js +6743 -6803
  177. package/dist/dockview.cjs.js +6737 -6797
  178. package/dist/dockview.esm.js +6731 -6791
  179. package/dist/dockview.esm.min.js +2 -2
  180. package/dist/dockview.js +6737 -6797
  181. package/dist/dockview.min.js +2 -2
  182. package/dist/dockview.min.noStyle.js +2 -2
  183. package/dist/dockview.noStyle.js +6743 -6803
  184. package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
  185. package/dist/esm/actionbar/actionsContainer.js +17 -17
  186. package/dist/esm/api/component.api.d.ts +144 -144
  187. package/dist/esm/api/component.api.js +326 -326
  188. package/dist/esm/api/gridviewPanelApi.d.ts +36 -36
  189. package/dist/esm/api/gridviewPanelApi.js +25 -25
  190. package/dist/esm/api/groupPanelApi.d.ts +34 -41
  191. package/dist/esm/api/groupPanelApi.js +50 -57
  192. package/dist/esm/api/panelApi.d.ts +81 -81
  193. package/dist/esm/api/panelApi.js +79 -79
  194. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  195. package/dist/esm/api/paneviewPanelApi.js +27 -27
  196. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  197. package/dist/esm/api/splitviewPanelApi.js +25 -25
  198. package/dist/esm/array.d.ts +13 -13
  199. package/dist/esm/array.js +67 -67
  200. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
  201. package/dist/esm/dnd/abstractDragHandler.js +37 -37
  202. package/dist/esm/dnd/dataTransfer.d.ts +31 -31
  203. package/dist/esm/dnd/dataTransfer.js +69 -69
  204. package/dist/esm/dnd/dnd.d.ts +27 -27
  205. package/dist/esm/dnd/dnd.js +41 -41
  206. package/dist/esm/dnd/droptarget.d.ts +37 -37
  207. package/dist/esm/dnd/droptarget.js +167 -167
  208. package/dist/esm/dockview/components/tab/defaultTab.d.ts +27 -27
  209. package/dist/esm/dockview/components/tab/defaultTab.js +79 -84
  210. package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
  211. package/dist/esm/dockview/components/watermark/watermark.js +70 -70
  212. package/dist/esm/dockview/defaultGroupPanelView.d.ts +29 -29
  213. package/dist/esm/dockview/defaultGroupPanelView.js +44 -44
  214. package/dist/esm/dockview/deserializer.d.ts +5 -5
  215. package/dist/esm/dockview/deserializer.js +1 -1
  216. package/dist/esm/dockview/dockviewComponent.d.ts +125 -130
  217. package/dist/esm/dockview/dockviewComponent.js +468 -483
  218. package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -33
  219. package/dist/esm/dockview/dockviewGroupPanel.js +107 -122
  220. package/dist/esm/dockview/options.d.ts +88 -89
  221. package/dist/esm/dockview/options.js +1 -1
  222. package/dist/esm/dom.d.ts +14 -14
  223. package/dist/esm/dom.js +113 -113
  224. package/dist/esm/events.d.ts +30 -30
  225. package/dist/esm/events.js +88 -88
  226. package/dist/esm/gridview/baseComponentGridview.d.ts +87 -87
  227. package/dist/esm/gridview/baseComponentGridview.js +189 -189
  228. package/dist/esm/gridview/basePanelView.d.ts +43 -43
  229. package/dist/esm/gridview/basePanelView.js +74 -74
  230. package/dist/esm/gridview/branchNode.d.ts +49 -46
  231. package/dist/esm/gridview/branchNode.js +218 -218
  232. package/dist/esm/gridview/gridview.d.ts +126 -123
  233. package/dist/esm/gridview/gridview.js +397 -397
  234. package/dist/esm/gridview/gridviewComponent.d.ts +85 -85
  235. package/dist/esm/gridview/gridviewComponent.js +238 -238
  236. package/dist/esm/gridview/gridviewPanel.d.ts +60 -60
  237. package/dist/esm/gridview/gridviewPanel.js +138 -138
  238. package/dist/esm/gridview/leafNode.d.ts +34 -31
  239. package/dist/esm/gridview/leafNode.js +103 -98
  240. package/dist/esm/gridview/options.d.ts +18 -18
  241. package/dist/esm/gridview/options.js +1 -1
  242. package/dist/esm/gridview/types.d.ts +3 -3
  243. package/dist/esm/gridview/types.js +1 -1
  244. package/dist/esm/groupview/dnd.d.ts +5 -5
  245. package/dist/esm/groupview/dnd.js +6 -6
  246. package/dist/esm/groupview/groupPanel.d.ts +32 -35
  247. package/dist/esm/groupview/groupPanel.js +1 -1
  248. package/dist/esm/groupview/groupview.d.ts +177 -177
  249. package/dist/esm/groupview/groupview.js +444 -444
  250. package/dist/esm/groupview/groupviewPanel.d.ts +35 -35
  251. package/dist/esm/groupview/groupviewPanel.js +61 -61
  252. package/dist/esm/groupview/panel/content.d.ts +30 -30
  253. package/dist/esm/groupview/panel/content.js +73 -73
  254. package/dist/esm/groupview/tab.d.ts +41 -42
  255. package/dist/esm/groupview/tab.js +90 -96
  256. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +68 -68
  257. package/dist/esm/groupview/titlebar/tabsContainer.js +190 -191
  258. package/dist/esm/groupview/types.d.ts +52 -53
  259. package/dist/esm/groupview/types.js +1 -1
  260. package/dist/esm/hostedContainer.d.ts +23 -23
  261. package/dist/esm/hostedContainer.js +63 -63
  262. package/dist/esm/index.d.ts +30 -30
  263. package/dist/esm/index.js +23 -23
  264. package/dist/esm/lifecycle.d.ts +22 -22
  265. package/dist/esm/lifecycle.js +39 -39
  266. package/dist/esm/math.d.ts +4 -4
  267. package/dist/esm/math.js +10 -10
  268. package/dist/esm/panel/componentFactory.d.ts +8 -8
  269. package/dist/esm/panel/componentFactory.js +24 -24
  270. package/dist/esm/panel/types.d.ts +33 -33
  271. package/dist/esm/panel/types.js +1 -1
  272. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  273. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  274. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +19 -19
  275. package/dist/esm/paneview/draggablePaneviewPanel.js +90 -90
  276. package/dist/esm/paneview/options.d.ts +27 -27
  277. package/dist/esm/paneview/options.js +1 -1
  278. package/dist/esm/paneview/paneview.d.ts +40 -40
  279. package/dist/esm/paneview/paneview.js +145 -145
  280. package/dist/esm/paneview/paneviewComponent.d.ts +129 -129
  281. package/dist/esm/paneview/paneviewComponent.js +270 -270
  282. package/dist/esm/paneview/paneviewPanel.d.ts +92 -89
  283. package/dist/esm/paneview/paneviewPanel.js +191 -191
  284. package/dist/esm/react/deserializer.d.ts +9 -9
  285. package/dist/esm/react/deserializer.js +38 -40
  286. package/dist/esm/react/dockview/defaultTab.d.ts +4 -4
  287. package/dist/esm/react/dockview/defaultTab.js +34 -34
  288. package/dist/esm/react/dockview/dockview.d.ts +34 -35
  289. package/dist/esm/react/dockview/dockview.js +157 -172
  290. package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -43
  291. package/dist/esm/react/dockview/groupControlsRenderer.js +68 -68
  292. package/dist/esm/react/dockview/reactContentPart.d.ts +30 -30
  293. package/dist/esm/react/dockview/reactContentPart.js +49 -49
  294. package/dist/esm/react/dockview/reactHeaderPart.d.ts +26 -26
  295. package/dist/esm/react/dockview/reactHeaderPart.js +46 -46
  296. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +29 -29
  297. package/dist/esm/react/dockview/reactWatermarkPart.js +55 -55
  298. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  299. package/dist/esm/react/dockview/v2/reactContentRenderer.js +69 -69
  300. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  301. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
  302. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  303. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
  304. package/dist/esm/react/gridview/gridview.d.ts +24 -24
  305. package/dist/esm/react/gridview/gridview.js +70 -70
  306. package/dist/esm/react/gridview/view.d.ts +11 -11
  307. package/dist/esm/react/gridview/view.js +18 -18
  308. package/dist/esm/react/index.d.ts +9 -9
  309. package/dist/esm/react/index.js +7 -7
  310. package/dist/esm/react/paneview/paneview.d.ts +30 -30
  311. package/dist/esm/react/paneview/paneview.js +100 -100
  312. package/dist/esm/react/paneview/view.d.ts +20 -20
  313. package/dist/esm/react/paneview/view.js +35 -35
  314. package/dist/esm/react/react.d.ts +36 -36
  315. package/dist/esm/react/react.js +125 -125
  316. package/dist/esm/react/splitview/splitview.d.ts +24 -24
  317. package/dist/esm/react/splitview/splitview.js +66 -66
  318. package/dist/esm/react/splitview/view.d.ts +10 -10
  319. package/dist/esm/react/splitview/view.js +18 -18
  320. package/dist/esm/react/svg.d.ts +3 -3
  321. package/dist/esm/react/svg.js +7 -7
  322. package/dist/esm/react/types.d.ts +7 -7
  323. package/dist/esm/react/types.js +1 -1
  324. package/dist/esm/splitview/core/options.d.ts +26 -26
  325. package/dist/esm/splitview/core/options.js +1 -1
  326. package/dist/esm/splitview/core/splitview.d.ts +127 -124
  327. package/dist/esm/splitview/core/splitview.js +689 -689
  328. package/dist/esm/splitview/core/viewItem.d.ts +25 -25
  329. package/dist/esm/splitview/core/viewItem.js +79 -79
  330. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  331. package/dist/esm/splitview/splitviewComponent.js +249 -249
  332. package/dist/esm/splitview/splitviewPanel.d.ts +45 -42
  333. package/dist/esm/splitview/splitviewPanel.js +107 -107
  334. package/dist/esm/svg.d.ts +3 -3
  335. package/dist/esm/svg.js +31 -31
  336. package/dist/esm/types.d.ts +7 -7
  337. package/dist/esm/types.js +1 -1
  338. package/dist/styles/dockview.css +0 -3
  339. package/package.json +2 -2
@@ -1,85 +1,85 @@
1
- import { SerializedGridObject } from './gridview';
2
- import { Position } from '../dnd/droptarget';
3
- import { IPanelDeserializer } from '../dockview/deserializer';
4
- import { GridviewComponentOptions } from './options';
5
- import { BaseGrid, Direction, IBaseGrid, IGridPanelView } from './baseComponentGridview';
6
- import { GridviewPanel, GridviewInitParameters, GridPanelViewState, IGridviewPanel } from './gridviewPanel';
7
- import { BaseComponentOptions } from '../panel/types';
8
- import { Orientation, Sizing } from '../splitview/core/splitview';
9
- import { Event } from '../events';
10
- export interface SerializedGridview {
11
- grid: {
12
- height: number;
13
- width: number;
14
- orientation: Orientation;
15
- root: SerializedGridObject<GridPanelViewState>;
16
- };
17
- activePanel?: string;
18
- }
19
- export interface AddComponentOptions extends BaseComponentOptions {
20
- minimumWidth?: number;
21
- maximumWidth?: number;
22
- minimumHeight?: number;
23
- maximumHeight?: number;
24
- position?: {
25
- direction: Direction;
26
- referencePanel: string;
27
- };
28
- location?: number[];
29
- }
30
- export interface IGridPanelComponentView extends IGridPanelView {
31
- init: (params: GridviewInitParameters) => void;
32
- }
33
- export declare type GridviewComponentUpdateOptions = Pick<GridviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
34
- export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
35
- readonly orientation: Orientation;
36
- readonly onDidLayoutFromJSON: Event<void>;
37
- updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
38
- addPanel(options: AddComponentOptions): IGridviewPanel;
39
- removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
40
- focus(): void;
41
- fromJSON(serializedGridview: SerializedGridview): void;
42
- toJSON(): SerializedGridview;
43
- movePanel(panel: IGridviewPanel, options: {
44
- direction: Direction;
45
- reference: string;
46
- size?: number;
47
- }): void;
48
- setVisible(panel: IGridviewPanel, visible: boolean): void;
49
- setActive(panel: IGridviewPanel): void;
50
- }
51
- export declare class GridviewComponent extends BaseGrid<GridviewPanel> implements IGridviewComponent {
52
- private _options;
53
- private _deserializer;
54
- private readonly _onDidLayoutfromJSON;
55
- readonly onDidLayoutFromJSON: Event<void>;
56
- get orientation(): Orientation;
57
- set orientation(value: Orientation);
58
- get options(): GridviewComponentOptions;
59
- get deserializer(): IPanelDeserializer | undefined;
60
- set deserializer(value: IPanelDeserializer | undefined);
61
- constructor(element: HTMLElement, options: GridviewComponentOptions);
62
- updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
63
- removePanel(panel: GridviewPanel): void;
64
- /**
65
- * Serialize the current state of the layout
66
- *
67
- * @returns A JSON respresentation of the layout
68
- */
69
- toJSON(): SerializedGridview;
70
- setVisible(panel: GridviewPanel, visible: boolean): void;
71
- setActive(panel: GridviewPanel): void;
72
- focus(): void;
73
- fromJSON(serializedGridview: SerializedGridview): void;
74
- clear(): void;
75
- movePanel(panel: GridviewPanel, options: {
76
- direction: Direction;
77
- reference: string;
78
- size?: number;
79
- }): void;
80
- addPanel(options: AddComponentOptions): IGridviewPanel;
81
- private registerPanel;
82
- moveGroup(referenceGroup: IGridPanelComponentView, groupId: string, target: Position): void;
83
- removeGroup(group: GridviewPanel): void;
84
- dispose(): void;
85
- }
1
+ import { SerializedGridObject } from './gridview';
2
+ import { Position } from '../dnd/droptarget';
3
+ import { IPanelDeserializer } from '../dockview/deserializer';
4
+ import { GridviewComponentOptions } from './options';
5
+ import { BaseGrid, Direction, IBaseGrid, IGridPanelView } from './baseComponentGridview';
6
+ import { GridviewPanel, GridviewInitParameters, GridPanelViewState, IGridviewPanel } from './gridviewPanel';
7
+ import { BaseComponentOptions } from '../panel/types';
8
+ import { Orientation, Sizing } from '../splitview/core/splitview';
9
+ import { Event } from '../events';
10
+ export interface SerializedGridview {
11
+ grid: {
12
+ height: number;
13
+ width: number;
14
+ orientation: Orientation;
15
+ root: SerializedGridObject<GridPanelViewState>;
16
+ };
17
+ activePanel?: string;
18
+ }
19
+ export interface AddComponentOptions extends BaseComponentOptions {
20
+ minimumWidth?: number;
21
+ maximumWidth?: number;
22
+ minimumHeight?: number;
23
+ maximumHeight?: number;
24
+ position?: {
25
+ direction: Direction;
26
+ referencePanel: string;
27
+ };
28
+ location?: number[];
29
+ }
30
+ export interface IGridPanelComponentView extends IGridPanelView {
31
+ init: (params: GridviewInitParameters) => void;
32
+ }
33
+ export declare type GridviewComponentUpdateOptions = Pick<GridviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
34
+ export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
35
+ readonly orientation: Orientation;
36
+ readonly onDidLayoutFromJSON: Event<void>;
37
+ updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
38
+ addPanel(options: AddComponentOptions): IGridviewPanel;
39
+ removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
40
+ focus(): void;
41
+ fromJSON(serializedGridview: SerializedGridview): void;
42
+ toJSON(): SerializedGridview;
43
+ movePanel(panel: IGridviewPanel, options: {
44
+ direction: Direction;
45
+ reference: string;
46
+ size?: number;
47
+ }): void;
48
+ setVisible(panel: IGridviewPanel, visible: boolean): void;
49
+ setActive(panel: IGridviewPanel): void;
50
+ }
51
+ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implements IGridviewComponent {
52
+ private _options;
53
+ private _deserializer;
54
+ private readonly _onDidLayoutfromJSON;
55
+ readonly onDidLayoutFromJSON: Event<void>;
56
+ get orientation(): Orientation;
57
+ set orientation(value: Orientation);
58
+ get options(): GridviewComponentOptions;
59
+ get deserializer(): IPanelDeserializer | undefined;
60
+ set deserializer(value: IPanelDeserializer | undefined);
61
+ constructor(element: HTMLElement, options: GridviewComponentOptions);
62
+ updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
63
+ removePanel(panel: GridviewPanel): void;
64
+ /**
65
+ * Serialize the current state of the layout
66
+ *
67
+ * @returns A JSON respresentation of the layout
68
+ */
69
+ toJSON(): SerializedGridview;
70
+ setVisible(panel: GridviewPanel, visible: boolean): void;
71
+ setActive(panel: GridviewPanel): void;
72
+ focus(): void;
73
+ fromJSON(serializedGridview: SerializedGridview): void;
74
+ clear(): void;
75
+ movePanel(panel: GridviewPanel, options: {
76
+ direction: Direction;
77
+ reference: string;
78
+ size?: number;
79
+ }): void;
80
+ addPanel(options: AddComponentOptions): IGridviewPanel;
81
+ private registerPanel;
82
+ moveGroup(referenceGroup: IGridPanelComponentView, groupId: string, target: Position): void;
83
+ removeGroup(group: GridviewPanel): void;
84
+ dispose(): void;
85
+ }
@@ -1,238 +1,238 @@
1
- import { getRelativeLocation, getGridLocation, } from './gridview';
2
- import { Position } from '../dnd/droptarget';
3
- import { tail, sequenceEquals } from '../array';
4
- import { CompositeDisposable } from '../lifecycle';
5
- import { BaseGrid, toTarget, } from './baseComponentGridview';
6
- import { createComponent } from '../panel/componentFactory';
7
- import { Emitter } from '../events';
8
- export class GridviewComponent extends BaseGrid {
9
- constructor(element, options) {
10
- super(element, {
11
- proportionalLayout: options.proportionalLayout,
12
- orientation: options.orientation,
13
- styles: options.styles,
14
- });
15
- this._onDidLayoutfromJSON = new Emitter();
16
- this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
17
- this._options = options;
18
- if (!this.options.components) {
19
- this.options.components = {};
20
- }
21
- if (!this.options.frameworkComponents) {
22
- this.options.frameworkComponents = {};
23
- }
24
- }
25
- get orientation() {
26
- return this.gridview.orientation;
27
- }
28
- set orientation(value) {
29
- this.gridview.orientation = value;
30
- }
31
- get options() {
32
- return this._options;
33
- }
34
- get deserializer() {
35
- return this._deserializer;
36
- }
37
- set deserializer(value) {
38
- this._deserializer = value;
39
- }
40
- updateOptions(options) {
41
- const hasOrientationChanged = typeof options.orientation === 'string' &&
42
- this.gridview.orientation !== options.orientation;
43
- this._options = Object.assign(Object.assign({}, this.options), options);
44
- if (hasOrientationChanged) {
45
- this.gridview.orientation = options.orientation;
46
- }
47
- this.layout(this.gridview.width, this.gridview.height, true);
48
- }
49
- removePanel(panel) {
50
- this.removeGroup(panel);
51
- }
52
- /**
53
- * Serialize the current state of the layout
54
- *
55
- * @returns A JSON respresentation of the layout
56
- */
57
- toJSON() {
58
- var _a;
59
- const data = this.gridview.serialize();
60
- return {
61
- grid: data,
62
- activePanel: (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.id,
63
- };
64
- }
65
- setVisible(panel, visible) {
66
- this.gridview.setViewVisible(getGridLocation(panel.element), visible);
67
- }
68
- setActive(panel) {
69
- this._groups.forEach((value, _key) => {
70
- value.value.setActive(panel === value.value);
71
- });
72
- }
73
- focus() {
74
- var _a;
75
- (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
76
- }
77
- fromJSON(serializedGridview) {
78
- this.clear();
79
- const { grid, activePanel } = serializedGridview;
80
- const queue = [];
81
- this.gridview.deserialize(grid, {
82
- fromJSON: (node) => {
83
- const { data } = node;
84
- const view = createComponent(data.id, data.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkComponentFactory
85
- ? {
86
- createComponent: this.options.frameworkComponentFactory
87
- .createComponent,
88
- }
89
- : undefined);
90
- queue.push(() => view.init({
91
- params: data.params,
92
- minimumWidth: data.minimumWidth,
93
- maximumWidth: data.maximumWidth,
94
- minimumHeight: data.minimumHeight,
95
- maximumHeight: data.maximumHeight,
96
- priority: data.priority,
97
- snap: !!data.snap,
98
- accessor: this,
99
- isVisible: node.visible,
100
- }));
101
- this._onDidAddGroup.fire(view);
102
- this.registerPanel(view);
103
- return view;
104
- },
105
- });
106
- this.layout(this.width, this.height, true);
107
- queue.forEach((f) => f());
108
- if (typeof activePanel === 'string') {
109
- const panel = this.getPanel(activePanel);
110
- if (panel) {
111
- this.doSetGroupActive(panel);
112
- }
113
- }
114
- this._onDidLayoutfromJSON.fire();
115
- }
116
- clear() {
117
- const hasActiveGroup = this.activeGroup;
118
- const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
119
- for (const group of groups) {
120
- group.disposable.dispose();
121
- this.doRemoveGroup(group.value, { skipActive: true });
122
- }
123
- if (hasActiveGroup) {
124
- this.doSetGroupActive(undefined);
125
- }
126
- this.gridview.clear();
127
- }
128
- movePanel(panel, options) {
129
- var _a;
130
- let relativeLocation;
131
- const removedPanel = this.gridview.remove(panel);
132
- const referenceGroup = (_a = this._groups.get(options.reference)) === null || _a === void 0 ? void 0 : _a.value;
133
- if (!referenceGroup) {
134
- throw new Error(`reference group ${options.reference} does not exist`);
135
- }
136
- const target = toTarget(options.direction);
137
- if (target === Position.Center) {
138
- throw new Error(`${target} not supported as an option`);
139
- }
140
- else {
141
- const location = getGridLocation(referenceGroup.element);
142
- relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
143
- }
144
- this.doAddGroup(removedPanel, relativeLocation, options.size);
145
- }
146
- addPanel(options) {
147
- var _a, _b;
148
- let relativeLocation = options.location || [0];
149
- if ((_a = options.position) === null || _a === void 0 ? void 0 : _a.referencePanel) {
150
- const referenceGroup = (_b = this._groups.get(options.position.referencePanel)) === null || _b === void 0 ? void 0 : _b.value;
151
- if (!referenceGroup) {
152
- throw new Error(`reference group ${options.position.referencePanel} does not exist`);
153
- }
154
- const target = toTarget(options.position.direction);
155
- if (target === Position.Center) {
156
- throw new Error(`${target} not supported as an option`);
157
- }
158
- else {
159
- const location = getGridLocation(referenceGroup.element);
160
- relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
161
- }
162
- }
163
- const view = createComponent(options.id, options.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkComponentFactory
164
- ? {
165
- createComponent: this.options.frameworkComponentFactory
166
- .createComponent,
167
- }
168
- : undefined);
169
- view.init({
170
- params: options.params || {},
171
- minimumWidth: options.minimumWidth,
172
- maximumWidth: options.maximumWidth,
173
- minimumHeight: options.minimumHeight,
174
- maximumHeight: options.maximumHeight,
175
- priority: options.priority,
176
- snap: !!options.snap,
177
- accessor: this,
178
- isVisible: true,
179
- });
180
- this.registerPanel(view);
181
- this.doAddGroup(view, relativeLocation, options.size);
182
- return view;
183
- }
184
- registerPanel(panel) {
185
- const disposable = new CompositeDisposable(panel.api.onDidFocusChange((event) => {
186
- if (!event.isFocused) {
187
- return;
188
- }
189
- this._groups.forEach((groupItem) => {
190
- const group = groupItem.value;
191
- if (group !== panel) {
192
- group.setActive(false);
193
- }
194
- else {
195
- group.setActive(true);
196
- }
197
- });
198
- }));
199
- this._groups.set(panel.id, {
200
- value: panel,
201
- disposable,
202
- });
203
- }
204
- moveGroup(referenceGroup, groupId, target) {
205
- const sourceGroup = this.getPanel(groupId);
206
- if (!sourceGroup) {
207
- throw new Error('invalid operation');
208
- }
209
- const referenceLocation = getGridLocation(referenceGroup.element);
210
- const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
211
- const [targetParentLocation, to] = tail(targetLocation);
212
- const sourceLocation = getGridLocation(sourceGroup.element);
213
- const [sourceParentLocation, from] = tail(sourceLocation);
214
- if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
215
- // special case when 'swapping' two views within same grid location
216
- // if a group has one tab - we are essentially moving the 'group'
217
- // which is equivalent to swapping two views in this case
218
- this.gridview.moveView(sourceParentLocation, from, to);
219
- return;
220
- }
221
- // source group will become empty so delete the group
222
- const targetGroup = this.doRemoveGroup(sourceGroup, {
223
- skipActive: true,
224
- skipDispose: true,
225
- });
226
- // after deleting the group we need to re-evaulate the ref location
227
- const updatedReferenceLocation = getGridLocation(referenceGroup.element);
228
- const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, target);
229
- this.doAddGroup(targetGroup, location);
230
- }
231
- removeGroup(group) {
232
- super.removeGroup(group);
233
- }
234
- dispose() {
235
- super.dispose();
236
- this._onDidLayoutfromJSON.dispose();
237
- }
238
- }
1
+ import { getRelativeLocation, getGridLocation, } from './gridview';
2
+ import { Position } from '../dnd/droptarget';
3
+ import { tail, sequenceEquals } from '../array';
4
+ import { CompositeDisposable } from '../lifecycle';
5
+ import { BaseGrid, toTarget, } from './baseComponentGridview';
6
+ import { createComponent } from '../panel/componentFactory';
7
+ import { Emitter } from '../events';
8
+ export class GridviewComponent extends BaseGrid {
9
+ constructor(element, options) {
10
+ super(element, {
11
+ proportionalLayout: options.proportionalLayout,
12
+ orientation: options.orientation,
13
+ styles: options.styles,
14
+ });
15
+ this._onDidLayoutfromJSON = new Emitter();
16
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
17
+ this._options = options;
18
+ if (!this.options.components) {
19
+ this.options.components = {};
20
+ }
21
+ if (!this.options.frameworkComponents) {
22
+ this.options.frameworkComponents = {};
23
+ }
24
+ }
25
+ get orientation() {
26
+ return this.gridview.orientation;
27
+ }
28
+ set orientation(value) {
29
+ this.gridview.orientation = value;
30
+ }
31
+ get options() {
32
+ return this._options;
33
+ }
34
+ get deserializer() {
35
+ return this._deserializer;
36
+ }
37
+ set deserializer(value) {
38
+ this._deserializer = value;
39
+ }
40
+ updateOptions(options) {
41
+ const hasOrientationChanged = typeof options.orientation === 'string' &&
42
+ this.gridview.orientation !== options.orientation;
43
+ this._options = Object.assign(Object.assign({}, this.options), options);
44
+ if (hasOrientationChanged) {
45
+ this.gridview.orientation = options.orientation;
46
+ }
47
+ this.layout(this.gridview.width, this.gridview.height, true);
48
+ }
49
+ removePanel(panel) {
50
+ this.removeGroup(panel);
51
+ }
52
+ /**
53
+ * Serialize the current state of the layout
54
+ *
55
+ * @returns A JSON respresentation of the layout
56
+ */
57
+ toJSON() {
58
+ var _a;
59
+ const data = this.gridview.serialize();
60
+ return {
61
+ grid: data,
62
+ activePanel: (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.id,
63
+ };
64
+ }
65
+ setVisible(panel, visible) {
66
+ this.gridview.setViewVisible(getGridLocation(panel.element), visible);
67
+ }
68
+ setActive(panel) {
69
+ this._groups.forEach((value, _key) => {
70
+ value.value.setActive(panel === value.value);
71
+ });
72
+ }
73
+ focus() {
74
+ var _a;
75
+ (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
76
+ }
77
+ fromJSON(serializedGridview) {
78
+ this.clear();
79
+ const { grid, activePanel } = serializedGridview;
80
+ const queue = [];
81
+ this.gridview.deserialize(grid, {
82
+ fromJSON: (node) => {
83
+ const { data } = node;
84
+ const view = createComponent(data.id, data.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkComponentFactory
85
+ ? {
86
+ createComponent: this.options.frameworkComponentFactory
87
+ .createComponent,
88
+ }
89
+ : undefined);
90
+ queue.push(() => view.init({
91
+ params: data.params,
92
+ minimumWidth: data.minimumWidth,
93
+ maximumWidth: data.maximumWidth,
94
+ minimumHeight: data.minimumHeight,
95
+ maximumHeight: data.maximumHeight,
96
+ priority: data.priority,
97
+ snap: !!data.snap,
98
+ accessor: this,
99
+ isVisible: node.visible,
100
+ }));
101
+ this._onDidAddGroup.fire(view);
102
+ this.registerPanel(view);
103
+ return view;
104
+ },
105
+ });
106
+ this.layout(this.width, this.height, true);
107
+ queue.forEach((f) => f());
108
+ if (typeof activePanel === 'string') {
109
+ const panel = this.getPanel(activePanel);
110
+ if (panel) {
111
+ this.doSetGroupActive(panel);
112
+ }
113
+ }
114
+ this._onDidLayoutfromJSON.fire();
115
+ }
116
+ clear() {
117
+ const hasActiveGroup = this.activeGroup;
118
+ const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
119
+ for (const group of groups) {
120
+ group.disposable.dispose();
121
+ this.doRemoveGroup(group.value, { skipActive: true });
122
+ }
123
+ if (hasActiveGroup) {
124
+ this.doSetGroupActive(undefined);
125
+ }
126
+ this.gridview.clear();
127
+ }
128
+ movePanel(panel, options) {
129
+ var _a;
130
+ let relativeLocation;
131
+ const removedPanel = this.gridview.remove(panel);
132
+ const referenceGroup = (_a = this._groups.get(options.reference)) === null || _a === void 0 ? void 0 : _a.value;
133
+ if (!referenceGroup) {
134
+ throw new Error(`reference group ${options.reference} does not exist`);
135
+ }
136
+ const target = toTarget(options.direction);
137
+ if (target === Position.Center) {
138
+ throw new Error(`${target} not supported as an option`);
139
+ }
140
+ else {
141
+ const location = getGridLocation(referenceGroup.element);
142
+ relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
143
+ }
144
+ this.doAddGroup(removedPanel, relativeLocation, options.size);
145
+ }
146
+ addPanel(options) {
147
+ var _a, _b;
148
+ let relativeLocation = options.location || [0];
149
+ if ((_a = options.position) === null || _a === void 0 ? void 0 : _a.referencePanel) {
150
+ const referenceGroup = (_b = this._groups.get(options.position.referencePanel)) === null || _b === void 0 ? void 0 : _b.value;
151
+ if (!referenceGroup) {
152
+ throw new Error(`reference group ${options.position.referencePanel} does not exist`);
153
+ }
154
+ const target = toTarget(options.position.direction);
155
+ if (target === Position.Center) {
156
+ throw new Error(`${target} not supported as an option`);
157
+ }
158
+ else {
159
+ const location = getGridLocation(referenceGroup.element);
160
+ relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
161
+ }
162
+ }
163
+ const view = createComponent(options.id, options.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkComponentFactory
164
+ ? {
165
+ createComponent: this.options.frameworkComponentFactory
166
+ .createComponent,
167
+ }
168
+ : undefined);
169
+ view.init({
170
+ params: options.params || {},
171
+ minimumWidth: options.minimumWidth,
172
+ maximumWidth: options.maximumWidth,
173
+ minimumHeight: options.minimumHeight,
174
+ maximumHeight: options.maximumHeight,
175
+ priority: options.priority,
176
+ snap: !!options.snap,
177
+ accessor: this,
178
+ isVisible: true,
179
+ });
180
+ this.registerPanel(view);
181
+ this.doAddGroup(view, relativeLocation, options.size);
182
+ return view;
183
+ }
184
+ registerPanel(panel) {
185
+ const disposable = new CompositeDisposable(panel.api.onDidFocusChange((event) => {
186
+ if (!event.isFocused) {
187
+ return;
188
+ }
189
+ this._groups.forEach((groupItem) => {
190
+ const group = groupItem.value;
191
+ if (group !== panel) {
192
+ group.setActive(false);
193
+ }
194
+ else {
195
+ group.setActive(true);
196
+ }
197
+ });
198
+ }));
199
+ this._groups.set(panel.id, {
200
+ value: panel,
201
+ disposable,
202
+ });
203
+ }
204
+ moveGroup(referenceGroup, groupId, target) {
205
+ const sourceGroup = this.getPanel(groupId);
206
+ if (!sourceGroup) {
207
+ throw new Error('invalid operation');
208
+ }
209
+ const referenceLocation = getGridLocation(referenceGroup.element);
210
+ const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
211
+ const [targetParentLocation, to] = tail(targetLocation);
212
+ const sourceLocation = getGridLocation(sourceGroup.element);
213
+ const [sourceParentLocation, from] = tail(sourceLocation);
214
+ if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
215
+ // special case when 'swapping' two views within same grid location
216
+ // if a group has one tab - we are essentially moving the 'group'
217
+ // which is equivalent to swapping two views in this case
218
+ this.gridview.moveView(sourceParentLocation, from, to);
219
+ return;
220
+ }
221
+ // source group will become empty so delete the group
222
+ const targetGroup = this.doRemoveGroup(sourceGroup, {
223
+ skipActive: true,
224
+ skipDispose: true,
225
+ });
226
+ // after deleting the group we need to re-evaulate the ref location
227
+ const updatedReferenceLocation = getGridLocation(referenceGroup.element);
228
+ const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, target);
229
+ this.doAddGroup(targetGroup, location);
230
+ }
231
+ removeGroup(group) {
232
+ super.removeGroup(group);
233
+ }
234
+ dispose() {
235
+ super.dispose();
236
+ this._onDidLayoutfromJSON.dispose();
237
+ }
238
+ }