dockview-core 1.6.0

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 (294) hide show
  1. package/README.md +52 -0
  2. package/dist/cjs/api/component.api.d.ts +145 -0
  3. package/dist/cjs/api/component.api.js +579 -0
  4. package/dist/cjs/api/component.api.js.map +1 -0
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +34 -0
  6. package/dist/cjs/api/dockviewPanelApi.js +84 -0
  7. package/dist/cjs/api/dockviewPanelApi.js.map +1 -0
  8. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -0
  9. package/dist/cjs/api/gridviewPanelApi.js +48 -0
  10. package/dist/cjs/api/gridviewPanelApi.js.map +1 -0
  11. package/dist/cjs/api/panelApi.d.ts +88 -0
  12. package/dist/cjs/api/panelApi.js +138 -0
  13. package/dist/cjs/api/panelApi.js.map +1 -0
  14. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -0
  15. package/dist/cjs/api/paneviewPanelApi.js +58 -0
  16. package/dist/cjs/api/paneviewPanelApi.js.map +1 -0
  17. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -0
  18. package/dist/cjs/api/splitviewPanelApi.js +48 -0
  19. package/dist/cjs/api/splitviewPanelApi.js.map +1 -0
  20. package/dist/cjs/array.d.ts +12 -0
  21. package/dist/cjs/array.js +59 -0
  22. package/dist/cjs/array.js.map +1 -0
  23. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -0
  24. package/dist/cjs/dnd/abstractDragHandler.js +126 -0
  25. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -0
  26. package/dist/cjs/dnd/dataTransfer.d.ts +31 -0
  27. package/dist/cjs/dnd/dataTransfer.js +101 -0
  28. package/dist/cjs/dnd/dataTransfer.js.map +1 -0
  29. package/dist/cjs/dnd/dnd.d.ts +27 -0
  30. package/dist/cjs/dnd/dnd.js +60 -0
  31. package/dist/cjs/dnd/dnd.js.map +1 -0
  32. package/dist/cjs/dnd/droptarget.d.ts +42 -0
  33. package/dist/cjs/dnd/droptarget.js +281 -0
  34. package/dist/cjs/dnd/droptarget.js.map +1 -0
  35. package/dist/cjs/dnd/ghost.d.ts +1 -0
  36. package/dist/cjs/dnd/ghost.js +16 -0
  37. package/dist/cjs/dnd/ghost.js.map +1 -0
  38. package/dist/cjs/dnd/groupDragHandler.d.ts +11 -0
  39. package/dist/cjs/dnd/groupDragHandler.js +62 -0
  40. package/dist/cjs/dnd/groupDragHandler.js.map +1 -0
  41. package/dist/cjs/dockview/components/panel/content.d.ts +30 -0
  42. package/dist/cjs/dockview/components/panel/content.js +101 -0
  43. package/dist/cjs/dockview/components/panel/content.js.map +1 -0
  44. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +21 -0
  45. package/dist/cjs/dockview/components/tab/defaultTab.js +106 -0
  46. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -0
  47. package/dist/cjs/dockview/components/tab/tab.d.ts +31 -0
  48. package/dist/cjs/dockview/components/tab/tab.js +125 -0
  49. package/dist/cjs/dockview/components/tab/tab.js.map +1 -0
  50. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +63 -0
  51. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +248 -0
  52. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -0
  53. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +15 -0
  54. package/dist/cjs/dockview/components/titlebar/voidContainer.js +74 -0
  55. package/dist/cjs/dockview/components/titlebar/voidContainer.js.map +1 -0
  56. package/dist/cjs/dockview/components/watermark/watermark.d.ts +18 -0
  57. package/dist/cjs/dockview/components/watermark/watermark.js +87 -0
  58. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -0
  59. package/dist/cjs/dockview/deserializer.d.ts +12 -0
  60. package/dist/cjs/dockview/deserializer.js +46 -0
  61. package/dist/cjs/dockview/deserializer.js.map +1 -0
  62. package/dist/cjs/dockview/dockviewComponent.d.ts +126 -0
  63. package/dist/cjs/dockview/dockviewComponent.js +772 -0
  64. package/dist/cjs/dockview/dockviewComponent.js.map +1 -0
  65. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -0
  66. package/dist/cjs/dockview/dockviewGroupPanel.js +97 -0
  67. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -0
  68. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +176 -0
  69. package/dist/cjs/dockview/dockviewGroupPanelModel.js +579 -0
  70. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -0
  71. package/dist/cjs/dockview/dockviewPanel.d.ts +40 -0
  72. package/dist/cjs/dockview/dockviewPanel.js +150 -0
  73. package/dist/cjs/dockview/dockviewPanel.js.map +1 -0
  74. package/dist/cjs/dockview/dockviewPanelModel.d.ts +34 -0
  75. package/dist/cjs/dockview/dockviewPanelModel.js +93 -0
  76. package/dist/cjs/dockview/dockviewPanelModel.js.map +1 -0
  77. package/dist/cjs/dockview/options.d.ts +116 -0
  78. package/dist/cjs/dockview/options.js +32 -0
  79. package/dist/cjs/dockview/options.js.map +1 -0
  80. package/dist/cjs/dockview/types.d.ts +67 -0
  81. package/dist/cjs/dockview/types.js +11 -0
  82. package/dist/cjs/dockview/types.js.map +1 -0
  83. package/dist/cjs/dom.d.ts +14 -0
  84. package/dist/cjs/dom.js +183 -0
  85. package/dist/cjs/dom.js.map +1 -0
  86. package/dist/cjs/events.d.ts +30 -0
  87. package/dist/cjs/events.js +130 -0
  88. package/dist/cjs/events.js.map +1 -0
  89. package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -0
  90. package/dist/cjs/gridview/baseComponentGridview.js +280 -0
  91. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -0
  92. package/dist/cjs/gridview/basePanelView.d.ts +40 -0
  93. package/dist/cjs/gridview/basePanelView.js +124 -0
  94. package/dist/cjs/gridview/basePanelView.js.map +1 -0
  95. package/dist/cjs/gridview/branchNode.d.ts +49 -0
  96. package/dist/cjs/gridview/branchNode.js +343 -0
  97. package/dist/cjs/gridview/branchNode.js.map +1 -0
  98. package/dist/cjs/gridview/gridview.d.ts +133 -0
  99. package/dist/cjs/gridview/gridview.js +511 -0
  100. package/dist/cjs/gridview/gridview.js.map +1 -0
  101. package/dist/cjs/gridview/gridviewComponent.d.ts +80 -0
  102. package/dist/cjs/gridview/gridviewComponent.js +325 -0
  103. package/dist/cjs/gridview/gridviewComponent.js.map +1 -0
  104. package/dist/cjs/gridview/gridviewPanel.d.ts +65 -0
  105. package/dist/cjs/gridview/gridviewPanel.js +215 -0
  106. package/dist/cjs/gridview/gridviewPanel.js.map +1 -0
  107. package/dist/cjs/gridview/leafNode.d.ts +34 -0
  108. package/dist/cjs/gridview/leafNode.js +171 -0
  109. package/dist/cjs/gridview/leafNode.js.map +1 -0
  110. package/dist/cjs/gridview/options.d.ts +18 -0
  111. package/dist/cjs/gridview/options.js +3 -0
  112. package/dist/cjs/gridview/options.js.map +1 -0
  113. package/dist/cjs/gridview/types.d.ts +3 -0
  114. package/dist/cjs/gridview/types.js +3 -0
  115. package/dist/cjs/gridview/types.js.map +1 -0
  116. package/dist/cjs/index.d.ts +41 -0
  117. package/dist/cjs/index.js +64 -0
  118. package/dist/cjs/index.js.map +1 -0
  119. package/dist/cjs/lifecycle.d.ts +22 -0
  120. package/dist/cjs/lifecycle.js +89 -0
  121. package/dist/cjs/lifecycle.js.map +1 -0
  122. package/dist/cjs/math.d.ts +5 -0
  123. package/dist/cjs/math.js +35 -0
  124. package/dist/cjs/math.js.map +1 -0
  125. package/dist/cjs/panel/componentFactory.d.ts +10 -0
  126. package/dist/cjs/panel/componentFactory.js +31 -0
  127. package/dist/cjs/panel/componentFactory.js.map +1 -0
  128. package/dist/cjs/panel/types.d.ts +33 -0
  129. package/dist/cjs/panel/types.js +3 -0
  130. package/dist/cjs/panel/types.js.map +1 -0
  131. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -0
  132. package/dist/cjs/paneview/defaultPaneviewHeader.js +91 -0
  133. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -0
  134. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +21 -0
  135. package/dist/cjs/paneview/draggablePaneviewPanel.js +132 -0
  136. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -0
  137. package/dist/cjs/paneview/options.d.ts +27 -0
  138. package/dist/cjs/paneview/options.js +3 -0
  139. package/dist/cjs/paneview/options.js.map +1 -0
  140. package/dist/cjs/paneview/paneview.d.ts +40 -0
  141. package/dist/cjs/paneview/paneview.js +202 -0
  142. package/dist/cjs/paneview/paneview.js.map +1 -0
  143. package/dist/cjs/paneview/paneviewComponent.d.ts +129 -0
  144. package/dist/cjs/paneview/paneviewComponent.js +395 -0
  145. package/dist/cjs/paneview/paneviewComponent.js.map +1 -0
  146. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -0
  147. package/dist/cjs/paneview/paneviewPanel.js +276 -0
  148. package/dist/cjs/paneview/paneviewPanel.js.map +1 -0
  149. package/dist/cjs/splitview/options.d.ts +26 -0
  150. package/dist/cjs/splitview/options.js +3 -0
  151. package/dist/cjs/splitview/options.js.map +1 -0
  152. package/dist/cjs/splitview/splitview.d.ts +127 -0
  153. package/dist/cjs/splitview/splitview.js +909 -0
  154. package/dist/cjs/splitview/splitview.js.map +1 -0
  155. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -0
  156. package/dist/cjs/splitview/splitviewComponent.js +374 -0
  157. package/dist/cjs/splitview/splitviewComponent.js.map +1 -0
  158. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -0
  159. package/dist/cjs/splitview/splitviewPanel.js +180 -0
  160. package/dist/cjs/splitview/splitviewPanel.js.map +1 -0
  161. package/dist/cjs/splitview/viewItem.d.ts +25 -0
  162. package/dist/cjs/splitview/viewItem.js +120 -0
  163. package/dist/cjs/splitview/viewItem.js.map +1 -0
  164. package/dist/cjs/svg.d.ts +3 -0
  165. package/dist/cjs/svg.js +44 -0
  166. package/dist/cjs/svg.js.map +1 -0
  167. package/dist/cjs/types.d.ts +2 -0
  168. package/dist/cjs/types.js +3 -0
  169. package/dist/cjs/types.js.map +1 -0
  170. package/dist/dockview-core.amd.js +6492 -0
  171. package/dist/dockview-core.amd.min.js +7 -0
  172. package/dist/dockview-core.amd.min.noStyle.js +7 -0
  173. package/dist/dockview-core.amd.noStyle.js +6462 -0
  174. package/dist/dockview-core.cjs.js +6490 -0
  175. package/dist/dockview-core.esm.js +6441 -0
  176. package/dist/dockview-core.esm.min.js +7 -0
  177. package/dist/dockview-core.js +6496 -0
  178. package/dist/dockview-core.min.js +7 -0
  179. package/dist/dockview-core.min.noStyle.js +7 -0
  180. package/dist/dockview-core.noStyle.js +6466 -0
  181. package/dist/esm/api/component.api.d.ts +145 -0
  182. package/dist/esm/api/component.api.js +329 -0
  183. package/dist/esm/api/dockviewPanelApi.d.ts +34 -0
  184. package/dist/esm/api/dockviewPanelApi.js +48 -0
  185. package/dist/esm/api/gridviewPanelApi.d.ts +37 -0
  186. package/dist/esm/api/gridviewPanelApi.js +25 -0
  187. package/dist/esm/api/panelApi.d.ts +88 -0
  188. package/dist/esm/api/panelApi.js +95 -0
  189. package/dist/esm/api/paneviewPanelApi.d.ts +26 -0
  190. package/dist/esm/api/paneviewPanelApi.js +27 -0
  191. package/dist/esm/api/splitviewPanelApi.d.ts +32 -0
  192. package/dist/esm/api/splitviewPanelApi.js +25 -0
  193. package/dist/esm/array.d.ts +12 -0
  194. package/dist/esm/array.js +49 -0
  195. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -0
  196. package/dist/esm/dnd/abstractDragHandler.js +47 -0
  197. package/dist/esm/dnd/dataTransfer.d.ts +31 -0
  198. package/dist/esm/dnd/dataTransfer.js +69 -0
  199. package/dist/esm/dnd/dnd.d.ts +27 -0
  200. package/dist/esm/dnd/dnd.js +36 -0
  201. package/dist/esm/dnd/droptarget.d.ts +42 -0
  202. package/dist/esm/dnd/droptarget.js +250 -0
  203. package/dist/esm/dnd/ghost.d.ts +1 -0
  204. package/dist/esm/dnd/ghost.js +11 -0
  205. package/dist/esm/dnd/groupDragHandler.d.ts +11 -0
  206. package/dist/esm/dnd/groupDragHandler.js +38 -0
  207. package/dist/esm/dockview/components/panel/content.d.ts +30 -0
  208. package/dist/esm/dockview/components/panel/content.js +73 -0
  209. package/dist/esm/dockview/components/tab/defaultTab.d.ts +21 -0
  210. package/dist/esm/dockview/components/tab/defaultTab.js +67 -0
  211. package/dist/esm/dockview/components/tab/tab.d.ts +31 -0
  212. package/dist/esm/dockview/components/tab/tab.js +94 -0
  213. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +63 -0
  214. package/dist/esm/dockview/components/titlebar/tabsContainer.js +179 -0
  215. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +15 -0
  216. package/dist/esm/dockview/components/titlebar/voidContainer.js +47 -0
  217. package/dist/esm/dockview/components/watermark/watermark.d.ts +18 -0
  218. package/dist/esm/dockview/components/watermark/watermark.js +60 -0
  219. package/dist/esm/dockview/deserializer.d.ts +12 -0
  220. package/dist/esm/dockview/deserializer.js +40 -0
  221. package/dist/esm/dockview/dockviewComponent.d.ts +126 -0
  222. package/dist/esm/dockview/dockviewComponent.js +612 -0
  223. package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -0
  224. package/dist/esm/dockview/dockviewGroupPanel.js +50 -0
  225. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +176 -0
  226. package/dist/esm/dockview/dockviewGroupPanelModel.js +449 -0
  227. package/dist/esm/dockview/dockviewPanel.d.ts +40 -0
  228. package/dist/esm/dockview/dockviewPanel.js +104 -0
  229. package/dist/esm/dockview/dockviewPanelModel.d.ts +34 -0
  230. package/dist/esm/dockview/dockviewPanelModel.js +68 -0
  231. package/dist/esm/dockview/options.d.ts +116 -0
  232. package/dist/esm/dockview/options.js +24 -0
  233. package/dist/esm/dockview/types.d.ts +67 -0
  234. package/dist/esm/dockview/types.js +7 -0
  235. package/dist/esm/dom.d.ts +14 -0
  236. package/dist/esm/dom.js +113 -0
  237. package/dist/esm/events.d.ts +30 -0
  238. package/dist/esm/events.js +88 -0
  239. package/dist/esm/gridview/baseComponentGridview.d.ts +87 -0
  240. package/dist/esm/gridview/baseComponentGridview.js +189 -0
  241. package/dist/esm/gridview/basePanelView.d.ts +40 -0
  242. package/dist/esm/gridview/basePanelView.js +74 -0
  243. package/dist/esm/gridview/branchNode.d.ts +49 -0
  244. package/dist/esm/gridview/branchNode.js +218 -0
  245. package/dist/esm/gridview/gridview.d.ts +133 -0
  246. package/dist/esm/gridview/gridview.js +423 -0
  247. package/dist/esm/gridview/gridviewComponent.d.ts +80 -0
  248. package/dist/esm/gridview/gridviewComponent.js +237 -0
  249. package/dist/esm/gridview/gridviewPanel.d.ts +65 -0
  250. package/dist/esm/gridview/gridviewPanel.js +151 -0
  251. package/dist/esm/gridview/leafNode.d.ts +34 -0
  252. package/dist/esm/gridview/leafNode.js +103 -0
  253. package/dist/esm/gridview/options.d.ts +18 -0
  254. package/dist/esm/gridview/options.js +1 -0
  255. package/dist/esm/gridview/types.d.ts +3 -0
  256. package/dist/esm/gridview/types.js +1 -0
  257. package/dist/esm/index.d.ts +41 -0
  258. package/dist/esm/index.js +35 -0
  259. package/dist/esm/lifecycle.d.ts +22 -0
  260. package/dist/esm/lifecycle.js +39 -0
  261. package/dist/esm/math.d.ts +5 -0
  262. package/dist/esm/math.js +28 -0
  263. package/dist/esm/panel/componentFactory.d.ts +10 -0
  264. package/dist/esm/panel/componentFactory.js +24 -0
  265. package/dist/esm/panel/types.d.ts +33 -0
  266. package/dist/esm/panel/types.js +1 -0
  267. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -0
  268. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -0
  269. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +21 -0
  270. package/dist/esm/paneview/draggablePaneviewPanel.js +92 -0
  271. package/dist/esm/paneview/options.d.ts +27 -0
  272. package/dist/esm/paneview/options.js +1 -0
  273. package/dist/esm/paneview/paneview.d.ts +40 -0
  274. package/dist/esm/paneview/paneview.js +145 -0
  275. package/dist/esm/paneview/paneviewComponent.d.ts +129 -0
  276. package/dist/esm/paneview/paneviewComponent.js +270 -0
  277. package/dist/esm/paneview/paneviewPanel.d.ts +92 -0
  278. package/dist/esm/paneview/paneviewPanel.js +192 -0
  279. package/dist/esm/splitview/options.d.ts +26 -0
  280. package/dist/esm/splitview/options.js +1 -0
  281. package/dist/esm/splitview/splitview.d.ts +127 -0
  282. package/dist/esm/splitview/splitview.js +689 -0
  283. package/dist/esm/splitview/splitviewComponent.d.ts +101 -0
  284. package/dist/esm/splitview/splitviewComponent.js +249 -0
  285. package/dist/esm/splitview/splitviewPanel.d.ts +45 -0
  286. package/dist/esm/splitview/splitviewPanel.js +108 -0
  287. package/dist/esm/splitview/viewItem.d.ts +25 -0
  288. package/dist/esm/splitview/viewItem.js +74 -0
  289. package/dist/esm/svg.d.ts +3 -0
  290. package/dist/esm/svg.js +31 -0
  291. package/dist/esm/types.d.ts +2 -0
  292. package/dist/esm/types.js +1 -0
  293. package/dist/styles/dockview.css +615 -0
  294. package/package.json +68 -0
