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,40 +1,38 @@
1
- import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
2
- import { createComponent } from '../panel/componentFactory';
3
- import { DockviewApi } from '../api/component.api';
4
- import { DefaultTab } from '../dockview/components/tab/defaultTab';
5
- import { DefaultGroupPanelView } from '../dockview/defaultGroupPanelView';
6
- export class ReactPanelDeserialzier {
7
- constructor(layout) {
8
- this.layout = layout;
9
- }
10
- fromJSON(panelData, group) {
11
- var _a, _b, _c, _d;
12
- const panelId = panelData.id;
13
- const params = panelData.params;
14
- const title = panelData.title;
15
- const suppressClosable = panelData.suppressClosable;
16
- const viewData = panelData.view;
17
- let tab;
18
- if ((_a = viewData.tab) === null || _a === void 0 ? void 0 : _a.id) {
19
- tab = createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_b = this.layout.options.frameworkComponentFactory) === null || _b === void 0 ? void 0 : _b.tab, () => new DefaultTab());
20
- }
21
- else if (this.layout.options.defaultTabComponent) {
22
- tab = createComponent(this.layout.options.defaultTabComponent, this.layout.options.defaultTabComponent, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab, () => new DefaultTab());
23
- }
24
- else {
25
- tab = new DefaultTab();
26
- }
27
- const view = new DefaultGroupPanelView({
28
- content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_d = this.layout.options.frameworkComponentFactory) === null || _d === void 0 ? void 0 : _d.content),
29
- tab,
30
- });
31
- const panel = new DockviewGroupPanel(panelId, this.layout, new DockviewApi(this.layout), group);
32
- panel.init({
33
- view,
34
- title,
35
- suppressClosable,
36
- params: params || {},
37
- });
38
- return panel;
39
- }
40
- }
1
+ import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
2
+ import { createComponent } from '../panel/componentFactory';
3
+ import { DockviewApi } from '../api/component.api';
4
+ import { DefaultTab } from '../dockview/components/tab/defaultTab';
5
+ import { DefaultGroupPanelView } from '../dockview/defaultGroupPanelView';
6
+ export class ReactPanelDeserialzier {
7
+ constructor(layout) {
8
+ this.layout = layout;
9
+ }
10
+ fromJSON(panelData, group) {
11
+ var _a, _b, _c, _d;
12
+ const panelId = panelData.id;
13
+ const params = panelData.params;
14
+ const title = panelData.title;
15
+ const viewData = panelData.view;
16
+ let tab;
17
+ if ((_a = viewData.tab) === null || _a === void 0 ? void 0 : _a.id) {
18
+ tab = createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_b = this.layout.options.frameworkComponentFactory) === null || _b === void 0 ? void 0 : _b.tab, () => new DefaultTab());
19
+ }
20
+ else if (this.layout.options.defaultTabComponent) {
21
+ tab = createComponent(this.layout.options.defaultTabComponent, this.layout.options.defaultTabComponent, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab, () => new DefaultTab());
22
+ }
23
+ else {
24
+ tab = new DefaultTab();
25
+ }
26
+ const view = new DefaultGroupPanelView({
27
+ content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_d = this.layout.options.frameworkComponentFactory) === null || _d === void 0 ? void 0 : _d.content),
28
+ tab,
29
+ });
30
+ const panel = new DockviewGroupPanel(panelId, this.layout, new DockviewApi(this.layout), group);
31
+ panel.init({
32
+ view,
33
+ title,
34
+ params: params || {},
35
+ });
36
+ return panel;
37
+ }
38
+ }
@@ -1,4 +1,4 @@
1
- import { IDockviewPanelHeaderProps } from './dockview';
2
- import * as React from 'react';
3
- export declare type IDockviewDefaultTabProps = IDockviewPanelHeaderProps & React.DOMAttributes<HTMLDivElement>;
4
- export declare const DockviewDefaultTab: React.FunctionComponent<IDockviewDefaultTabProps>;
1
+ import { IDockviewPanelHeaderProps } from './dockview';
2
+ import * as React from 'react';
3
+ export declare type IDockviewDefaultTabProps = IDockviewPanelHeaderProps & React.DOMAttributes<HTMLDivElement>;
4
+ export declare const DockviewDefaultTab: React.FunctionComponent<IDockviewDefaultTabProps>;
@@ -1,34 +1,34 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import * as React from 'react';
13
- import { CloseButton } from '../svg';
14
- export const DockviewDefaultTab = (_a) => {
15
- var { api, containerApi: _containerApi, params: _params } = _a, rest = __rest(_a, ["api", "containerApi", "params"]);
16
- const onClose = React.useCallback((event) => {
17
- event.stopPropagation();
18
- api.close();
19
- }, [api]);
20
- const onClick = React.useCallback((event) => {
21
- api.setActive();
22
- if (rest.onClick) {
23
- rest.onClick(event);
24
- }
25
- }, [api, rest.onClick]);
26
- const iconClassname = React.useMemo(() => {
27
- const cn = ['dockview-react-tab-action'];
28
- return cn.join(',');
29
- }, [api.suppressClosable]);
30
- return (React.createElement("div", Object.assign({}, rest, { onClick: onClick, className: "dockview-react-tab" }),
31
- React.createElement("span", { className: "dockview-react-tab-title" }, api.title),
32
- React.createElement("div", { className: iconClassname, onClick: onClose },
33
- React.createElement(CloseButton, null))));
34
- };
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import * as React from 'react';
13
+ import { CloseButton } from '../svg';
14
+ export const DockviewDefaultTab = (_a) => {
15
+ var { api, containerApi: _containerApi, params: _params } = _a, rest = __rest(_a, ["api", "containerApi", "params"]);
16
+ const onClose = React.useCallback((event) => {
17
+ event.stopPropagation();
18
+ api.close();
19
+ }, [api]);
20
+ const onClick = React.useCallback((event) => {
21
+ api.setActive();
22
+ if (rest.onClick) {
23
+ rest.onClick(event);
24
+ }
25
+ }, [api, rest.onClick]);
26
+ const iconClassname = React.useMemo(() => {
27
+ const cn = ['dockview-react-tab-action'];
28
+ return cn.join(',');
29
+ }, []);
30
+ return (React.createElement("div", Object.assign({}, rest, { onClick: onClick, className: "dockview-react-tab" }),
31
+ React.createElement("span", { className: "dockview-react-tab-title" }, api.title),
32
+ React.createElement("div", { className: iconClassname, onClick: onClose },
33
+ React.createElement(CloseButton, null))));
34
+ };
@@ -1,35 +1,34 @@
1
- import * as React from 'react';
2
- import { DockviewDropEvent } from '../../dockview/dockviewComponent';
3
- import { DockviewDndOverlayEvent, TabContextMenuEvent } from '../../dockview/options';
4
- import { DockviewPanelApi } from '../../api/groupPanelApi';
5
- import { DockviewApi } from '../../api/component.api';
6
- import { IWatermarkPanelProps } from './reactWatermarkPart';
7
- import { PanelCollection, PanelParameters } from '../types';
8
- import { IDockviewGroupControlProps } from './groupControlsRenderer';
9
- export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
10
- api: DockviewPanelApi;
11
- containerApi: DockviewApi;
12
- }
13
- export declare type IDockviewPanelHeaderProps<T extends {} = Record<string, any>> = IGroupPanelBaseProps<T>;
14
- export declare type IDockviewPanelProps<T extends {
15
- [index: string]: any;
16
- } = any> = IGroupPanelBaseProps<T>;
17
- export interface DockviewReadyEvent {
18
- api: DockviewApi;
19
- }
20
- export interface IDockviewReactProps {
21
- components: PanelCollection<IDockviewPanelProps>;
22
- tabComponents?: PanelCollection<IDockviewPanelHeaderProps>;
23
- watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
24
- onReady: (event: DockviewReadyEvent) => void;
25
- tabHeight?: number;
26
- onTabContextMenu?: (event: TabContextMenuEvent) => void;
27
- onDidDrop?: (event: DockviewDropEvent) => void;
28
- showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
29
- hideBorders?: boolean;
30
- className?: string;
31
- disableAutoResizing?: boolean;
32
- defaultTabComponent?: React.FunctionComponent<IDockviewPanelHeaderProps>;
33
- groupControlComponent?: React.FunctionComponent<IDockviewGroupControlProps>;
34
- }
35
- export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
1
+ import * as React from 'react';
2
+ import { DockviewDropEvent } from '../../dockview/dockviewComponent';
3
+ import { DockviewDndOverlayEvent } from '../../dockview/options';
4
+ import { DockviewPanelApi } from '../../api/groupPanelApi';
5
+ import { DockviewApi } from '../../api/component.api';
6
+ import { IWatermarkPanelProps } from './reactWatermarkPart';
7
+ import { PanelCollection, PanelParameters } from '../types';
8
+ import { IDockviewGroupControlProps } from './groupControlsRenderer';
9
+ export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
10
+ api: DockviewPanelApi;
11
+ containerApi: DockviewApi;
12
+ }
13
+ export declare type IDockviewPanelHeaderProps<T extends {} = Record<string, any>> = IGroupPanelBaseProps<T>;
14
+ export declare type IDockviewPanelProps<T extends {
15
+ [index: string]: any;
16
+ } = any> = IGroupPanelBaseProps<T>;
17
+ export interface DockviewReadyEvent {
18
+ api: DockviewApi;
19
+ }
20
+ export interface IDockviewReactProps {
21
+ components: PanelCollection<IDockviewPanelProps>;
22
+ tabComponents?: PanelCollection<IDockviewPanelHeaderProps>;
23
+ watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
24
+ onReady: (event: DockviewReadyEvent) => void;
25
+ tabHeight?: number;
26
+ onDidDrop?: (event: DockviewDropEvent) => void;
27
+ showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
28
+ hideBorders?: boolean;
29
+ className?: string;
30
+ disableAutoResizing?: boolean;
31
+ defaultTabComponent?: React.FunctionComponent<IDockviewPanelHeaderProps>;
32
+ groupControlComponent?: React.FunctionComponent<IDockviewGroupControlProps>;
33
+ }
34
+ export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,172 +1,157 @@
1
- import * as React from 'react';
2
- import { DockviewComponent, } from '../../dockview/dockviewComponent';
3
- import { ReactPanelContentPart } from './reactContentPart';
4
- import { ReactPanelHeaderPart } from './reactHeaderPart';
5
- import { ReactPanelDeserialzier } from '../deserializer';
6
- import { usePortalsLifecycle } from '../react';
7
- import { DockviewApi } from '../../api/component.api';
8
- import { ReactWatermarkPart } from './reactWatermarkPart';
9
- import { watchElementResize } from '../../dom';
10
- import { ReactGroupControlsRendererPart, } from './groupControlsRenderer';
11
- import { DEFAULT_TAB_IDENTIFIER } from '../../dockview/components/tab/defaultTab';
12
- function createGroupControlElement(component, store) {
13
- return component
14
- ? (groupPanel) => {
15
- return new ReactGroupControlsRendererPart(component, store, groupPanel);
16
- }
17
- : undefined;
18
- }
19
- export const DockviewReact = React.forwardRef((props, ref) => {
20
- const domRef = React.useRef(null);
21
- const dockviewRef = React.useRef();
22
- const [portals, addPortal] = usePortalsLifecycle();
23
- React.useImperativeHandle(ref, () => domRef.current, []);
24
- React.useEffect(() => {
25
- if (props.disableAutoResizing) {
26
- return () => {
27
- //
28
- };
29
- }
30
- const watcher = watchElementResize(domRef.current, (entry) => {
31
- var _a;
32
- const { width, height } = entry.contentRect;
33
- (_a = dockviewRef.current) === null || _a === void 0 ? void 0 : _a.layout(width, height);
34
- });
35
- return () => {
36
- watcher.dispose();
37
- };
38
- }, [props.disableAutoResizing]);
39
- React.useEffect(() => {
40
- var _a;
41
- const factory = {
42
- content: {
43
- createComponent: (_id, componentId, component) => {
44
- return new ReactPanelContentPart(componentId, component, {
45
- addPortal,
46
- });
47
- },
48
- },
49
- tab: {
50
- createComponent: (_id, componentId, component) => {
51
- return new ReactPanelHeaderPart(componentId, component, {
52
- addPortal,
53
- });
54
- },
55
- },
56
- watermark: {
57
- createComponent: (_id, componentId, component) => {
58
- return new ReactWatermarkPart(componentId, component, {
59
- addPortal,
60
- });
61
- },
62
- },
63
- };
64
- const element = document.createElement('div');
65
- const dockview = new DockviewComponent(element, {
66
- frameworkComponentFactory: factory,
67
- frameworkComponents: props.components,
68
- frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
69
- tabHeight: props.tabHeight,
70
- watermarkFrameworkComponent: props.watermarkComponent,
71
- defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
72
- styles: props.hideBorders
73
- ? { separatorBorder: 'transparent' }
74
- : undefined,
75
- showDndOverlay: props.showDndOverlay,
76
- createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
77
- });
78
- (_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
79
- dockview.deserializer = new ReactPanelDeserialzier(dockview);
80
- const { clientWidth, clientHeight } = domRef.current;
81
- dockview.layout(clientWidth, clientHeight);
82
- if (props.onReady) {
83
- props.onReady({ api: new DockviewApi(dockview) });
84
- }
85
- dockviewRef.current = dockview;
86
- return () => {
87
- dockview.dispose();
88
- element.remove();
89
- };
90
- }, []);
91
- React.useEffect(() => {
92
- if (!dockviewRef.current) {
93
- return () => {
94
- // noop
95
- };
96
- }
97
- const disposable = dockviewRef.current.onDidDrop((event) => {
98
- if (props.onDidDrop) {
99
- props.onDidDrop(event);
100
- }
101
- });
102
- return () => {
103
- disposable.dispose();
104
- };
105
- }, [props.onDidDrop]);
106
- React.useEffect(() => {
107
- if (!dockviewRef.current) {
108
- return;
109
- }
110
- dockviewRef.current.updateOptions({
111
- frameworkComponents: props.components,
112
- });
113
- }, [props.components]);
114
- React.useEffect(() => {
115
- if (!dockviewRef.current) {
116
- return;
117
- }
118
- dockviewRef.current.updateOptions({
119
- watermarkFrameworkComponent: props.watermarkComponent,
120
- });
121
- }, [props.watermarkComponent]);
122
- React.useEffect(() => {
123
- if (!dockviewRef.current) {
124
- return;
125
- }
126
- dockviewRef.current.updateOptions({
127
- showDndOverlay: props.showDndOverlay,
128
- });
129
- }, [props.showDndOverlay]);
130
- React.useEffect(() => {
131
- if (!dockviewRef.current) {
132
- return;
133
- }
134
- dockviewRef.current.updateOptions({
135
- frameworkTabComponents: props.tabComponents,
136
- });
137
- }, [props.tabComponents]);
138
- React.useEffect(() => {
139
- if (!props.onTabContextMenu || !dockviewRef.current) {
140
- return () => {
141
- //noop
142
- };
143
- }
144
- const disposable = dockviewRef.current.onTabContextMenu((event) => {
145
- if (props.onTabContextMenu) {
146
- props.onTabContextMenu(event);
147
- }
148
- });
149
- return () => {
150
- disposable.dispose();
151
- };
152
- }, [props.onTabContextMenu]);
153
- React.useEffect(() => {
154
- if (!dockviewRef.current) {
155
- return;
156
- }
157
- dockviewRef.current.updateOptions({
158
- defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
159
- frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
160
- });
161
- }, [props.defaultTabComponent]);
162
- React.useEffect(() => {
163
- if (!dockviewRef.current) {
164
- return;
165
- }
166
- dockviewRef.current.updateOptions({
167
- createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
168
- });
169
- }, [props.groupControlComponent]);
170
- return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
171
- });
172
- DockviewReact.displayName = 'DockviewComponent';
1
+ import * as React from 'react';
2
+ import { DockviewComponent, } from '../../dockview/dockviewComponent';
3
+ import { ReactPanelContentPart } from './reactContentPart';
4
+ import { ReactPanelHeaderPart } from './reactHeaderPart';
5
+ import { ReactPanelDeserialzier } from '../deserializer';
6
+ import { usePortalsLifecycle } from '../react';
7
+ import { DockviewApi } from '../../api/component.api';
8
+ import { ReactWatermarkPart } from './reactWatermarkPart';
9
+ import { watchElementResize } from '../../dom';
10
+ import { ReactGroupControlsRendererPart, } from './groupControlsRenderer';
11
+ import { DEFAULT_TAB_IDENTIFIER } from '../../dockview/components/tab/defaultTab';
12
+ function createGroupControlElement(component, store) {
13
+ return component
14
+ ? (groupPanel) => {
15
+ return new ReactGroupControlsRendererPart(component, store, groupPanel);
16
+ }
17
+ : undefined;
18
+ }
19
+ export const DockviewReact = React.forwardRef((props, ref) => {
20
+ const domRef = React.useRef(null);
21
+ const dockviewRef = React.useRef();
22
+ const [portals, addPortal] = usePortalsLifecycle();
23
+ React.useImperativeHandle(ref, () => domRef.current, []);
24
+ React.useEffect(() => {
25
+ if (props.disableAutoResizing) {
26
+ return () => {
27
+ //
28
+ };
29
+ }
30
+ const watcher = watchElementResize(domRef.current, (entry) => {
31
+ var _a;
32
+ const { width, height } = entry.contentRect;
33
+ (_a = dockviewRef.current) === null || _a === void 0 ? void 0 : _a.layout(width, height);
34
+ });
35
+ return () => {
36
+ watcher.dispose();
37
+ };
38
+ }, [props.disableAutoResizing]);
39
+ React.useEffect(() => {
40
+ var _a;
41
+ const factory = {
42
+ content: {
43
+ createComponent: (_id, componentId, component) => {
44
+ return new ReactPanelContentPart(componentId, component, {
45
+ addPortal,
46
+ });
47
+ },
48
+ },
49
+ tab: {
50
+ createComponent: (_id, componentId, component) => {
51
+ return new ReactPanelHeaderPart(componentId, component, {
52
+ addPortal,
53
+ });
54
+ },
55
+ },
56
+ watermark: {
57
+ createComponent: (_id, componentId, component) => {
58
+ return new ReactWatermarkPart(componentId, component, {
59
+ addPortal,
60
+ });
61
+ },
62
+ },
63
+ };
64
+ const element = document.createElement('div');
65
+ const dockview = new DockviewComponent(element, {
66
+ frameworkComponentFactory: factory,
67
+ frameworkComponents: props.components,
68
+ frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
69
+ tabHeight: props.tabHeight,
70
+ watermarkFrameworkComponent: props.watermarkComponent,
71
+ defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
72
+ styles: props.hideBorders
73
+ ? { separatorBorder: 'transparent' }
74
+ : undefined,
75
+ showDndOverlay: props.showDndOverlay,
76
+ createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
77
+ });
78
+ (_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
79
+ dockview.deserializer = new ReactPanelDeserialzier(dockview);
80
+ const { clientWidth, clientHeight } = domRef.current;
81
+ dockview.layout(clientWidth, clientHeight);
82
+ if (props.onReady) {
83
+ props.onReady({ api: new DockviewApi(dockview) });
84
+ }
85
+ dockviewRef.current = dockview;
86
+ return () => {
87
+ dockview.dispose();
88
+ element.remove();
89
+ };
90
+ }, []);
91
+ React.useEffect(() => {
92
+ if (!dockviewRef.current) {
93
+ return () => {
94
+ // noop
95
+ };
96
+ }
97
+ const disposable = dockviewRef.current.onDidDrop((event) => {
98
+ if (props.onDidDrop) {
99
+ props.onDidDrop(event);
100
+ }
101
+ });
102
+ return () => {
103
+ disposable.dispose();
104
+ };
105
+ }, [props.onDidDrop]);
106
+ React.useEffect(() => {
107
+ if (!dockviewRef.current) {
108
+ return;
109
+ }
110
+ dockviewRef.current.updateOptions({
111
+ frameworkComponents: props.components,
112
+ });
113
+ }, [props.components]);
114
+ React.useEffect(() => {
115
+ if (!dockviewRef.current) {
116
+ return;
117
+ }
118
+ dockviewRef.current.updateOptions({
119
+ watermarkFrameworkComponent: props.watermarkComponent,
120
+ });
121
+ }, [props.watermarkComponent]);
122
+ React.useEffect(() => {
123
+ if (!dockviewRef.current) {
124
+ return;
125
+ }
126
+ dockviewRef.current.updateOptions({
127
+ showDndOverlay: props.showDndOverlay,
128
+ });
129
+ }, [props.showDndOverlay]);
130
+ React.useEffect(() => {
131
+ if (!dockviewRef.current) {
132
+ return;
133
+ }
134
+ dockviewRef.current.updateOptions({
135
+ frameworkTabComponents: props.tabComponents,
136
+ });
137
+ }, [props.tabComponents]);
138
+ React.useEffect(() => {
139
+ if (!dockviewRef.current) {
140
+ return;
141
+ }
142
+ dockviewRef.current.updateOptions({
143
+ defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
144
+ frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
145
+ });
146
+ }, [props.defaultTabComponent]);
147
+ React.useEffect(() => {
148
+ if (!dockviewRef.current) {
149
+ return;
150
+ }
151
+ dockviewRef.current.updateOptions({
152
+ createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
153
+ });
154
+ }, [props.groupControlComponent]);
155
+ return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
156
+ });
157
+ DockviewReact.displayName = 'DockviewComponent';
@@ -1,43 +1,43 @@
1
- import * as React from 'react';
2
- import { ReactPart, ReactPortalStore } from '../react';
3
- import { PanelUpdateEvent } from '../../panel/types';
4
- import { GroupPanel, GroupviewPanelApi } from '../../groupview/groupviewPanel';
5
- import { DockviewApi } from '../../api/component.api';
6
- import { IDisposable } from '../../lifecycle';
7
- import { IDockviewPanel } from '../../groupview/groupPanel';
8
- export interface IDockviewGroupControlProps {
9
- api: GroupviewPanelApi;
10
- containerApi: DockviewApi;
11
- panels: IDockviewPanel[];
12
- activePanel: IDockviewPanel | undefined;
13
- isGroupActive: boolean;
14
- }
15
- export interface IGroupControlRenderer extends IDisposable {
16
- readonly element: HTMLElement;
17
- init(params: {
18
- containerApi: DockviewApi;
19
- api: GroupviewPanelApi;
20
- }): void;
21
- }
22
- export declare class ReactGroupControlsRendererPart {
23
- private readonly component;
24
- private readonly reactPortalStore;
25
- private readonly _group;
26
- private mutableDisposable;
27
- private _element;
28
- private _part?;
29
- get element(): HTMLElement;
30
- get part(): ReactPart<IDockviewGroupControlProps> | undefined;
31
- get group(): GroupPanel;
32
- constructor(component: React.FunctionComponent<IDockviewGroupControlProps>, reactPortalStore: ReactPortalStore, _group: GroupPanel);
33
- focus(): void;
34
- init(parameters: {
35
- containerApi: DockviewApi;
36
- api: GroupviewPanelApi;
37
- }): void;
38
- update(event: PanelUpdateEvent): void;
39
- dispose(): void;
40
- private updatePanels;
41
- private updateActivePanel;
42
- private updateGroupActive;
43
- }
1
+ import * as React from 'react';
2
+ import { ReactPart, ReactPortalStore } from '../react';
3
+ import { PanelUpdateEvent } from '../../panel/types';
4
+ import { GroupPanel, GroupviewPanelApi } from '../../groupview/groupviewPanel';
5
+ import { DockviewApi } from '../../api/component.api';
6
+ import { IDisposable } from '../../lifecycle';
7
+ import { IDockviewPanel } from '../../groupview/groupPanel';
8
+ export interface IDockviewGroupControlProps {
9
+ api: GroupviewPanelApi;
10
+ containerApi: DockviewApi;
11
+ panels: IDockviewPanel[];
12
+ activePanel: IDockviewPanel | undefined;
13
+ isGroupActive: boolean;
14
+ }
15
+ export interface IGroupControlRenderer extends IDisposable {
16
+ readonly element: HTMLElement;
17
+ init(params: {
18
+ containerApi: DockviewApi;
19
+ api: GroupviewPanelApi;
20
+ }): void;
21
+ }
22
+ export declare class ReactGroupControlsRendererPart {
23
+ private readonly component;
24
+ private readonly reactPortalStore;
25
+ private readonly _group;
26
+ private mutableDisposable;
27
+ private _element;
28
+ private _part?;
29
+ get element(): HTMLElement;
30
+ get part(): ReactPart<IDockviewGroupControlProps> | undefined;
31
+ get group(): GroupPanel;
32
+ constructor(component: React.FunctionComponent<IDockviewGroupControlProps>, reactPortalStore: ReactPortalStore, _group: GroupPanel);
33
+ focus(): void;
34
+ init(parameters: {
35
+ containerApi: DockviewApi;
36
+ api: GroupviewPanelApi;
37
+ }): void;
38
+ update(event: PanelUpdateEvent): void;
39
+ dispose(): void;
40
+ private updatePanels;
41
+ private updateActivePanel;
42
+ private updateGroupActive;
43
+ }