dockview 1.5.1 → 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 (329) 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 -34
  10. package/dist/cjs/api/groupPanelApi.js +85 -85
  11. package/dist/cjs/api/panelApi.d.ts +81 -81
  12. package/dist/cjs/api/panelApi.js +121 -121
  13. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  14. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  15. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  16. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  17. package/dist/cjs/array.d.ts +13 -13
  18. package/dist/cjs/array.js +77 -77
  19. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
  20. package/dist/cjs/dnd/abstractDragHandler.js +115 -115
  21. package/dist/cjs/dnd/dataTransfer.d.ts +31 -31
  22. package/dist/cjs/dnd/dataTransfer.js +100 -100
  23. package/dist/cjs/dnd/dnd.d.ts +27 -27
  24. package/dist/cjs/dnd/dnd.js +64 -64
  25. package/dist/cjs/dnd/droptarget.d.ts +37 -37
  26. package/dist/cjs/dnd/droptarget.js +201 -201
  27. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +27 -27
  28. package/dist/cjs/dockview/components/tab/defaultTab.js +121 -121
  29. package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
  30. package/dist/cjs/dockview/components/watermark/watermark.js +101 -101
  31. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +29 -29
  32. package/dist/cjs/dockview/defaultGroupPanelView.js +68 -68
  33. package/dist/cjs/dockview/deserializer.d.ts +5 -5
  34. package/dist/cjs/dockview/deserializer.js +2 -2
  35. package/dist/cjs/dockview/dockviewComponent.d.ts +125 -125
  36. package/dist/cjs/dockview/dockviewComponent.js +614 -614
  37. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  38. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -31
  39. package/dist/cjs/dockview/dockviewGroupPanel.js +156 -156
  40. package/dist/cjs/dockview/options.d.ts +88 -88
  41. package/dist/cjs/dockview/options.js +2 -2
  42. package/dist/cjs/dom.d.ts +14 -14
  43. package/dist/cjs/dom.js +182 -182
  44. package/dist/cjs/events.d.ts +30 -30
  45. package/dist/cjs/events.js +129 -129
  46. package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -87
  47. package/dist/cjs/gridview/baseComponentGridview.js +279 -279
  48. package/dist/cjs/gridview/basePanelView.d.ts +43 -43
  49. package/dist/cjs/gridview/basePanelView.js +123 -123
  50. package/dist/cjs/gridview/branchNode.d.ts +49 -46
  51. package/dist/cjs/gridview/branchNode.js +342 -342
  52. package/dist/cjs/gridview/branchNode.js.map +1 -1
  53. package/dist/cjs/gridview/gridview.d.ts +126 -123
  54. package/dist/cjs/gridview/gridview.js +479 -479
  55. package/dist/cjs/gridview/gridview.js.map +1 -1
  56. package/dist/cjs/gridview/gridviewComponent.d.ts +85 -85
  57. package/dist/cjs/gridview/gridviewComponent.js +325 -325
  58. package/dist/cjs/gridview/gridviewPanel.d.ts +60 -60
  59. package/dist/cjs/gridview/gridviewPanel.js +202 -202
  60. package/dist/cjs/gridview/leafNode.d.ts +34 -31
  61. package/dist/cjs/gridview/leafNode.js +170 -165
  62. package/dist/cjs/gridview/leafNode.js.map +1 -1
  63. package/dist/cjs/gridview/options.d.ts +18 -18
  64. package/dist/cjs/gridview/options.js +2 -2
  65. package/dist/cjs/gridview/types.d.ts +3 -3
  66. package/dist/cjs/gridview/types.js +2 -2
  67. package/dist/cjs/groupview/dnd.d.ts +5 -5
  68. package/dist/cjs/groupview/dnd.js +9 -9
  69. package/dist/cjs/groupview/groupPanel.d.ts +32 -32
  70. package/dist/cjs/groupview/groupPanel.js +2 -2
  71. package/dist/cjs/groupview/groupview.d.ts +177 -177
  72. package/dist/cjs/groupview/groupview.js +589 -589
  73. package/dist/cjs/groupview/groupviewPanel.d.ts +35 -35
  74. package/dist/cjs/groupview/groupviewPanel.js +128 -128
  75. package/dist/cjs/groupview/panel/content.d.ts +30 -30
  76. package/dist/cjs/groupview/panel/content.js +100 -100
  77. package/dist/cjs/groupview/tab.d.ts +41 -41
  78. package/dist/cjs/groupview/tab.js +120 -120
  79. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +68 -68
  80. package/dist/cjs/groupview/titlebar/tabsContainer.js +258 -258
  81. package/dist/cjs/groupview/types.d.ts +52 -52
  82. package/dist/cjs/groupview/types.js +2 -2
  83. package/dist/cjs/hostedContainer.d.ts +23 -23
  84. package/dist/cjs/hostedContainer.js +73 -73
  85. package/dist/cjs/index.d.ts +30 -30
  86. package/dist/cjs/index.js +46 -46
  87. package/dist/cjs/lifecycle.d.ts +22 -22
  88. package/dist/cjs/lifecycle.js +88 -88
  89. package/dist/cjs/math.d.ts +4 -4
  90. package/dist/cjs/math.js +15 -15
  91. package/dist/cjs/panel/componentFactory.d.ts +8 -8
  92. package/dist/cjs/panel/componentFactory.js +30 -30
  93. package/dist/cjs/panel/types.d.ts +33 -33
  94. package/dist/cjs/panel/types.js +2 -2
  95. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  96. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  97. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +19 -19
  98. package/dist/cjs/paneview/draggablePaneviewPanel.js +129 -129
  99. package/dist/cjs/paneview/options.d.ts +27 -27
  100. package/dist/cjs/paneview/options.js +2 -2
  101. package/dist/cjs/paneview/paneview.d.ts +40 -40
  102. package/dist/cjs/paneview/paneview.js +201 -201
  103. package/dist/cjs/paneview/paneviewComponent.d.ts +129 -129
  104. package/dist/cjs/paneview/paneviewComponent.js +394 -394
  105. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -89
  106. package/dist/cjs/paneview/paneviewPanel.js +274 -274
  107. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  108. package/dist/cjs/react/deserializer.d.ts +9 -9
  109. package/dist/cjs/react/deserializer.js +43 -43
  110. package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
  111. package/dist/cjs/react/dockview/defaultTab.js +72 -72
  112. package/dist/cjs/react/dockview/dockview.d.ts +34 -34
  113. package/dist/cjs/react/dockview/dockview.js +212 -212
  114. package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -43
  115. package/dist/cjs/react/dockview/groupControlsRenderer.js +86 -86
  116. package/dist/cjs/react/dockview/reactContentPart.d.ts +30 -30
  117. package/dist/cjs/react/dockview/reactContentPart.js +58 -58
  118. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +26 -26
  119. package/dist/cjs/react/dockview/reactHeaderPart.js +55 -55
  120. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +29 -29
  121. package/dist/cjs/react/dockview/reactWatermarkPart.js +65 -65
  122. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  123. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +87 -87
  124. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  125. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
  126. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  127. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
  128. package/dist/cjs/react/gridview/gridview.d.ts +24 -24
  129. package/dist/cjs/react/gridview/gridview.js +112 -112
  130. package/dist/cjs/react/gridview/view.d.ts +11 -11
  131. package/dist/cjs/react/gridview/view.js +40 -40
  132. package/dist/cjs/react/index.d.ts +9 -9
  133. package/dist/cjs/react/index.js +23 -23
  134. package/dist/cjs/react/paneview/paneview.d.ts +30 -30
  135. package/dist/cjs/react/paneview/paneview.js +155 -155
  136. package/dist/cjs/react/paneview/view.d.ts +20 -20
  137. package/dist/cjs/react/paneview/view.js +44 -44
  138. package/dist/cjs/react/react.d.ts +36 -36
  139. package/dist/cjs/react/react.js +194 -194
  140. package/dist/cjs/react/splitview/splitview.d.ts +24 -24
  141. package/dist/cjs/react/splitview/splitview.js +108 -108
  142. package/dist/cjs/react/splitview/view.d.ts +10 -10
  143. package/dist/cjs/react/splitview/view.js +40 -40
  144. package/dist/cjs/react/svg.d.ts +3 -3
  145. package/dist/cjs/react/svg.js +35 -35
  146. package/dist/cjs/react/types.d.ts +7 -7
  147. package/dist/cjs/react/types.js +2 -2
  148. package/dist/cjs/splitview/core/options.d.ts +26 -26
  149. package/dist/cjs/splitview/core/options.js +2 -2
  150. package/dist/cjs/splitview/core/splitview.d.ts +127 -124
  151. package/dist/cjs/splitview/core/splitview.js +908 -908
  152. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  153. package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
  154. package/dist/cjs/splitview/core/viewItem.js +124 -124
  155. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  156. package/dist/cjs/splitview/splitviewComponent.js +373 -373
  157. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -42
  158. package/dist/cjs/splitview/splitviewPanel.js +178 -178
  159. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  160. package/dist/cjs/svg.d.ts +3 -3
  161. package/dist/cjs/svg.js +43 -43
  162. package/dist/cjs/types.d.ts +7 -7
  163. package/dist/cjs/types.js +2 -2
  164. package/dist/dockview.amd.js +6737 -6732
  165. package/dist/dockview.amd.min.js +2 -2
  166. package/dist/dockview.amd.min.noStyle.js +2 -2
  167. package/dist/dockview.amd.noStyle.js +6743 -6738
  168. package/dist/dockview.cjs.js +6736 -6731
  169. package/dist/dockview.esm.js +6731 -6726
  170. package/dist/dockview.esm.min.js +2 -2
  171. package/dist/dockview.js +6737 -6732
  172. package/dist/dockview.min.js +2 -2
  173. package/dist/dockview.min.noStyle.js +2 -2
  174. package/dist/dockview.noStyle.js +6743 -6738
  175. package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
  176. package/dist/esm/actionbar/actionsContainer.js +17 -17
  177. package/dist/esm/api/component.api.d.ts +144 -144
  178. package/dist/esm/api/component.api.js +326 -326
  179. package/dist/esm/api/gridviewPanelApi.d.ts +36 -36
  180. package/dist/esm/api/gridviewPanelApi.js +25 -25
  181. package/dist/esm/api/groupPanelApi.d.ts +34 -34
  182. package/dist/esm/api/groupPanelApi.js +50 -50
  183. package/dist/esm/api/panelApi.d.ts +81 -81
  184. package/dist/esm/api/panelApi.js +79 -79
  185. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  186. package/dist/esm/api/paneviewPanelApi.js +27 -27
  187. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  188. package/dist/esm/api/splitviewPanelApi.js +25 -25
  189. package/dist/esm/array.d.ts +13 -13
  190. package/dist/esm/array.js +67 -67
  191. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
  192. package/dist/esm/dnd/abstractDragHandler.js +37 -37
  193. package/dist/esm/dnd/dataTransfer.d.ts +31 -31
  194. package/dist/esm/dnd/dataTransfer.js +69 -69
  195. package/dist/esm/dnd/dnd.d.ts +27 -27
  196. package/dist/esm/dnd/dnd.js +41 -41
  197. package/dist/esm/dnd/droptarget.d.ts +37 -37
  198. package/dist/esm/dnd/droptarget.js +167 -167
  199. package/dist/esm/dockview/components/tab/defaultTab.d.ts +27 -27
  200. package/dist/esm/dockview/components/tab/defaultTab.js +79 -79
  201. package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
  202. package/dist/esm/dockview/components/watermark/watermark.js +70 -70
  203. package/dist/esm/dockview/defaultGroupPanelView.d.ts +29 -29
  204. package/dist/esm/dockview/defaultGroupPanelView.js +44 -44
  205. package/dist/esm/dockview/deserializer.d.ts +5 -5
  206. package/dist/esm/dockview/deserializer.js +1 -1
  207. package/dist/esm/dockview/dockviewComponent.d.ts +125 -125
  208. package/dist/esm/dockview/dockviewComponent.js +468 -468
  209. package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -31
  210. package/dist/esm/dockview/dockviewGroupPanel.js +107 -107
  211. package/dist/esm/dockview/options.d.ts +88 -88
  212. package/dist/esm/dockview/options.js +1 -1
  213. package/dist/esm/dom.d.ts +14 -14
  214. package/dist/esm/dom.js +113 -113
  215. package/dist/esm/events.d.ts +30 -30
  216. package/dist/esm/events.js +88 -88
  217. package/dist/esm/gridview/baseComponentGridview.d.ts +87 -87
  218. package/dist/esm/gridview/baseComponentGridview.js +189 -189
  219. package/dist/esm/gridview/basePanelView.d.ts +43 -43
  220. package/dist/esm/gridview/basePanelView.js +74 -74
  221. package/dist/esm/gridview/branchNode.d.ts +49 -46
  222. package/dist/esm/gridview/branchNode.js +218 -218
  223. package/dist/esm/gridview/gridview.d.ts +126 -123
  224. package/dist/esm/gridview/gridview.js +397 -397
  225. package/dist/esm/gridview/gridviewComponent.d.ts +85 -85
  226. package/dist/esm/gridview/gridviewComponent.js +238 -238
  227. package/dist/esm/gridview/gridviewPanel.d.ts +60 -60
  228. package/dist/esm/gridview/gridviewPanel.js +138 -138
  229. package/dist/esm/gridview/leafNode.d.ts +34 -31
  230. package/dist/esm/gridview/leafNode.js +103 -98
  231. package/dist/esm/gridview/options.d.ts +18 -18
  232. package/dist/esm/gridview/options.js +1 -1
  233. package/dist/esm/gridview/types.d.ts +3 -3
  234. package/dist/esm/gridview/types.js +1 -1
  235. package/dist/esm/groupview/dnd.d.ts +5 -5
  236. package/dist/esm/groupview/dnd.js +6 -6
  237. package/dist/esm/groupview/groupPanel.d.ts +32 -32
  238. package/dist/esm/groupview/groupPanel.js +1 -1
  239. package/dist/esm/groupview/groupview.d.ts +177 -177
  240. package/dist/esm/groupview/groupview.js +444 -444
  241. package/dist/esm/groupview/groupviewPanel.d.ts +35 -35
  242. package/dist/esm/groupview/groupviewPanel.js +61 -61
  243. package/dist/esm/groupview/panel/content.d.ts +30 -30
  244. package/dist/esm/groupview/panel/content.js +73 -73
  245. package/dist/esm/groupview/tab.d.ts +41 -41
  246. package/dist/esm/groupview/tab.js +90 -90
  247. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +68 -68
  248. package/dist/esm/groupview/titlebar/tabsContainer.js +190 -190
  249. package/dist/esm/groupview/types.d.ts +52 -52
  250. package/dist/esm/groupview/types.js +1 -1
  251. package/dist/esm/hostedContainer.d.ts +23 -23
  252. package/dist/esm/hostedContainer.js +63 -63
  253. package/dist/esm/index.d.ts +30 -30
  254. package/dist/esm/index.js +23 -23
  255. package/dist/esm/lifecycle.d.ts +22 -22
  256. package/dist/esm/lifecycle.js +39 -39
  257. package/dist/esm/math.d.ts +4 -4
  258. package/dist/esm/math.js +10 -10
  259. package/dist/esm/panel/componentFactory.d.ts +8 -8
  260. package/dist/esm/panel/componentFactory.js +24 -24
  261. package/dist/esm/panel/types.d.ts +33 -33
  262. package/dist/esm/panel/types.js +1 -1
  263. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  264. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  265. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +19 -19
  266. package/dist/esm/paneview/draggablePaneviewPanel.js +90 -90
  267. package/dist/esm/paneview/options.d.ts +27 -27
  268. package/dist/esm/paneview/options.js +1 -1
  269. package/dist/esm/paneview/paneview.d.ts +40 -40
  270. package/dist/esm/paneview/paneview.js +145 -145
  271. package/dist/esm/paneview/paneviewComponent.d.ts +129 -129
  272. package/dist/esm/paneview/paneviewComponent.js +270 -270
  273. package/dist/esm/paneview/paneviewPanel.d.ts +92 -89
  274. package/dist/esm/paneview/paneviewPanel.js +191 -191
  275. package/dist/esm/react/deserializer.d.ts +9 -9
  276. package/dist/esm/react/deserializer.js +38 -38
  277. package/dist/esm/react/dockview/defaultTab.d.ts +4 -4
  278. package/dist/esm/react/dockview/defaultTab.js +34 -34
  279. package/dist/esm/react/dockview/dockview.d.ts +34 -34
  280. package/dist/esm/react/dockview/dockview.js +157 -157
  281. package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -43
  282. package/dist/esm/react/dockview/groupControlsRenderer.js +68 -68
  283. package/dist/esm/react/dockview/reactContentPart.d.ts +30 -30
  284. package/dist/esm/react/dockview/reactContentPart.js +49 -49
  285. package/dist/esm/react/dockview/reactHeaderPart.d.ts +26 -26
  286. package/dist/esm/react/dockview/reactHeaderPart.js +46 -46
  287. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +29 -29
  288. package/dist/esm/react/dockview/reactWatermarkPart.js +55 -55
  289. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  290. package/dist/esm/react/dockview/v2/reactContentRenderer.js +69 -69
  291. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  292. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
  293. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  294. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
  295. package/dist/esm/react/gridview/gridview.d.ts +24 -24
  296. package/dist/esm/react/gridview/gridview.js +70 -70
  297. package/dist/esm/react/gridview/view.d.ts +11 -11
  298. package/dist/esm/react/gridview/view.js +18 -18
  299. package/dist/esm/react/index.d.ts +9 -9
  300. package/dist/esm/react/index.js +7 -7
  301. package/dist/esm/react/paneview/paneview.d.ts +30 -30
  302. package/dist/esm/react/paneview/paneview.js +100 -100
  303. package/dist/esm/react/paneview/view.d.ts +20 -20
  304. package/dist/esm/react/paneview/view.js +35 -35
  305. package/dist/esm/react/react.d.ts +36 -36
  306. package/dist/esm/react/react.js +125 -125
  307. package/dist/esm/react/splitview/splitview.d.ts +24 -24
  308. package/dist/esm/react/splitview/splitview.js +66 -66
  309. package/dist/esm/react/splitview/view.d.ts +10 -10
  310. package/dist/esm/react/splitview/view.js +18 -18
  311. package/dist/esm/react/svg.d.ts +3 -3
  312. package/dist/esm/react/svg.js +7 -7
  313. package/dist/esm/react/types.d.ts +7 -7
  314. package/dist/esm/react/types.js +1 -1
  315. package/dist/esm/splitview/core/options.d.ts +26 -26
  316. package/dist/esm/splitview/core/options.js +1 -1
  317. package/dist/esm/splitview/core/splitview.d.ts +127 -124
  318. package/dist/esm/splitview/core/splitview.js +689 -689
  319. package/dist/esm/splitview/core/viewItem.d.ts +25 -25
  320. package/dist/esm/splitview/core/viewItem.js +79 -79
  321. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  322. package/dist/esm/splitview/splitviewComponent.js +249 -249
  323. package/dist/esm/splitview/splitviewPanel.d.ts +45 -42
  324. package/dist/esm/splitview/splitviewPanel.js +107 -107
  325. package/dist/esm/svg.d.ts +3 -3
  326. package/dist/esm/svg.js +31 -31
  327. package/dist/esm/types.d.ts +7 -7
  328. package/dist/esm/types.js +1 -1
  329. package/package.json +2 -2