@@ -0,0 +1,129 @@
1
+ import { Event } from '../events';
2
+ import { CompositeDisposable, IDisposable } from '../lifecycle';
3
+ import { LayoutPriority, Orientation } from '../splitview/splitview';
4
+ import { PaneviewComponentOptions } from './options';
5
+ import { Paneview } from './paneview';
6
+ import { IPaneBodyPart, IPaneHeaderPart, PaneviewPanel, IPaneviewPanel } from './paneviewPanel';
7
+ import { DraggablePaneviewPanel, PaneviewDropEvent } from './draggablePaneviewPanel';
8
+ import { PaneTransfer } from '../dnd/dataTransfer';
9
+ export interface PaneviewDndOverlayEvent {
10
+ nativeEvent: DragEvent;
11
+ panel: IPaneviewPanel;
12
+ getData: () => PaneTransfer | undefined;
13
+ }
14
+ export interface SerializedPaneviewPanel {
15
+ snap?: boolean;
16
+ priority?: LayoutPriority;
17
+ minimumSize?: number;
18
+ maximumSize?: number;
19
+ data: {
20
+ id: string;
21
+ component: string;
22
+ title: string;
23
+ headerComponent?: string;
24
+ params?: {
25
+ [index: string]: any;
26
+ };
27
+ };
28
+ size: number;
29
+ expanded?: boolean;
30
+ }
31
+ export interface SerializedPaneview {
32
+ size: number;
33
+ views: SerializedPaneviewPanel[];
34
+ }
35
+ export declare class PaneFramework extends DraggablePaneviewPanel {
36
+ private readonly options;
37
+ constructor(options: {
38
+ id: string;
39
+ component: string;
40
+ headerComponent: string | undefined;
41
+ body: IPaneBodyPart;
42
+ header: IPaneHeaderPart;
43
+ orientation: Orientation;
44
+ isExpanded: boolean;
45
+ disableDnd: boolean;
46
+ accessor: IPaneviewComponent;
47
+ });
48
+ getBodyComponent(): IPaneBodyPart;
49
+ getHeaderComponent(): IPaneHeaderPart;
50
+ }
51
+ export interface AddPaneviewComponentOptions {
52
+ id: string;
53
+ component: string;
54
+ headerComponent?: string;
55
+ params?: {
56
+ [key: string]: any;
57
+ };
58
+ minimumBodySize?: number;
59
+ maximumBodySize?: number;
60
+ isExpanded?: boolean;
61
+ title: string;
62
+ index?: number;
63
+ size?: number;
64
+ }
65
+ export interface IPaneviewComponent extends IDisposable {
66
+ readonly id: string;
67
+ readonly width: number;
68
+ readonly height: number;
69
+ readonly minimumSize: number;
70
+ readonly maximumSize: number;
71
+ readonly panels: IPaneviewPanel[];
72
+ readonly options: PaneviewComponentOptions;
73
+ readonly onDidAddView: Event<PaneviewPanel>;
74
+ readonly onDidRemoveView: Event<PaneviewPanel>;
75
+ readonly onDidDrop: Event<PaneviewDropEvent>;
76
+ readonly onDidLayoutChange: Event<void>;
77
+ readonly onDidLayoutFromJSON: Event<void>;
78
+ addPanel(options: AddPaneviewComponentOptions): IPaneviewPanel;
79
+ layout(width: number, height: number): void;
80
+ toJSON(): SerializedPaneview;
81
+ fromJSON(serializedPaneview: SerializedPaneview): void;
82
+ focus(): void;
83
+ removePanel(panel: IPaneviewPanel): void;
84
+ getPanel(id: string): IPaneviewPanel | undefined;
85
+ movePanel(from: number, to: number): void;
86
+ updateOptions(options: Partial<PaneviewComponentOptions>): void;
87
+ clear(): void;
88
+ }
89
+ export declare class PaneviewComponent extends CompositeDisposable implements IPaneviewComponent {
90
+ private element;
91
+ private readonly _id;
92
+ private _options;
93
+ private _disposable;
94
+ private _viewDisposables;
95
+ private _paneview;
96
+ private readonly _onDidLayoutfromJSON;
97
+ readonly onDidLayoutFromJSON: Event<void>;
98
+ private readonly _onDidLayoutChange;
99
+ readonly onDidLayoutChange: Event<void>;
100
+ private readonly _onDidDrop;
101
+ readonly onDidDrop: Event<PaneviewDropEvent>;
102
+ private readonly _onDidAddView;
103
+ readonly onDidAddView: Event<PaneviewPanel>;
104
+ private readonly _onDidRemoveView;
105
+ readonly onDidRemoveView: Event<PaneviewPanel>;
106
+ get id(): string;
107
+ get panels(): PaneviewPanel[];
108
+ set paneview(value: Paneview);
109
+ get paneview(): Paneview;
110
+ get minimumSize(): number;
111
+ get maximumSize(): number;
112
+ get height(): number;
113
+ get width(): number;
114
+ get options(): PaneviewComponentOptions;
115
+ constructor(element: HTMLElement, options: PaneviewComponentOptions);
116
+ focus(): void;
117
+ updateOptions(options: Partial<PaneviewComponentOptions>): void;
118
+ addPanel(options: AddPaneviewComponentOptions): IPaneviewPanel;
119
+ removePanel(panel: PaneviewPanel): void;
120
+ movePanel(from: number, to: number): void;
121
+ getPanel(id: string): PaneviewPanel | undefined;
122
+ layout(width: number, height: number): void;
123
+ toJSON(): SerializedPaneview;
124
+ fromJSON(serializedPaneview: SerializedPaneview): void;
125
+ clear(): void;
126
+ private doAddPanel;
127
+ private doRemovePanel;
128
+ dispose(): void;
129
+ }
@@ -0,0 +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/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
+ get id() {
25
+ return this._id;
26
+ }
27
+ get panels() {
28
+ return this.paneview.getPanes();
29
+ }
30
+ set paneview(value) {
31
+ this._paneview = value;
32
+ this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
33
+ this._onDidLayoutChange.fire(undefined);
34
+ }), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
35
+ }
36
+ get paneview() {
37
+ return this._paneview;
38
+ }
39
+ get minimumSize() {
40
+ return this.paneview.minimumSize;
41
+ }
42
+ get maximumSize() {
43
+ return this.paneview.maximumSize;
44
+ }
45
+ get height() {
46
+ return this.paneview.orientation === Orientation.HORIZONTAL
47
+ ? this.paneview.orthogonalSize
48
+ : this.paneview.size;
49
+ }
50
+ get width() {
51
+ return this.paneview.orientation === Orientation.HORIZONTAL
52
+ ? this.paneview.size
53
+ : this.paneview.orthogonalSize;
54
+ }
55
+ get options() {
56
+ return this._options;
57
+ }
58
+ constructor(element, options) {
59
+ super();
60
+ this.element = element;
61
+ this._id = nextLayoutId.next();
62
+ this._disposable = new MutableDisposable();
63
+ this._viewDisposables = new Map();
64
+ this._onDidLayoutfromJSON = new Emitter();
65
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
66
+ this._onDidLayoutChange = new Emitter();
67
+ this.onDidLayoutChange = this._onDidLayoutChange.event;
68
+ this._onDidDrop = new Emitter();
69
+ this.onDidDrop = this._onDidDrop.event;
70
+ this._onDidAddView = new Emitter();
71
+ this.onDidAddView = this._onDidAddView.event;
72
+ this._onDidRemoveView = new Emitter();
73
+ this.onDidRemoveView = this._onDidRemoveView.event;
74
+ this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
75
+ this._options = options;
76
+ if (!options.components) {
77
+ options.components = {};
78
+ }
79
+ if (!options.frameworkComponents) {
80
+ options.frameworkComponents = {};
81
+ }
82
+ this.paneview = new Paneview(this.element, {
83
+ // only allow paneview in the vertical orientation for now
84
+ orientation: Orientation.VERTICAL,
85
+ });
86
+ this.addDisposables(this._disposable);
87
+ }
88
+ focus() {
89
+ //noop
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
+ }
@@ -0,0 +1,92 @@
1
+ import { PaneviewApi } from '../api/component.api';
2
+ import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
3
+ import { Event } from '../events';
4
+ import { BasePanelView, BasePanelViewExported, BasePanelViewState } from '../gridview/basePanelView';
5
+ import { IDisposable } from '../lifecycle';
6
+ import { IFrameworkPart, PanelInitParameters, PanelUpdateEvent } from '../panel/types';
7
+ import { IView, Orientation } from '../splitview/splitview';
8
+ export interface PanePanelViewState extends BasePanelViewState {
9
+ headerComponent?: string;
10
+ title: string;
11
+ }
12
+ export interface PanePanelInitParameter extends PanelInitParameters {
13
+ minimumBodySize?: number;
14
+ maximumBodySize?: number;
15
+ isExpanded?: boolean;
16
+ title: string;
17
+ containerApi: PaneviewApi;
18
+ }
19
+ export interface PanePanelComponentInitParameter extends PanePanelInitParameter {
20
+ api: PaneviewPanelApiImpl;
21
+ }
22
+ export interface IPaneBodyPart extends IDisposable {
23
+ readonly element: HTMLElement;
24
+ update(params: PanelUpdateEvent): void;
25
+ init(parameters: PanePanelComponentInitParameter): void;
26
+ }
27
+ export interface IPaneHeaderPart extends IDisposable {
28
+ readonly element: HTMLElement;
29
+ update(params: PanelUpdateEvent): void;
30
+ init(parameters: PanePanelComponentInitParameter): void;
31
+ }
32
+ export interface IPaneview extends IView {
33
+ onDidChangeExpansionState: Event<boolean>;
34
+ }
35
+ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiImpl> {
36
+ readonly minimumSize: number;
37
+ readonly maximumSize: number;
38
+ readonly minimumBodySize: number;
39
+ readonly maximumBodySize: number;
40
+ isExpanded(): boolean;
41
+ setExpanded(isExpanded: boolean): void;
42
+ headerVisible: boolean;
43
+ }
44
+ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
45
+ private readonly headerComponent;
46
+ private _onDidChangeExpansionState;
47
+ onDidChangeExpansionState: Event<boolean>;
48
+ private readonly _onDidChange;
49
+ readonly onDidChange: Event<{
50
+ size?: number;
51
+ orthogonalSize?: number;
52
+ }>;
53
+ private headerSize;
54
+ private _orthogonalSize;
55
+ private _size;
56
+ private _minimumBodySize;
57
+ private _maximumBodySize;
58
+ private _isExpanded;
59
+ protected header?: HTMLElement;
60
+ protected body?: HTMLElement;
61
+ private bodyPart?;
62
+ private headerPart?;
63
+ private expandedSize;
64
+ private animationTimer;
65
+ private _orientation;
66
+ private _headerVisible;
67
+ set orientation(value: Orientation);
68
+ get orientation(): Orientation;
69
+ get minimumSize(): number;
70
+ get maximumSize(): number;
71
+ get size(): number;
72
+ get orthogonalSize(): number;
73
+ set orthogonalSize(size: number);
74
+ get minimumBodySize(): number;
75
+ set minimumBodySize(value: number);
76
+ get maximumBodySize(): number;
77
+ set maximumBodySize(value: number);
78
+ get headerVisible(): boolean;
79
+ set headerVisible(value: boolean);
80
+ constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, isHeaderVisible: boolean);
81
+ setVisible(isVisible: boolean): void;
82
+ setActive(isActive: boolean): void;
83
+ isExpanded(): boolean;
84
+ setExpanded(expanded: boolean): void;
85
+ layout(size: number, orthogonalSize: number): void;
86
+ init(parameters: PanePanelInitParameter): void;
87
+ toJSON(): PanePanelViewState;
88
+ private renderOnce;
89
+ getComponent(): IFrameworkPart;
90
+ protected abstract getBodyComponent(): IPaneBodyPart;
91
+ protected abstract getHeaderComponent(): IPaneHeaderPart;
92
+ }
@@ -0,0 +1,192 @@
1
+ import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
2
+ import { addClasses, removeClasses } from '../dom';
3
+ import { addDisposableListener, Emitter } from '../events';
4
+ import { BasePanelView, } from '../gridview/basePanelView';
5
+ import { Orientation } from '../splitview/splitview';
6
+ export class PaneviewPanel extends BasePanelView {
7
+ set orientation(value) {
8
+ this._orientation = value;
9
+ }
10
+ get orientation() {
11
+ return this._orientation;
12
+ }
13
+ get minimumSize() {
14
+ const headerSize = this.headerSize;
15
+ const expanded = this.isExpanded();
16
+ const minimumBodySize = expanded ? this._minimumBodySize : 0;
17
+ return headerSize + minimumBodySize;
18
+ }
19
+ get maximumSize() {
20
+ const headerSize = this.headerSize;
21
+ const expanded = this.isExpanded();
22
+ const maximumBodySize = expanded ? this._maximumBodySize : 0;
23
+ return headerSize + maximumBodySize;
24
+ }
25
+ get size() {
26
+ return this._size;
27
+ }
28
+ get orthogonalSize() {
29
+ return this._orthogonalSize;
30
+ }
31
+ set orthogonalSize(size) {
32
+ this._orthogonalSize = size;
33
+ }
34
+ get minimumBodySize() {
35
+ return this._minimumBodySize;
36
+ }
37
+ set minimumBodySize(value) {
38
+ this._minimumBodySize = typeof value === 'number' ? value : 0;
39
+ }
40
+ get maximumBodySize() {
41
+ return this._maximumBodySize;
42
+ }
43
+ set maximumBodySize(value) {
44
+ this._maximumBodySize =
45
+ typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
46
+ }
47
+ get headerVisible() {
48
+ return this._headerVisible;
49
+ }
50
+ set headerVisible(value) {
51
+ this._headerVisible = value;
52
+ this.header.style.display = value ? '' : 'none';
53
+ }
54
+ constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
55
+ super(id, component, new PaneviewPanelApiImpl(id));
56
+ this.headerComponent = headerComponent;
57
+ this._onDidChangeExpansionState = new Emitter({ replay: true });
58
+ this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
59
+ this._onDidChange = new Emitter();
60
+ this.onDidChange = this._onDidChange.event;
61
+ this.headerSize = 22;
62
+ this._orthogonalSize = 0;
63
+ this._size = 0;
64
+ this._minimumBodySize = 100;
65
+ this._maximumBodySize = Number.POSITIVE_INFINITY;
66
+ this._isExpanded = false;
67
+ this.expandedSize = 0;
68
+ this.api.pane = this; // TODO cannot use 'this' before 'super'
69
+ this.api.initialize(this);
70
+ this._isExpanded = isExpanded;
71
+ this._headerVisible = isHeaderVisible;
72
+ this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
73
+ this._orientation = orientation;
74
+ this.element.classList.add('pane');
75
+ this.addDisposables(this.api.onDidSizeChange((event) => {
76
+ this._onDidChange.fire({ size: event.size });
77
+ }), addDisposableListener(this.element, 'mouseenter', (ev) => {
78
+ this.api._onMouseEnter.fire(ev);
79
+ }), addDisposableListener(this.element, 'mouseleave', (ev) => {
80
+ this.api._onMouseLeave.fire(ev);
81
+ }));
82
+ this.addDisposables(this._onDidChangeExpansionState, this.onDidChangeExpansionState((isPanelExpanded) => {
83
+ this.api._onDidExpansionChange.fire({
84
+ isExpanded: isPanelExpanded,
85
+ });
86
+ }), this.api.onDidFocusChange((e) => {
87
+ if (!this.header) {
88
+ return;
89
+ }
90
+ if (e.isFocused) {
91
+ addClasses(this.header, 'focused');
92
+ }
93
+ else {
94
+ removeClasses(this.header, 'focused');
95
+ }
96
+ }));
97
+ this.renderOnce();
98
+ }
99
+ setVisible(isVisible) {
100
+ this.api._onDidVisibilityChange.fire({ isVisible });
101
+ }
102
+ setActive(isActive) {
103
+ this.api._onDidActiveChange.fire({ isActive });
104
+ }
105
+ isExpanded() {
106
+ return this._isExpanded;
107
+ }
108
+ setExpanded(expanded) {
109
+ if (this._isExpanded === expanded) {
110
+ return;
111
+ }
112
+ this._isExpanded = expanded;
113
+ if (expanded) {
114
+ if (this.animationTimer) {
115
+ clearTimeout(this.animationTimer);
116
+ }
117
+ if (this.body) {
118
+ this.element.appendChild(this.body);
119
+ }
120
+ }
121
+ else {
122
+ this.animationTimer = setTimeout(() => {
123
+ var _a;
124
+ (_a = this.body) === null || _a === void 0 ? void 0 : _a.remove();
125
+ }, 200);
126
+ }
127
+ this._onDidChange.fire(expanded ? { size: this.width } : {});
128
+ this._onDidChangeExpansionState.fire(expanded);
129
+ }
130
+ layout(size, orthogonalSize) {
131
+ this._size = size;
132
+ this._orthogonalSize = orthogonalSize;
133
+ const [width, height] = this.orientation === Orientation.HORIZONTAL
134
+ ? [size, orthogonalSize]
135
+ : [orthogonalSize, size];
136
+ if (this.isExpanded()) {
137
+ this.expandedSize = width;
138
+ }
139
+ super.layout(width, height);
140
+ }
141
+ init(parameters) {
142
+ var _a, _b;
143
+ super.init(parameters);
144
+ if (typeof parameters.minimumBodySize === 'number') {
145
+ this.minimumBodySize = parameters.minimumBodySize;
146
+ }
147
+ if (typeof parameters.maximumBodySize === 'number') {
148
+ this.maximumBodySize = parameters.maximumBodySize;
149
+ }
150
+ this.bodyPart = this.getBodyComponent();
151
+ this.headerPart = this.getHeaderComponent();
152
+ this.bodyPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
153
+ this.headerPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
154
+ (_a = this.body) === null || _a === void 0 ? void 0 : _a.append(this.bodyPart.element);
155
+ (_b = this.header) === null || _b === void 0 ? void 0 : _b.append(this.headerPart.element);
156
+ if (typeof parameters.isExpanded === 'boolean') {
157
+ this.setExpanded(parameters.isExpanded);
158
+ }
159
+ }
160
+ toJSON() {
161
+ const params = this._params;
162
+ return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
163
+ }
164
+ renderOnce() {
165
+ this.header = document.createElement('div');
166
+ this.header.tabIndex = 0;
167
+ this.header.className = 'pane-header';
168
+ this.header.style.height = `${this.headerSize}px`;
169
+ this.header.style.lineHeight = `${this.headerSize}px`;
170
+ this.header.style.minHeight = `${this.headerSize}px`;
171
+ this.header.style.maxHeight = `${this.headerSize}px`;
172
+ this.element.appendChild(this.header);
173
+ this.body = document.createElement('div');
174
+ this.body.className = 'pane-body';
175
+ this.element.appendChild(this.body);
176
+ }
177
+ // TODO slightly hacky by-pass of the component to create a body and header component
178
+ getComponent() {
179
+ return {
180
+ update: (params) => {
181
+ var _a, _b;
182
+ (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.update({ params });
183
+ (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.update({ params });
184
+ },
185
+ dispose: () => {
186
+ var _a, _b;
187
+ (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.dispose();
188
+ (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.dispose();
189
+ },
190
+ };
191
+ }
192
+ }