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,270 +1,270 @@
1
- import { PaneviewApi } from '../api/component.api';
2
- import { createComponent } from '../panel/componentFactory';
3
- import { Emitter } from '../events';
4
- import { CompositeDisposable, MutableDisposable, } from '../lifecycle';
5
- import { Orientation, Sizing, } from '../splitview/core/splitview';
6
- import { Paneview } from './paneview';
7
- import { DraggablePaneviewPanel, } from './draggablePaneviewPanel';
8
- import { DefaultHeader } from './defaultPaneviewHeader';
9
- import { sequentialNumberGenerator } from '../math';
10
- const nextLayoutId = sequentialNumberGenerator();
11
- export class PaneFramework extends DraggablePaneviewPanel {
12
- constructor(options) {
13
- super(options.accessor, options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
14
- this.options = options;
15
- }
16
- getBodyComponent() {
17
- return this.options.body;
18
- }
19
- getHeaderComponent() {
20
- return this.options.header;
21
- }
22
- }
23
- export class PaneviewComponent extends CompositeDisposable {
24
- constructor(element, options) {
25
- super();
26
- this.element = element;
27
- this._id = nextLayoutId.next();
28
- this._disposable = new MutableDisposable();
29
- this._viewDisposables = new Map();
30
- this._onDidLayoutfromJSON = new Emitter();
31
- this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
32
- this._onDidLayoutChange = new Emitter();
33
- this.onDidLayoutChange = this._onDidLayoutChange.event;
34
- this._onDidDrop = new Emitter();
35
- this.onDidDrop = this._onDidDrop.event;
36
- this._onDidAddView = new Emitter();
37
- this.onDidAddView = this._onDidAddView.event;
38
- this._onDidRemoveView = new Emitter();
39
- this.onDidRemoveView = this._onDidRemoveView.event;
40
- this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
41
- this._options = options;
42
- if (!options.components) {
43
- options.components = {};
44
- }
45
- if (!options.frameworkComponents) {
46
- options.frameworkComponents = {};
47
- }
48
- this.paneview = new Paneview(this.element, {
49
- // only allow paneview in the vertical orientation for now
50
- orientation: Orientation.VERTICAL,
51
- });
52
- this.addDisposables(this._disposable);
53
- }
54
- get id() {
55
- return this._id;
56
- }
57
- get panels() {
58
- return this.paneview.getPanes();
59
- }
60
- set paneview(value) {
61
- this._paneview = value;
62
- this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
63
- this._onDidLayoutChange.fire(undefined);
64
- }), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
65
- }
66
- get paneview() {
67
- return this._paneview;
68
- }
69
- get minimumSize() {
70
- return this.paneview.minimumSize;
71
- }
72
- get maximumSize() {
73
- return this.paneview.maximumSize;
74
- }
75
- get height() {
76
- return this.paneview.orientation === Orientation.HORIZONTAL
77
- ? this.paneview.orthogonalSize
78
- : this.paneview.size;
79
- }
80
- get width() {
81
- return this.paneview.orientation === Orientation.HORIZONTAL
82
- ? this.paneview.size
83
- : this.paneview.orthogonalSize;
84
- }
85
- get options() {
86
- return this._options;
87
- }
88
- focus() {
89
- //
90
- }
91
- updateOptions(options) {
92
- this._options = Object.assign(Object.assign({}, this.options), options);
93
- }
94
- addPanel(options) {
95
- const body = createComponent(options.id, options.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkWrapper
96
- ? {
97
- createComponent: this.options.frameworkWrapper.body.createComponent,
98
- }
99
- : undefined);
100
- let header;
101
- if (options.headerComponent) {
102
- header = createComponent(options.id, options.headerComponent, this.options.headerComponents || {}, this.options.headerframeworkComponents, this.options.frameworkWrapper
103
- ? {
104
- createComponent: this.options.frameworkWrapper.header
105
- .createComponent,
106
- }
107
- : undefined);
108
- }
109
- else {
110
- header = new DefaultHeader();
111
- }
112
- const view = new PaneFramework({
113
- id: options.id,
114
- component: options.component,
115
- headerComponent: options.headerComponent,
116
- header,
117
- body,
118
- orientation: Orientation.VERTICAL,
119
- isExpanded: !!options.isExpanded,
120
- disableDnd: !!this.options.disableDnd,
121
- accessor: this,
122
- });
123
- this.doAddPanel(view);
124
- const size = typeof options.size === 'number' ? options.size : Sizing.Distribute;
125
- const index = typeof options.index === 'number' ? options.index : undefined;
126
- view.init({
127
- params: options.params || {},
128
- minimumBodySize: options.minimumBodySize,
129
- maximumBodySize: options.maximumBodySize,
130
- isExpanded: options.isExpanded,
131
- title: options.title,
132
- containerApi: new PaneviewApi(this),
133
- });
134
- this.paneview.addPane(view, size, index);
135
- view.orientation = this.paneview.orientation;
136
- return view;
137
- }
138
- removePanel(panel) {
139
- const views = this.panels;
140
- const index = views.findIndex((_) => _ === panel);
141
- this.paneview.removePane(index);
142
- this.doRemovePanel(panel);
143
- }
144
- movePanel(from, to) {
145
- this.paneview.moveView(from, to);
146
- }
147
- getPanel(id) {
148
- return this.panels.find((view) => view.id === id);
149
- }
150
- layout(width, height) {
151
- const [size, orthogonalSize] = this.paneview.orientation === Orientation.HORIZONTAL
152
- ? [width, height]
153
- : [height, width];
154
- this.paneview.layout(size, orthogonalSize);
155
- }
156
- toJSON() {
157
- const maximum = (value) => value === Number.MAX_SAFE_INTEGER ||
158
- value === Number.POSITIVE_INFINITY
159
- ? undefined
160
- : value;
161
- const minimum = (value) => (value <= 0 ? undefined : value);
162
- const views = this.paneview
163
- .getPanes()
164
- .map((view, i) => {
165
- const size = this.paneview.getViewSize(i);
166
- return {
167
- size,
168
- data: view.toJSON(),
169
- minimumSize: minimum(view.minimumBodySize),
170
- maximumSize: maximum(view.maximumBodySize),
171
- expanded: view.isExpanded(),
172
- };
173
- });
174
- return {
175
- views,
176
- size: this.paneview.size,
177
- };
178
- }
179
- fromJSON(serializedPaneview) {
180
- this.clear();
181
- const { views, size } = serializedPaneview;
182
- const queue = [];
183
- this.paneview = new Paneview(this.element, {
184
- orientation: Orientation.VERTICAL,
185
- descriptor: {
186
- size,
187
- views: views.map((view) => {
188
- const data = view.data;
189
- const body = createComponent(data.id, data.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkWrapper
190
- ? {
191
- createComponent: this.options.frameworkWrapper.body
192
- .createComponent,
193
- }
194
- : undefined);
195
- let header;
196
- if (data.headerComponent) {
197
- header = createComponent(data.id, data.headerComponent, this.options.headerComponents || {}, this.options.headerframeworkComponents || {}, this.options.frameworkWrapper
198
- ? {
199
- createComponent: this.options.frameworkWrapper.header
200
- .createComponent,
201
- }
202
- : undefined);
203
- }
204
- else {
205
- header = new DefaultHeader();
206
- }
207
- const panel = new PaneFramework({
208
- id: data.id,
209
- component: data.component,
210
- headerComponent: data.headerComponent,
211
- header,
212
- body,
213
- orientation: Orientation.VERTICAL,
214
- isExpanded: !!view.expanded,
215
- disableDnd: !!this.options.disableDnd,
216
- accessor: this,
217
- });
218
- this.doAddPanel(panel);
219
- queue.push(() => {
220
- panel.init({
221
- params: data.params || {},
222
- minimumBodySize: view.minimumSize,
223
- maximumBodySize: view.maximumSize,
224
- title: data.title,
225
- isExpanded: !!view.expanded,
226
- containerApi: new PaneviewApi(this),
227
- });
228
- panel.orientation = this.paneview.orientation;
229
- });
230
- setTimeout(() => {
231
- // the original onDidAddView events are missed since they are fired before we can subcribe to them
232
- this._onDidAddView.fire(panel);
233
- }, 0);
234
- return { size: view.size, view: panel };
235
- }),
236
- },
237
- });
238
- this.layout(this.width, this.height);
239
- queue.forEach((f) => f());
240
- this._onDidLayoutfromJSON.fire();
241
- }
242
- clear() {
243
- for (const [_, value] of this._viewDisposables.entries()) {
244
- value.dispose();
245
- }
246
- this._viewDisposables.clear();
247
- this.paneview.dispose();
248
- }
249
- doAddPanel(panel) {
250
- const disposable = panel.onDidDrop((event) => {
251
- this._onDidDrop.fire(event);
252
- });
253
- this._viewDisposables.set(panel.id, disposable);
254
- }
255
- doRemovePanel(panel) {
256
- const disposable = this._viewDisposables.get(panel.id);
257
- if (disposable) {
258
- disposable.dispose();
259
- this._viewDisposables.delete(panel.id);
260
- }
261
- }
262
- dispose() {
263
- super.dispose();
264
- for (const [_, value] of this._viewDisposables.entries()) {
265
- value.dispose();
266
- }
267
- this._viewDisposables.clear();
268
- this.paneview.dispose();
269
- }
270
- }
1
+ import { PaneviewApi } from '../api/component.api';
2
+ import { createComponent } from '../panel/componentFactory';
3
+ import { Emitter } from '../events';
4
+ import { CompositeDisposable, MutableDisposable, } from '../lifecycle';
5
+ import { Orientation, Sizing, } from '../splitview/core/splitview';
6
+ import { Paneview } from './paneview';
7
+ import { DraggablePaneviewPanel, } from './draggablePaneviewPanel';
8
+ import { DefaultHeader } from './defaultPaneviewHeader';
9
+ import { sequentialNumberGenerator } from '../math';
10
+ const nextLayoutId = sequentialNumberGenerator();
11
+ export class PaneFramework extends DraggablePaneviewPanel {
12
+ constructor(options) {
13
+ super(options.accessor, options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
14
+ this.options = options;
15
+ }
16
+ getBodyComponent() {
17
+ return this.options.body;
18
+ }
19
+ getHeaderComponent() {
20
+ return this.options.header;
21
+ }
22
+ }
23
+ export class PaneviewComponent extends CompositeDisposable {
24
+ constructor(element, options) {
25
+ super();
26
+ this.element = element;
27
+ this._id = nextLayoutId.next();
28
+ this._disposable = new MutableDisposable();
29
+ this._viewDisposables = new Map();
30
+ this._onDidLayoutfromJSON = new Emitter();
31
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
32
+ this._onDidLayoutChange = new Emitter();
33
+ this.onDidLayoutChange = this._onDidLayoutChange.event;
34
+ this._onDidDrop = new Emitter();
35
+ this.onDidDrop = this._onDidDrop.event;
36
+ this._onDidAddView = new Emitter();
37
+ this.onDidAddView = this._onDidAddView.event;
38
+ this._onDidRemoveView = new Emitter();
39
+ this.onDidRemoveView = this._onDidRemoveView.event;
40
+ this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
41
+ this._options = options;
42
+ if (!options.components) {
43
+ options.components = {};
44
+ }
45
+ if (!options.frameworkComponents) {
46
+ options.frameworkComponents = {};
47
+ }
48
+ this.paneview = new Paneview(this.element, {
49
+ // only allow paneview in the vertical orientation for now
50
+ orientation: Orientation.VERTICAL,
51
+ });
52
+ this.addDisposables(this._disposable);
53
+ }
54
+ get id() {
55
+ return this._id;
56
+ }
57
+ get panels() {
58
+ return this.paneview.getPanes();
59
+ }
60
+ set paneview(value) {
61
+ this._paneview = value;
62
+ this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
63
+ this._onDidLayoutChange.fire(undefined);
64
+ }), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
65
+ }
66
+ get paneview() {
67
+ return this._paneview;
68
+ }
69
+ get minimumSize() {
70
+ return this.paneview.minimumSize;
71
+ }
72
+ get maximumSize() {
73
+ return this.paneview.maximumSize;
74
+ }
75
+ get height() {
76
+ return this.paneview.orientation === Orientation.HORIZONTAL
77
+ ? this.paneview.orthogonalSize
78
+ : this.paneview.size;
79
+ }
80
+ get width() {
81
+ return this.paneview.orientation === Orientation.HORIZONTAL
82
+ ? this.paneview.size
83
+ : this.paneview.orthogonalSize;
84
+ }
85
+ get options() {
86
+ return this._options;
87
+ }
88
+ focus() {
89
+ //
90
+ }
91
+ updateOptions(options) {
92
+ this._options = Object.assign(Object.assign({}, this.options), options);
93
+ }
94
+ addPanel(options) {
95
+ const body = createComponent(options.id, options.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkWrapper
96
+ ? {
97
+ createComponent: this.options.frameworkWrapper.body.createComponent,
98
+ }
99
+ : undefined);
100
+ let header;
101
+ if (options.headerComponent) {
102
+ header = createComponent(options.id, options.headerComponent, this.options.headerComponents || {}, this.options.headerframeworkComponents, this.options.frameworkWrapper
103
+ ? {
104
+ createComponent: this.options.frameworkWrapper.header
105
+ .createComponent,
106
+ }
107
+ : undefined);
108
+ }
109
+ else {
110
+ header = new DefaultHeader();
111
+ }
112
+ const view = new PaneFramework({
113
+ id: options.id,
114
+ component: options.component,
115
+ headerComponent: options.headerComponent,
116
+ header,
117
+ body,
118
+ orientation: Orientation.VERTICAL,
119
+ isExpanded: !!options.isExpanded,
120
+ disableDnd: !!this.options.disableDnd,
121
+ accessor: this,
122
+ });
123
+ this.doAddPanel(view);
124
+ const size = typeof options.size === 'number' ? options.size : Sizing.Distribute;
125
+ const index = typeof options.index === 'number' ? options.index : undefined;
126
+ view.init({
127
+ params: options.params || {},
128
+ minimumBodySize: options.minimumBodySize,
129
+ maximumBodySize: options.maximumBodySize,
130
+ isExpanded: options.isExpanded,
131
+ title: options.title,
132
+ containerApi: new PaneviewApi(this),
133
+ });
134
+ this.paneview.addPane(view, size, index);
135
+ view.orientation = this.paneview.orientation;
136
+ return view;
137
+ }
138
+ removePanel(panel) {
139
+ const views = this.panels;
140
+ const index = views.findIndex((_) => _ === panel);
141
+ this.paneview.removePane(index);
142
+ this.doRemovePanel(panel);
143
+ }
144
+ movePanel(from, to) {
145
+ this.paneview.moveView(from, to);
146
+ }
147
+ getPanel(id) {
148
+ return this.panels.find((view) => view.id === id);
149
+ }
150
+ layout(width, height) {
151
+ const [size, orthogonalSize] = this.paneview.orientation === Orientation.HORIZONTAL
152
+ ? [width, height]
153
+ : [height, width];
154
+ this.paneview.layout(size, orthogonalSize);
155
+ }
156
+ toJSON() {
157
+ const maximum = (value) => value === Number.MAX_SAFE_INTEGER ||
158
+ value === Number.POSITIVE_INFINITY
159
+ ? undefined
160
+ : value;
161
+ const minimum = (value) => (value <= 0 ? undefined : value);
162
+ const views = this.paneview
163
+ .getPanes()
164
+ .map((view, i) => {
165
+ const size = this.paneview.getViewSize(i);
166
+ return {
167
+ size,
168
+ data: view.toJSON(),
169
+ minimumSize: minimum(view.minimumBodySize),
170
+ maximumSize: maximum(view.maximumBodySize),
171
+ expanded: view.isExpanded(),
172
+ };
173
+ });
174
+ return {
175
+ views,
176
+ size: this.paneview.size,
177
+ };
178
+ }
179
+ fromJSON(serializedPaneview) {
180
+ this.clear();
181
+ const { views, size } = serializedPaneview;
182
+ const queue = [];
183
+ this.paneview = new Paneview(this.element, {
184
+ orientation: Orientation.VERTICAL,
185
+ descriptor: {
186
+ size,
187
+ views: views.map((view) => {
188
+ const data = view.data;
189
+ const body = createComponent(data.id, data.component, this.options.components || {}, this.options.frameworkComponents || {}, this.options.frameworkWrapper
190
+ ? {
191
+ createComponent: this.options.frameworkWrapper.body
192
+ .createComponent,
193
+ }
194
+ : undefined);
195
+ let header;
196
+ if (data.headerComponent) {
197
+ header = createComponent(data.id, data.headerComponent, this.options.headerComponents || {}, this.options.headerframeworkComponents || {}, this.options.frameworkWrapper
198
+ ? {
199
+ createComponent: this.options.frameworkWrapper.header
200
+ .createComponent,
201
+ }
202
+ : undefined);
203
+ }
204
+ else {
205
+ header = new DefaultHeader();
206
+ }
207
+ const panel = new PaneFramework({
208
+ id: data.id,
209
+ component: data.component,
210
+ headerComponent: data.headerComponent,
211
+ header,
212
+ body,
213
+ orientation: Orientation.VERTICAL,
214
+ isExpanded: !!view.expanded,
215
+ disableDnd: !!this.options.disableDnd,
216
+ accessor: this,
217
+ });
218
+ this.doAddPanel(panel);
219
+ queue.push(() => {
220
+ panel.init({
221
+ params: data.params || {},
222
+ minimumBodySize: view.minimumSize,
223
+ maximumBodySize: view.maximumSize,
224
+ title: data.title,
225
+ isExpanded: !!view.expanded,
226
+ containerApi: new PaneviewApi(this),
227
+ });
228
+ panel.orientation = this.paneview.orientation;
229
+ });
230
+ setTimeout(() => {
231
+ // the original onDidAddView events are missed since they are fired before we can subcribe to them
232
+ this._onDidAddView.fire(panel);
233
+ }, 0);
234
+ return { size: view.size, view: panel };
235
+ }),
236
+ },
237
+ });
238
+ this.layout(this.width, this.height);
239
+ queue.forEach((f) => f());
240
+ this._onDidLayoutfromJSON.fire();
241
+ }
242
+ clear() {
243
+ for (const [_, value] of this._viewDisposables.entries()) {
244
+ value.dispose();
245
+ }
246
+ this._viewDisposables.clear();
247
+ this.paneview.dispose();
248
+ }
249
+ doAddPanel(panel) {
250
+ const disposable = panel.onDidDrop((event) => {
251
+ this._onDidDrop.fire(event);
252
+ });
253
+ this._viewDisposables.set(panel.id, disposable);
254
+ }
255
+ doRemovePanel(panel) {
256
+ const disposable = this._viewDisposables.get(panel.id);
257
+ if (disposable) {
258
+ disposable.dispose();
259
+ this._viewDisposables.delete(panel.id);
260
+ }
261
+ }
262
+ dispose() {
263
+ super.dispose();
264
+ for (const [_, value] of this._viewDisposables.entries()) {
265
+ value.dispose();
266
+ }
267
+ this._viewDisposables.clear();
268
+ this.paneview.dispose();
269
+ }
270
+ }