@@ -1,68 +1,68 @@
1
- import { IDisposable, CompositeDisposable } from '../../lifecycle';
2
- import { Event } from '../../events';
3
- import { ITab } from '../tab';
4
- import { IDockviewPanel } from '../groupPanel';
5
- import { DockviewComponent } from '../../dockview/dockviewComponent';
6
- import { GroupPanel } from '../groupviewPanel';
7
- export interface TabDropIndexEvent {
8
- event: DragEvent;
9
- readonly index: number;
10
- }
11
- export interface ITabsContainer extends IDisposable {
12
- readonly element: HTMLElement;
13
- readonly panels: string[];
14
- readonly size: number;
15
- height: number | undefined;
16
- delete: (id: string) => void;
17
- indexOf: (id: string) => number;
18
- at: (index: number) => ITab;
19
- onDrop: Event<TabDropIndexEvent>;
20
- setActive: (isGroupActive: boolean) => void;
21
- setActivePanel: (panel: IDockviewPanel) => void;
22
- isActive: (tab: ITab) => boolean;
23
- closePanel: (panel: IDockviewPanel) => void;
24
- openPanel: (panel: IDockviewPanel, index?: number) => void;
25
- setActionElement(element: HTMLElement | undefined): void;
26
- hidden: boolean;
27
- show(): void;
28
- hide(): void;
29
- }
30
- export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
31
- private accessor;
32
- private group;
33
- private readonly _element;
34
- private readonly tabContainer;
35
- private readonly voidContainer;
36
- private readonly actionContainer;
37
- private readonly voidDropTarget;
38
- private tabs;
39
- private selectedIndex;
40
- private actions;
41
- private _height;
42
- private _hidden;
43
- private readonly _onDrop;
44
- readonly onDrop: Event<TabDropIndexEvent>;
45
- get panels(): string[];
46
- get size(): number;
47
- get height(): number | undefined;
48
- set height(value: number | undefined);
49
- get hidden(): boolean;
50
- set hidden(value: boolean);
51
- show(): void;
52
- hide(): void;
53
- setActionElement(element: HTMLElement | undefined): void;
54
- get element(): HTMLElement;
55
- isActive(tab: ITab): boolean;
56
- at(index: number): ITab;
57
- indexOf(id: string): number;
58
- constructor(accessor: DockviewComponent, group: GroupPanel, options: {
59
- tabHeight?: number;
60
- });
61
- setActive(_isGroupActive: boolean): void;
62
- private addTab;
63
- delete(id: string): void;
64
- setActivePanel(panel: IDockviewPanel): void;
65
- openPanel(panel: IDockviewPanel, index?: number): void;
66
- closePanel(panel: IDockviewPanel): void;
67
- dispose(): void;
68
- }
1
+ import { IDisposable, CompositeDisposable } from '../../lifecycle';
2
+ import { Event } from '../../events';
3
+ import { ITab } from '../tab';
4
+ import { IDockviewPanel } from '../groupPanel';
5
+ import { DockviewComponent } from '../../dockview/dockviewComponent';
6
+ import { GroupPanel } from '../groupviewPanel';
7
+ export interface TabDropIndexEvent {
8
+ event: DragEvent;
9
+ readonly index: number;
10
+ }
11
+ export interface ITabsContainer extends IDisposable {
12
+ readonly element: HTMLElement;
13
+ readonly panels: string[];
14
+ readonly size: number;
15
+ height: number | undefined;
16
+ delete: (id: string) => void;
17
+ indexOf: (id: string) => number;
18
+ at: (index: number) => ITab;
19
+ onDrop: Event<TabDropIndexEvent>;
20
+ setActive: (isGroupActive: boolean) => void;
21
+ setActivePanel: (panel: IDockviewPanel) => void;
22
+ isActive: (tab: ITab) => boolean;
23
+ closePanel: (panel: IDockviewPanel) => void;
24
+ openPanel: (panel: IDockviewPanel, index?: number) => void;
25
+ setActionElement(element: HTMLElement | undefined): void;
26
+ hidden: boolean;
27
+ show(): void;
28
+ hide(): void;
29
+ }
30
+ export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
31
+ private accessor;
32
+ private group;
33
+ private readonly _element;
34
+ private readonly tabContainer;
35
+ private readonly voidContainer;
36
+ private readonly actionContainer;
37
+ private readonly voidDropTarget;
38
+ private tabs;
39
+ private selectedIndex;
40
+ private actions;
41
+ private _height;
42
+ private _hidden;
43
+ private readonly _onDrop;
44
+ readonly onDrop: Event<TabDropIndexEvent>;
45
+ get panels(): string[];
46
+ get size(): number;
47
+ get height(): number | undefined;
48
+ set height(value: number | undefined);
49
+ get hidden(): boolean;
50
+ set hidden(value: boolean);
51
+ show(): void;
52
+ hide(): void;
53
+ setActionElement(element: HTMLElement | undefined): void;
54
+ get element(): HTMLElement;
55
+ isActive(tab: ITab): boolean;
56
+ at(index: number): ITab;
57
+ indexOf(id: string): number;
58
+ constructor(accessor: DockviewComponent, group: GroupPanel, options: {
59
+ tabHeight?: number;
60
+ });
61
+ setActive(_isGroupActive: boolean): void;
62
+ private addTab;
63
+ delete(id: string): void;
64
+ setActivePanel(panel: IDockviewPanel): void;
65
+ openPanel(panel: IDockviewPanel, index?: number): void;
66
+ closePanel(panel: IDockviewPanel): void;
67
+ dispose(): void;
68
+ }
@@ -1,190 +1,190 @@
1
- import { CompositeDisposable, } from '../../lifecycle';
2
- import { addDisposableListener, Emitter } from '../../events';
3
- import { MouseEventKind, Tab } from '../tab';
4
- import { last } from '../../array';
5
- import { getPanelData } from '../../dnd/dataTransfer';
6
- import { Droptarget } from '../../dnd/droptarget';
7
- import { DockviewDropTargets } from '../dnd';
8
- export class TabsContainer extends CompositeDisposable {
9
- constructor(accessor, group, options) {
10
- super();
11
- this.accessor = accessor;
12
- this.group = group;
13
- this.tabs = [];
14
- this.selectedIndex = -1;
15
- this._hidden = false;
16
- this._onDrop = new Emitter();
17
- this.onDrop = this._onDrop.event;
18
- this.addDisposables(this._onDrop);
19
- this._element = document.createElement('div');
20
- this._element.className = 'tabs-and-actions-container';
21
- this.height = options.tabHeight;
22
- this.actionContainer = document.createElement('div');
23
- this.actionContainer.className = 'action-container';
24
- this.tabContainer = document.createElement('div');
25
- this.tabContainer.className = 'tabs-container';
26
- this.voidContainer = document.createElement('div');
27
- this.voidContainer.className = 'void-container';
28
- this._element.appendChild(this.tabContainer);
29
- this._element.appendChild(this.voidContainer);
30
- this._element.appendChild(this.actionContainer);
31
- this.voidDropTarget = new Droptarget(this.voidContainer, {
32
- validOverlays: 'none',
33
- canDisplayOverlay: (event) => {
34
- var _a;
35
- const data = getPanelData();
36
- if (data && this.accessor.id === data.viewId) {
37
- // don't show the overlay if the tab being dragged is the last panel of this group
38
- return ((_a = last(this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
39
- }
40
- return group.model.canDisplayOverlay(event, DockviewDropTargets.Panel);
41
- },
42
- });
43
- this.addDisposables(this.voidDropTarget.onDrop((event) => {
44
- this._onDrop.fire({
45
- event: event.nativeEvent,
46
- index: this.tabs.length,
47
- });
48
- }), this.voidDropTarget, addDisposableListener(this.tabContainer, 'mousedown', (event) => {
49
- if (event.defaultPrevented) {
50
- return;
51
- }
52
- const isLeftClick = event.button === 0;
53
- if (isLeftClick) {
54
- this.accessor.doSetGroupActive(this.group);
55
- }
56
- }));
57
- }
58
- get panels() {
59
- return this.tabs.map((_) => _.value.panelId);
60
- }
61
- get size() {
62
- return this.tabs.length;
63
- }
64
- get height() {
65
- return this._height;
66
- }
67
- set height(value) {
68
- this._height = value;
69
- if (typeof value !== 'number') {
70
- this.element.style.removeProperty('--dv-tabs-and-actions-container-height');
71
- }
72
- else {
73
- this.element.style.setProperty('--dv-tabs-and-actions-container-height', `${value}px`);
74
- }
75
- }
76
- get hidden() {
77
- return this._hidden;
78
- }
79
- set hidden(value) {
80
- this._hidden = value;
81
- this.element.style.display = value ? 'none' : '';
82
- }
83
- show() {
84
- if (!this.hidden) {
85
- this.element.style.display = '';
86
- }
87
- }
88
- hide() {
89
- this._element.style.display = 'none';
90
- }
91
- setActionElement(element) {
92
- if (this.actions === element) {
93
- return;
94
- }
95
- if (this.actions) {
96
- this.actions.remove();
97
- this.actions = undefined;
98
- }
99
- if (element) {
100
- this.actionContainer.appendChild(element);
101
- this.actions = element;
102
- }
103
- }
104
- get element() {
105
- return this._element;
106
- }
107
- isActive(tab) {
108
- return (this.selectedIndex > -1 &&
109
- this.tabs[this.selectedIndex].value === tab);
110
- }
111
- at(index) {
112
- var _a;
113
- return (_a = this.tabs[index]) === null || _a === void 0 ? void 0 : _a.value;
114
- }
115
- indexOf(id) {
116
- return this.tabs.findIndex((tab) => tab.value.panelId === id);
117
- }
118
- setActive(_isGroupActive) {
119
- // noop
120
- }
121
- addTab(tab, index = this.tabs.length) {
122
- if (index < 0 || index > this.tabs.length) {
123
- throw new Error('invalid location');
124
- }
125
- this.tabContainer.insertBefore(tab.value.element, this.tabContainer.children[index]);
126
- this.tabs = [
127
- ...this.tabs.slice(0, index),
128
- tab,
129
- ...this.tabs.slice(index),
130
- ];
131
- if (this.selectedIndex < 0) {
132
- this.selectedIndex = index;
133
- }
134
- }
135
- delete(id) {
136
- const index = this.tabs.findIndex((tab) => tab.value.panelId === id);
137
- const tabToRemove = this.tabs.splice(index, 1)[0];
138
- const { value, disposable } = tabToRemove;
139
- disposable.dispose();
140
- value.element.remove();
141
- }
142
- setActivePanel(panel) {
143
- this.tabs.forEach((tab) => {
144
- const isActivePanel = panel.id === tab.value.panelId;
145
- tab.value.setActive(isActivePanel);
146
- });
147
- }
148
- openPanel(panel, index = this.tabs.length) {
149
- var _a;
150
- if (this.tabs.find((tab) => tab.value.panelId === panel.id)) {
151
- return;
152
- }
153
- const tabToAdd = new Tab(panel.id, this.accessor, this.group);
154
- if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
155
- throw new Error('invalid header component');
156
- }
157
- tabToAdd.setContent(panel.view.tab);
158
- const disposable = CompositeDisposable.from(tabToAdd.onChanged((event) => {
159
- var _a;
160
- const alreadyFocused = panel.id === ((_a = this.group.model.activePanel) === null || _a === void 0 ? void 0 : _a.id) &&
161
- this.group.model.isContentFocused;
162
- const isLeftClick = event.event.button === 0;
163
- if (!isLeftClick || event.event.defaultPrevented) {
164
- return;
165
- }
166
- if (event.kind === MouseEventKind.CLICK) {
167
- this.group.model.openPanel(panel, {
168
- skipFocus: alreadyFocused,
169
- });
170
- }
171
- }), tabToAdd.onDrop((event) => {
172
- this._onDrop.fire({
173
- event: event.nativeEvent,
174
- index: this.tabs.findIndex((x) => x.value === tabToAdd),
175
- });
176
- }));
177
- const value = { value: tabToAdd, disposable };
178
- this.addTab(value, index);
179
- }
180
- closePanel(panel) {
181
- this.delete(panel.id);
182
- }
183
- dispose() {
184
- super.dispose();
185
- this.tabs.forEach((tab) => {
186
- tab.disposable.dispose();
187
- });
188
- this.tabs = [];
189
- }
190
- }
1
+ import { CompositeDisposable, } from '../../lifecycle';
2
+ import { addDisposableListener, Emitter } from '../../events';
3
+ import { MouseEventKind, Tab } from '../tab';
4
+ import { last } from '../../array';
5
+ import { getPanelData } from '../../dnd/dataTransfer';
6
+ import { Droptarget } from '../../dnd/droptarget';
7
+ import { DockviewDropTargets } from '../dnd';
8
+ export class TabsContainer extends CompositeDisposable {
9
+ constructor(accessor, group, options) {
10
+ super();
11
+ this.accessor = accessor;
12
+ this.group = group;
13
+ this.tabs = [];
14
+ this.selectedIndex = -1;
15
+ this._hidden = false;
16
+ this._onDrop = new Emitter();
17
+ this.onDrop = this._onDrop.event;
18
+ this.addDisposables(this._onDrop);
19
+ this._element = document.createElement('div');
20
+ this._element.className = 'tabs-and-actions-container';
21
+ this.height = options.tabHeight;
22
+ this.actionContainer = document.createElement('div');
23
+ this.actionContainer.className = 'action-container';
24
+ this.tabContainer = document.createElement('div');
25
+ this.tabContainer.className = 'tabs-container';
26
+ this.voidContainer = document.createElement('div');
27
+ this.voidContainer.className = 'void-container';
28
+ this._element.appendChild(this.tabContainer);
29
+ this._element.appendChild(this.voidContainer);
30
+ this._element.appendChild(this.actionContainer);
31
+ this.voidDropTarget = new Droptarget(this.voidContainer, {
32
+ validOverlays: 'none',
33
+ canDisplayOverlay: (event) => {
34
+ var _a;
35
+ const data = getPanelData();
36
+ if (data && this.accessor.id === data.viewId) {
37
+ // don't show the overlay if the tab being dragged is the last panel of this group
38
+ return ((_a = last(this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
39
+ }
40
+ return group.model.canDisplayOverlay(event, DockviewDropTargets.Panel);
41
+ },
42
+ });
43
+ this.addDisposables(this.voidDropTarget.onDrop((event) => {
44
+ this._onDrop.fire({
45
+ event: event.nativeEvent,
46
+ index: this.tabs.length,
47
+ });
48
+ }), this.voidDropTarget, addDisposableListener(this.tabContainer, 'mousedown', (event) => {
49
+ if (event.defaultPrevented) {
50
+ return;
51
+ }
52
+ const isLeftClick = event.button === 0;
53
+ if (isLeftClick) {
54
+ this.accessor.doSetGroupActive(this.group);
55
+ }
56
+ }));
57
+ }
58
+ get panels() {
59
+ return this.tabs.map((_) => _.value.panelId);
60
+ }
61
+ get size() {
62
+ return this.tabs.length;
63
+ }
64
+ get height() {
65
+ return this._height;
66
+ }
67
+ set height(value) {
68
+ this._height = value;
69
+ if (typeof value !== 'number') {
70
+ this.element.style.removeProperty('--dv-tabs-and-actions-container-height');
71
+ }
72
+ else {
73
+ this.element.style.setProperty('--dv-tabs-and-actions-container-height', `${value}px`);
74
+ }
75
+ }
76
+ get hidden() {
77
+ return this._hidden;
78
+ }
79
+ set hidden(value) {
80
+ this._hidden = value;
81
+ this.element.style.display = value ? 'none' : '';
82
+ }
83
+ show() {
84
+ if (!this.hidden) {
85
+ this.element.style.display = '';
86
+ }
87
+ }
88
+ hide() {
89
+ this._element.style.display = 'none';
90
+ }
91
+ setActionElement(element) {
92
+ if (this.actions === element) {
93
+ return;
94
+ }
95
+ if (this.actions) {
96
+ this.actions.remove();
97
+ this.actions = undefined;
98
+ }
99
+ if (element) {
100
+ this.actionContainer.appendChild(element);
101
+ this.actions = element;
102
+ }
103
+ }
104
+ get element() {
105
+ return this._element;
106
+ }
107
+ isActive(tab) {
108
+ return (this.selectedIndex > -1 &&
109
+ this.tabs[this.selectedIndex].value === tab);
110
+ }
111
+ at(index) {
112
+ var _a;
113
+ return (_a = this.tabs[index]) === null || _a === void 0 ? void 0 : _a.value;
114
+ }
115
+ indexOf(id) {
116
+ return this.tabs.findIndex((tab) => tab.value.panelId === id);
117
+ }
118
+ setActive(_isGroupActive) {
119
+ // noop
120
+ }
121
+ addTab(tab, index = this.tabs.length) {
122
+ if (index < 0 || index > this.tabs.length) {
123
+ throw new Error('invalid location');
124
+ }
125
+ this.tabContainer.insertBefore(tab.value.element, this.tabContainer.children[index]);
126
+ this.tabs = [
127
+ ...this.tabs.slice(0, index),
128
+ tab,
129
+ ...this.tabs.slice(index),
130
+ ];
131
+ if (this.selectedIndex < 0) {
132
+ this.selectedIndex = index;
133
+ }
134
+ }
135
+ delete(id) {
136
+ const index = this.tabs.findIndex((tab) => tab.value.panelId === id);
137
+ const tabToRemove = this.tabs.splice(index, 1)[0];
138
+ const { value, disposable } = tabToRemove;
139
+ disposable.dispose();
140
+ value.element.remove();
141
+ }
142
+ setActivePanel(panel) {
143
+ this.tabs.forEach((tab) => {
144
+ const isActivePanel = panel.id === tab.value.panelId;
145
+ tab.value.setActive(isActivePanel);
146
+ });
147
+ }
148
+ openPanel(panel, index = this.tabs.length) {
149
+ var _a;
150
+ if (this.tabs.find((tab) => tab.value.panelId === panel.id)) {
151
+ return;
152
+ }
153
+ const tabToAdd = new Tab(panel.id, this.accessor, this.group);
154
+ if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
155
+ throw new Error('invalid header component');
156
+ }
157
+ tabToAdd.setContent(panel.view.tab);
158
+ const disposable = CompositeDisposable.from(tabToAdd.onChanged((event) => {
159
+ var _a;
160
+ const alreadyFocused = panel.id === ((_a = this.group.model.activePanel) === null || _a === void 0 ? void 0 : _a.id) &&
161
+ this.group.model.isContentFocused;
162
+ const isLeftClick = event.event.button === 0;
163
+ if (!isLeftClick || event.event.defaultPrevented) {
164
+ return;
165
+ }
166
+ if (event.kind === MouseEventKind.CLICK) {
167
+ this.group.model.openPanel(panel, {
168
+ skipFocus: alreadyFocused,
169
+ });
170
+ }
171
+ }), tabToAdd.onDrop((event) => {
172
+ this._onDrop.fire({
173
+ event: event.nativeEvent,
174
+ index: this.tabs.findIndex((x) => x.value === tabToAdd),
175
+ });
176
+ }));
177
+ const value = { value: tabToAdd, disposable };
178
+ this.addTab(value, index);
179
+ }
180
+ closePanel(panel) {
181
+ this.delete(panel.id);
182
+ }
183
+ dispose() {
184
+ super.dispose();
185
+ this.tabs.forEach((tab) => {
186
+ tab.disposable.dispose();
187
+ });
188
+ this.tabs = [];
189
+ }
190
+ }
@@ -1,52 +1,52 @@
1
- import { IDockviewComponent } from '../dockview/dockviewComponent';
2
- import { DockviewPanelApi } from '../api/groupPanelApi';
3
- import { PanelInitParameters, IPanel } from '../panel/types';
4
- import { DockviewApi } from '../api/component.api';
5
- import { GroupPanel } from './groupviewPanel';
6
- import { Event } from '../events';
7
- export interface IRenderable {
8
- id: string;
9
- element: HTMLElement;
10
- onDidFocus?: Event<void>;
11
- onDidBlur?: Event<void>;
12
- }
13
- export interface HeaderPartInitParameters {
14
- title: string;
15
- }
16
- export interface GroupPanelPartInitParameters extends PanelInitParameters, HeaderPartInitParameters {
17
- api: DockviewPanelApi;
18
- containerApi: DockviewApi;
19
- }
20
- export interface GroupPanelContentPartInitParameters extends GroupPanelPartInitParameters {
21
- tab: ITabRenderer;
22
- }
23
- export interface IWatermarkRenderer extends IPanel {
24
- readonly element: HTMLElement;
25
- init: (params: GroupPanelPartInitParameters) => void;
26
- updateParentGroup(group: GroupPanel, visible: boolean): void;
27
- }
28
- export interface ITabRenderer extends IPanel {
29
- readonly element: HTMLElement;
30
- init(parameters: GroupPanelPartInitParameters): void;
31
- updateParentGroup(group: GroupPanel, isPanelVisible: boolean): void;
32
- }
33
- export interface IContentRenderer extends IPanel {
34
- readonly element: HTMLElement;
35
- readonly actions?: HTMLElement;
36
- readonly onDidFocus?: Event<void>;
37
- readonly onDidBlur?: Event<void>;
38
- updateParentGroup(group: GroupPanel, isPanelVisible: boolean): void;
39
- init(parameters: GroupPanelContentPartInitParameters): void;
40
- }
41
- export interface WatermarkPartInitParameters {
42
- accessor: IDockviewComponent;
43
- }
44
- export interface PanelHeaderPartConstructor {
45
- new (): ITabRenderer;
46
- }
47
- export interface PanelContentPartConstructor {
48
- new (): IContentRenderer;
49
- }
50
- export interface WatermarkConstructor {
51
- new (): IWatermarkRenderer;
52
- }
1
+ import { IDockviewComponent } from '../dockview/dockviewComponent';
2
+ import { DockviewPanelApi } from '../api/groupPanelApi';
3
+ import { PanelInitParameters, IPanel } from '../panel/types';
4
+ import { DockviewApi } from '../api/component.api';
5
+ import { GroupPanel } from './groupviewPanel';
6
+ import { Event } from '../events';
7
+ export interface IRenderable {
8
+ id: string;
9
+ element: HTMLElement;
10
+ onDidFocus?: Event<void>;
11
+ onDidBlur?: Event<void>;
12
+ }
13
+ export interface HeaderPartInitParameters {
14
+ title: string;
15
+ }
16
+ export interface GroupPanelPartInitParameters extends PanelInitParameters, HeaderPartInitParameters {
17
+ api: DockviewPanelApi;
18
+ containerApi: DockviewApi;
19
+ }
20
+ export interface GroupPanelContentPartInitParameters extends GroupPanelPartInitParameters {
21
+ tab: ITabRenderer;
22
+ }
23
+ export interface IWatermarkRenderer extends IPanel {
24
+ readonly element: HTMLElement;
25
+ init: (params: GroupPanelPartInitParameters) => void;
26
+ updateParentGroup(group: GroupPanel, visible: boolean): void;
27
+ }
28
+ export interface ITabRenderer extends IPanel {
29
+ readonly element: HTMLElement;
30
+ init(parameters: GroupPanelPartInitParameters): void;
31
+ updateParentGroup(group: GroupPanel, isPanelVisible: boolean): void;
32
+ }
33
+ export interface IContentRenderer extends IPanel {
34
+ readonly element: HTMLElement;
35
+ readonly actions?: HTMLElement;
36
+ readonly onDidFocus?: Event<void>;
37
+ readonly onDidBlur?: Event<void>;
38
+ updateParentGroup(group: GroupPanel, isPanelVisible: boolean): void;
39
+ init(parameters: GroupPanelContentPartInitParameters): void;
40
+ }
41
+ export interface WatermarkPartInitParameters {
42
+ accessor: IDockviewComponent;
43
+ }
44
+ export interface PanelHeaderPartConstructor {
45
+ new (): ITabRenderer;
46
+ }
47
+ export interface PanelContentPartConstructor {
48
+ new (): IContentRenderer;
49
+ }
50
+ export interface WatermarkConstructor {
51
+ new (): IWatermarkRenderer;
52
+ }
@@ -1 +1 @@
1
- export {};
1
+ export {};