dockview 1.0.3 → 1.3.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 (261) hide show
  1. package/README.md +243 -186
  2. package/dist/cjs/api/component.api.d.ts +31 -25
  3. package/dist/cjs/api/component.api.js +97 -40
  4. package/dist/cjs/api/component.api.js.map +1 -1
  5. package/dist/cjs/api/gridviewPanelApi.js +1 -0
  6. package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
  7. package/dist/cjs/api/groupPanelApi.d.ts +11 -14
  8. package/dist/cjs/api/groupPanelApi.js +19 -17
  9. package/dist/cjs/api/groupPanelApi.js.map +1 -1
  10. package/dist/cjs/api/panelApi.d.ts +0 -25
  11. package/dist/cjs/api/panelApi.js +1 -20
  12. package/dist/cjs/api/panelApi.js.map +1 -1
  13. package/dist/cjs/api/paneviewPanelApi.js +1 -0
  14. package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
  15. package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
  16. package/dist/cjs/api/splitviewPanelApi.js +1 -5
  17. package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
  18. package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
  19. package/dist/cjs/dnd/abstractDragHandler.js +15 -15
  20. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  21. package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
  22. package/dist/cjs/dnd/dataTransfer.js +1 -45
  23. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  24. package/dist/cjs/dnd/dnd.d.ts +1 -14
  25. package/dist/cjs/dnd/dnd.js +1 -79
  26. package/dist/cjs/dnd/dnd.js.map +1 -1
  27. package/dist/cjs/dnd/droptarget.d.ts +3 -0
  28. package/dist/cjs/dnd/droptarget.js +72 -48
  29. package/dist/cjs/dnd/droptarget.js.map +1 -1
  30. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -2
  31. package/dist/cjs/dockview/components/tab/defaultTab.js +1 -9
  32. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  33. package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
  34. package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
  35. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  36. package/dist/cjs/dockview/deserializer.js.map +1 -1
  37. package/dist/cjs/dockview/dockviewComponent.d.ts +34 -23
  38. package/dist/cjs/dockview/dockviewComponent.js +117 -209
  39. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  40. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +3 -5
  41. package/dist/cjs/dockview/dockviewGroupPanel.js +10 -31
  42. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  43. package/dist/cjs/dockview/options.d.ts +2 -1
  44. package/dist/cjs/events.js +25 -4
  45. package/dist/cjs/events.js.map +1 -1
  46. package/dist/cjs/gridview/baseComponentGridview.d.ts +12 -20
  47. package/dist/cjs/gridview/baseComponentGridview.js +49 -45
  48. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  49. package/dist/cjs/gridview/basePanelView.d.ts +5 -8
  50. package/dist/cjs/gridview/basePanelView.js +16 -8
  51. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  52. package/dist/cjs/gridview/branchNode.js +3 -3
  53. package/dist/cjs/gridview/branchNode.js.map +1 -1
  54. package/dist/cjs/gridview/gridview.js +21 -18
  55. package/dist/cjs/gridview/gridview.js.map +1 -1
  56. package/dist/cjs/gridview/gridviewComponent.d.ts +5 -6
  57. package/dist/cjs/gridview/gridviewComponent.js +33 -9
  58. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  59. package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
  60. package/dist/cjs/gridview/gridviewPanel.js +3 -6
  61. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  62. package/dist/cjs/gridview/leafNode.js +2 -1
  63. package/dist/cjs/gridview/leafNode.js.map +1 -1
  64. package/dist/cjs/groupview/groupPanel.d.ts +1 -7
  65. package/dist/cjs/groupview/groupview.d.ts +18 -10
  66. package/dist/cjs/groupview/groupview.js +51 -129
  67. package/dist/cjs/groupview/groupview.js.map +1 -1
  68. package/dist/cjs/groupview/groupviewPanel.d.ts +5 -2
  69. package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
  70. package/dist/cjs/groupview/panel/content.d.ts +1 -1
  71. package/dist/cjs/groupview/panel/content.js +2 -1
  72. package/dist/cjs/groupview/panel/content.js.map +1 -1
  73. package/dist/cjs/groupview/tab.d.ts +10 -13
  74. package/dist/cjs/groupview/tab.js +22 -80
  75. package/dist/cjs/groupview/tab.js.map +1 -1
  76. package/dist/cjs/groupview/titlebar/tabsContainer.js +4 -6
  77. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  78. package/dist/cjs/hostedContainer.js +2 -2
  79. package/dist/cjs/hostedContainer.js.map +1 -1
  80. package/dist/cjs/index.d.ts +3 -3
  81. package/dist/cjs/index.js +8 -4
  82. package/dist/cjs/index.js.map +1 -1
  83. package/dist/cjs/lifecycle.js +2 -1
  84. package/dist/cjs/lifecycle.js.map +1 -1
  85. package/dist/cjs/panel/types.d.ts +0 -2
  86. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  87. package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
  88. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  89. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
  90. package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
  91. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  92. package/dist/cjs/paneview/paneview.d.ts +3 -1
  93. package/dist/cjs/paneview/paneview.js +13 -7
  94. package/dist/cjs/paneview/paneview.js.map +1 -1
  95. package/dist/cjs/paneview/paneviewComponent.d.ts +7 -6
  96. package/dist/cjs/paneview/paneviewComponent.js +65 -8
  97. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  98. package/dist/cjs/paneview/paneviewPanel.js +1 -1
  99. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  100. package/dist/cjs/react/deserializer.js +1 -3
  101. package/dist/cjs/react/deserializer.js.map +1 -1
  102. package/dist/cjs/react/dockview/components.js +5 -1
  103. package/dist/cjs/react/dockview/components.js.map +1 -1
  104. package/dist/cjs/react/dockview/dockview.d.ts +9 -9
  105. package/dist/cjs/react/dockview/dockview.js +40 -5
  106. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  107. package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
  108. package/dist/cjs/react/dockview/reactContentPart.js +6 -17
  109. package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
  110. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
  111. package/dist/cjs/react/dockview/reactHeaderPart.js +3 -2
  112. package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
  113. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +3 -4
  114. package/dist/cjs/react/dockview/reactWatermarkPart.js +3 -4
  115. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
  116. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  117. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
  118. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
  119. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  120. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
  121. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
  122. package/dist/cjs/react/gridview/gridview.js +9 -2
  123. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  124. package/dist/cjs/react/gridview/view.d.ts +3 -2
  125. package/dist/cjs/react/gridview/view.js +2 -2
  126. package/dist/cjs/react/gridview/view.js.map +1 -1
  127. package/dist/cjs/react/index.d.ts +1 -0
  128. package/dist/cjs/react/index.js +5 -1
  129. package/dist/cjs/react/index.js.map +1 -1
  130. package/dist/cjs/react/paneview/paneview.js +6 -2
  131. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  132. package/dist/cjs/react/react.js +6 -3
  133. package/dist/cjs/react/react.js.map +1 -1
  134. package/dist/cjs/react/splitview/splitview.js +8 -2
  135. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  136. package/dist/cjs/react/splitview/view.js +2 -2
  137. package/dist/cjs/react/splitview/view.js.map +1 -1
  138. package/dist/cjs/splitview/core/splitview.js +1 -1
  139. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  140. package/dist/cjs/splitview/splitviewComponent.d.ts +0 -3
  141. package/dist/cjs/splitview/splitviewComponent.js +50 -6
  142. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  143. package/dist/cjs/splitview/splitviewPanel.d.ts +1 -6
  144. package/dist/cjs/splitview/splitviewPanel.js +5 -3
  145. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  146. package/dist/dockview.amd.js +666 -791
  147. package/dist/dockview.amd.min.js +2 -16
  148. package/dist/dockview.amd.min.noStyle.js +2 -16
  149. package/dist/dockview.amd.noStyle.js +665 -790
  150. package/dist/dockview.cjs.js +666 -791
  151. package/dist/dockview.esm.js +666 -780
  152. package/dist/dockview.esm.min.js +2 -16
  153. package/dist/dockview.js +666 -791
  154. package/dist/dockview.min.js +2 -16
  155. package/dist/dockview.min.noStyle.js +2 -16
  156. package/dist/dockview.noStyle.js +665 -790
  157. package/dist/esm/api/component.api.d.ts +31 -25
  158. package/dist/esm/api/component.api.js +47 -26
  159. package/dist/esm/api/gridviewPanelApi.js +1 -0
  160. package/dist/esm/api/groupPanelApi.d.ts +11 -14
  161. package/dist/esm/api/groupPanelApi.js +18 -13
  162. package/dist/esm/api/panelApi.d.ts +0 -25
  163. package/dist/esm/api/panelApi.js +1 -20
  164. package/dist/esm/api/paneviewPanelApi.js +1 -0
  165. package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
  166. package/dist/esm/api/splitviewPanelApi.js +1 -5
  167. package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
  168. package/dist/esm/dnd/abstractDragHandler.js +10 -10
  169. package/dist/esm/dnd/dataTransfer.d.ts +0 -25
  170. package/dist/esm/dnd/dataTransfer.js +0 -40
  171. package/dist/esm/dnd/dnd.d.ts +1 -14
  172. package/dist/esm/dnd/dnd.js +1 -69
  173. package/dist/esm/dnd/droptarget.d.ts +3 -0
  174. package/dist/esm/dnd/droptarget.js +72 -48
  175. package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -2
  176. package/dist/esm/dockview/components/tab/defaultTab.js +2 -10
  177. package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
  178. package/dist/esm/dockview/components/watermark/watermark.js +4 -4
  179. package/dist/esm/dockview/dockviewComponent.d.ts +34 -23
  180. package/dist/esm/dockview/dockviewComponent.js +82 -150
  181. package/dist/esm/dockview/dockviewGroupPanel.d.ts +3 -5
  182. package/dist/esm/dockview/dockviewGroupPanel.js +6 -30
  183. package/dist/esm/dockview/options.d.ts +2 -1
  184. package/dist/esm/events.js +2 -3
  185. package/dist/esm/gridview/baseComponentGridview.d.ts +12 -20
  186. package/dist/esm/gridview/baseComponentGridview.js +27 -45
  187. package/dist/esm/gridview/basePanelView.d.ts +5 -8
  188. package/dist/esm/gridview/basePanelView.js +12 -8
  189. package/dist/esm/gridview/branchNode.js +3 -3
  190. package/dist/esm/gridview/gridview.js +18 -16
  191. package/dist/esm/gridview/gridviewComponent.d.ts +5 -6
  192. package/dist/esm/gridview/gridviewComponent.js +12 -10
  193. package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
  194. package/dist/esm/gridview/gridviewPanel.js +3 -6
  195. package/dist/esm/gridview/leafNode.js +1 -0
  196. package/dist/esm/groupview/groupPanel.d.ts +1 -7
  197. package/dist/esm/groupview/groupview.d.ts +18 -10
  198. package/dist/esm/groupview/groupview.js +30 -59
  199. package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
  200. package/dist/esm/groupview/panel/content.d.ts +1 -1
  201. package/dist/esm/groupview/panel/content.js +2 -1
  202. package/dist/esm/groupview/tab.d.ts +10 -13
  203. package/dist/esm/groupview/tab.js +17 -24
  204. package/dist/esm/groupview/titlebar/tabsContainer.js +4 -6
  205. package/dist/esm/hostedContainer.js +2 -2
  206. package/dist/esm/index.d.ts +3 -3
  207. package/dist/esm/index.js +1 -2
  208. package/dist/esm/lifecycle.js +2 -1
  209. package/dist/esm/panel/types.d.ts +0 -2
  210. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  211. package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
  212. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
  213. package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
  214. package/dist/esm/paneview/paneview.d.ts +3 -1
  215. package/dist/esm/paneview/paneview.js +10 -6
  216. package/dist/esm/paneview/paneviewComponent.d.ts +7 -6
  217. package/dist/esm/paneview/paneviewComponent.js +31 -7
  218. package/dist/esm/paneview/paneviewPanel.js +1 -1
  219. package/dist/esm/react/deserializer.js +1 -3
  220. package/dist/esm/react/dockview/dockview.d.ts +9 -9
  221. package/dist/esm/react/dockview/dockview.js +36 -5
  222. package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
  223. package/dist/esm/react/dockview/reactContentPart.js +6 -17
  224. package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
  225. package/dist/esm/react/dockview/reactHeaderPart.js +3 -2
  226. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +3 -4
  227. package/dist/esm/react/dockview/reactWatermarkPart.js +3 -4
  228. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  229. package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
  230. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  231. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
  232. package/dist/esm/react/gridview/gridview.js +4 -1
  233. package/dist/esm/react/gridview/view.d.ts +3 -2
  234. package/dist/esm/react/gridview/view.js +2 -2
  235. package/dist/esm/react/index.d.ts +1 -0
  236. package/dist/esm/react/paneview/paneview.js +1 -1
  237. package/dist/esm/react/react.js +1 -2
  238. package/dist/esm/react/splitview/splitview.js +3 -1
  239. package/dist/esm/react/splitview/view.js +2 -2
  240. package/dist/esm/splitview/core/splitview.js +1 -1
  241. package/dist/esm/splitview/splitviewComponent.d.ts +0 -3
  242. package/dist/esm/splitview/splitviewComponent.js +17 -6
  243. package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
  244. package/dist/esm/splitview/splitviewPanel.js +5 -3
  245. package/dist/styles/dockview.css +14 -17
  246. package/package.json +13 -13
  247. package/dist/cjs/functions.d.ts +0 -1
  248. package/dist/cjs/functions.js +0 -42
  249. package/dist/cjs/functions.js.map +0 -1
  250. package/dist/cjs/groupview/panel/hostedPanel.d.ts +0 -22
  251. package/dist/cjs/groupview/panel/hostedPanel.js +0 -57
  252. package/dist/cjs/groupview/panel/hostedPanel.js.map +0 -1
  253. package/dist/cjs/json.d.ts +0 -1
  254. package/dist/cjs/json.js +0 -14
  255. package/dist/cjs/json.js.map +0 -1
  256. package/dist/esm/functions.d.ts +0 -1
  257. package/dist/esm/functions.js +0 -8
  258. package/dist/esm/groupview/panel/hostedPanel.d.ts +0 -22
  259. package/dist/esm/groupview/panel/hostedPanel.js +0 -43
  260. package/dist/esm/json.d.ts +0 -1
  261. package/dist/esm/json.js +0 -9
@@ -1,17 +1,16 @@
1
1
  import { IDockviewComponent, SerializedDockview } from '../dockview/dockviewComponent';
2
2
  import { AddGroupOptions, AddPanelOptions, MovementOptions } from '../dockview/options';
3
- import { Direction, GroupChangeEvent } from '../gridview/baseComponentGridview';
3
+ import { Direction } from '../gridview/baseComponentGridview';
4
4
  import { AddComponentOptions, IGridviewComponent, SerializedGridview } from '../gridview/gridviewComponent';
5
- import { GridviewPanel, IGridviewPanel } from '../gridview/gridviewPanel';
5
+ import { IGridviewPanel } from '../gridview/gridviewPanel';
6
6
  import { IGroupPanel } from '../groupview/groupPanel';
7
- import { AddPaneviewCompponentOptions, SerializedPaneview, IPaneviewComponent } from '../paneview/paneviewComponent';
8
- import { IPaneviewPanel, PaneviewPanel } from '../paneview/paneviewPanel';
7
+ import { AddPaneviewComponentOptions, SerializedPaneview, IPaneviewComponent } from '../paneview/paneviewComponent';
8
+ import { IPaneviewPanel } from '../paneview/paneviewPanel';
9
9
  import { AddSplitviewComponentOptions, ISplitviewComponent, SerializedSplitview, SplitviewComponentUpdateOptions } from '../splitview/splitviewComponent';
10
10
  import { IView, Orientation, Sizing } from '../splitview/core/splitview';
11
11
  import { ISplitviewPanel } from '../splitview/splitviewPanel';
12
- import { GroupviewPanel } from '../groupview/groupviewPanel';
12
+ import { IGroupviewPanel } from '../groupview/groupviewPanel';
13
13
  import { Event } from '../events';
14
- import { IDisposable } from '../lifecycle';
15
14
  import { PaneviewDropEvent } from '../react';
16
15
  export interface CommonApi {
17
16
  readonly height: number;
@@ -28,10 +27,10 @@ export declare class SplitviewApi implements CommonApi {
28
27
  get height(): number;
29
28
  get width(): number;
30
29
  get length(): number;
30
+ get orientation(): Orientation;
31
31
  get onDidLayoutChange(): Event<void>;
32
32
  get onDidAddView(): Event<IView>;
33
33
  get onDidRemoveView(): Event<IView>;
34
- get orientation(): Orientation;
35
34
  constructor(component: ISplitviewComponent);
36
35
  updateOptions(options: SplitviewComponentUpdateOptions): void;
37
36
  removePanel(panel: ISplitviewPanel, sizing?: Sizing): void;
@@ -49,13 +48,13 @@ export declare class SplitviewApi implements CommonApi {
49
48
  }
50
49
  export declare class PaneviewApi implements CommonApi {
51
50
  private readonly component;
52
- get width(): number;
53
- get height(): number;
54
51
  get minimumSize(): number;
55
52
  get maximumSize(): number;
53
+ get height(): number;
54
+ get width(): number;
56
55
  get onDidLayoutChange(): Event<void>;
57
- get onDidAddView(): Event<PaneviewPanel>;
58
- get onDidRemoveView(): Event<PaneviewPanel>;
56
+ get onDidAddView(): Event<IPaneviewPanel>;
57
+ get onDidRemoveView(): Event<IPaneviewPanel>;
59
58
  get onDidDrop(): Event<PaneviewDropEvent>;
60
59
  constructor(component: IPaneviewComponent);
61
60
  getPanels(): IPaneviewPanel[];
@@ -64,22 +63,25 @@ export declare class PaneviewApi implements CommonApi {
64
63
  movePanel(from: number, to: number): void;
65
64
  focus(): void;
66
65
  layout(width: number, height: number): void;
67
- addPanel(options: AddPaneviewCompponentOptions): IDisposable;
66
+ addPanel(options: AddPaneviewComponentOptions): void;
68
67
  resizeToFit(): void;
69
68
  fromJSON(data: SerializedPaneview, deferComponentLayout?: boolean): void;
70
69
  toJSON(): SerializedPaneview;
71
70
  }
72
71
  export declare class GridviewApi implements CommonApi {
73
72
  private readonly component;
74
- get width(): number;
75
- get height(): number;
76
73
  get minimumHeight(): number;
77
74
  get maximumHeight(): number;
78
75
  get minimumWidth(): number;
79
76
  get maximumWidth(): number;
80
- get onGridEvent(): Event<GroupChangeEvent>;
77
+ get width(): number;
78
+ get height(): number;
81
79
  get onDidLayoutChange(): Event<void>;
82
- get panels(): GridviewPanel[];
80
+ get onDidAddGroup(): Event<IGridviewPanel>;
81
+ get onDidRemoveGroup(): Event<IGridviewPanel>;
82
+ get onDidActiveGroupChange(): Event<IGridviewPanel | undefined>;
83
+ get onDidLayoutFromJSON(): Event<void>;
84
+ get panels(): IGridviewPanel[];
83
85
  get orientation(): Orientation;
84
86
  set orientation(value: Orientation);
85
87
  constructor(component: IGridviewComponent);
@@ -93,7 +95,7 @@ export declare class GridviewApi implements CommonApi {
93
95
  size?: number;
94
96
  }): void;
95
97
  resizeToFit(): void;
96
- getPanel(id: string): GridviewPanel | undefined;
98
+ getPanel(id: string): IGridviewPanel | undefined;
97
99
  toggleVisibility(panel: IGridviewPanel): void;
98
100
  setVisible(panel: IGridviewPanel, visible: boolean): void;
99
101
  setActive(panel: IGridviewPanel): void;
@@ -110,28 +112,32 @@ export declare class DockviewApi implements CommonApi {
110
112
  get maximumWidth(): number;
111
113
  get size(): number;
112
114
  get totalPanels(): number;
113
- get onGridEvent(): Event<GroupChangeEvent>;
115
+ get onDidActiveGroupChange(): Event<IGroupviewPanel | undefined>;
116
+ get onDidAddGroup(): Event<IGroupviewPanel>;
117
+ get onDidRemoveGroup(): Event<IGroupviewPanel>;
118
+ get onDidActivePanelChange(): Event<IGroupPanel | undefined>;
119
+ get onDidAddPanel(): Event<IGroupPanel>;
120
+ get onDidRemovePanel(): Event<IGroupPanel>;
121
+ get onDidLayoutfromJSON(): Event<void>;
114
122
  get onDidLayoutChange(): Event<void>;
115
123
  get panels(): IGroupPanel[];
116
- get groups(): GroupviewPanel[];
124
+ get groups(): IGroupviewPanel[];
117
125
  get activePanel(): IGroupPanel | undefined;
118
- get activeGroup(): GroupviewPanel | undefined;
126
+ get activeGroup(): IGroupviewPanel | undefined;
119
127
  constructor(component: IDockviewComponent);
120
128
  getTabHeight(): number | undefined;
121
129
  setTabHeight(height: number | undefined): void;
122
130
  focus(): void;
123
131
  getPanel(id: string): IGroupPanel | undefined;
124
- setActivePanel(panel: IGroupPanel): void;
125
132
  layout(width: number, height: number, force?: boolean): void;
126
133
  addPanel(options: AddPanelOptions): IGroupPanel;
127
- removePanel(panel: IGroupPanel): void;
128
134
  addEmptyGroup(options?: AddGroupOptions): void;
129
135
  moveToNext(options?: MovementOptions): void;
130
136
  moveToPrevious(options?: MovementOptions): void;
131
- closeAllGroups(): Promise<boolean>;
132
- removeGroup(group: GroupviewPanel): void;
137
+ closeAllGroups(): void;
138
+ removeGroup(group: IGroupviewPanel): void;
133
139
  resizeToFit(): void;
134
- getGroup(id: string): GroupviewPanel | undefined;
140
+ getGroup(id: string): IGroupviewPanel | undefined;
135
141
  fromJSON(data: SerializedDockview): void;
136
142
  toJSON(): SerializedDockview;
137
143
  }
@@ -18,6 +18,9 @@ export class SplitviewApi {
18
18
  get length() {
19
19
  return this.component.length;
20
20
  }
21
+ get orientation() {
22
+ return this.component.orientation;
23
+ }
21
24
  get onDidLayoutChange() {
22
25
  return this.component.onDidLayoutChange;
23
26
  }
@@ -27,9 +30,6 @@ export class SplitviewApi {
27
30
  get onDidRemoveView() {
28
31
  return this.component.onDidRemoveView;
29
32
  }
30
- get orientation() {
31
- return this.component.orientation;
32
- }
33
33
  updateOptions(options) {
34
34
  this.component.updateOptions(options);
35
35
  }
@@ -74,18 +74,18 @@ export class PaneviewApi {
74
74
  constructor(component) {
75
75
  this.component = component;
76
76
  }
77
- get width() {
78
- return this.component.width;
79
- }
80
- get height() {
81
- return this.component.height;
82
- }
83
77
  get minimumSize() {
84
78
  return this.component.minimumSize;
85
79
  }
86
80
  get maximumSize() {
87
81
  return this.component.maximumSize;
88
82
  }
83
+ get height() {
84
+ return this.component.height;
85
+ }
86
+ get width() {
87
+ return this.component.width;
88
+ }
89
89
  get onDidLayoutChange() {
90
90
  return this.component.onDidLayoutChange;
91
91
  }
@@ -125,7 +125,7 @@ export class PaneviewApi {
125
125
  this.component.layout(width, height);
126
126
  }
127
127
  addPanel(options) {
128
- return this.component.addPanel(options);
128
+ this.component.addPanel(options);
129
129
  }
130
130
  resizeToFit() {
131
131
  this.component.resizeToFit();
@@ -141,12 +141,6 @@ export class GridviewApi {
141
141
  constructor(component) {
142
142
  this.component = component;
143
143
  }
144
- get width() {
145
- return this.component.width;
146
- }
147
- get height() {
148
- return this.component.height;
149
- }
150
144
  get minimumHeight() {
151
145
  return this.component.minimumHeight;
152
146
  }
@@ -159,12 +153,27 @@ export class GridviewApi {
159
153
  get maximumWidth() {
160
154
  return this.component.maximumWidth;
161
155
  }
162
- get onGridEvent() {
163
- return this.component.onGridEvent;
156
+ get width() {
157
+ return this.component.width;
158
+ }
159
+ get height() {
160
+ return this.component.height;
164
161
  }
165
162
  get onDidLayoutChange() {
166
163
  return this.component.onDidLayoutChange;
167
164
  }
165
+ get onDidAddGroup() {
166
+ return this.component.onDidAddGroup;
167
+ }
168
+ get onDidRemoveGroup() {
169
+ return this.component.onDidRemoveGroup;
170
+ }
171
+ get onDidActiveGroupChange() {
172
+ return this.component.onDidActiveGroupChange;
173
+ }
174
+ get onDidLayoutFromJSON() {
175
+ return this.component.onDidLayoutFromJSON;
176
+ }
168
177
  get panels() {
169
178
  return this.component.groups;
170
179
  }
@@ -239,8 +248,26 @@ export class DockviewApi {
239
248
  get totalPanels() {
240
249
  return this.component.totalPanels;
241
250
  }
242
- get onGridEvent() {
243
- return this.component.onGridEvent;
251
+ get onDidActiveGroupChange() {
252
+ return this.component.onDidActiveGroupChange;
253
+ }
254
+ get onDidAddGroup() {
255
+ return this.component.onDidAddGroup;
256
+ }
257
+ get onDidRemoveGroup() {
258
+ return this.component.onDidRemoveGroup;
259
+ }
260
+ get onDidActivePanelChange() {
261
+ return this.component.onDidActivePanelChange;
262
+ }
263
+ get onDidAddPanel() {
264
+ return this.component.onDidAddPanel;
265
+ }
266
+ get onDidRemovePanel() {
267
+ return this.component.onDidRemovePanel;
268
+ }
269
+ get onDidLayoutfromJSON() {
270
+ return this.component.onDidLayoutfromJSON;
244
271
  }
245
272
  get onDidLayoutChange() {
246
273
  return this.component.onDidLayoutChange;
@@ -269,18 +296,12 @@ export class DockviewApi {
269
296
  getPanel(id) {
270
297
  return this.component.getGroupPanel(id);
271
298
  }
272
- setActivePanel(panel) {
273
- this.component.setActivePanel(panel);
274
- }
275
299
  layout(width, height, force = false) {
276
300
  this.component.layout(width, height, force);
277
301
  }
278
302
  addPanel(options) {
279
303
  return this.component.addPanel(options);
280
304
  }
281
- removePanel(panel) {
282
- this.component.removePanel(panel);
283
- }
284
305
  addEmptyGroup(options) {
285
306
  this.component.addEmptyGroup(options);
286
307
  }
@@ -14,6 +14,7 @@ export class GridviewPanelApiImpl extends PanelApiImpl {
14
14
  //
15
15
  this._onDidSizeChange = new Emitter();
16
16
  this.onDidSizeChange = this._onDidSizeChange.event;
17
+ this.addDisposables(this._onDidConstraintsChangeInternal, this._onDidConstraintsChange, this._onDidSizeChange);
17
18
  }
18
19
  setConstraints(value) {
19
20
  this._onDidConstraintsChangeInternal.fire(value);
@@ -1,4 +1,4 @@
1
- import { Emitter, Event } from '../events';
1
+ import { Emitter } from '../events';
2
2
  import { GridviewPanelApiImpl, GridviewPanelApi } from './gridviewPanelApi';
3
3
  import { IGroupPanel } from '../groupview/groupPanel';
4
4
  import { GroupviewPanel } from '../groupview/groupviewPanel';
@@ -13,24 +13,23 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
13
13
  readonly isGroupActive: boolean;
14
14
  readonly title: string;
15
15
  readonly suppressClosable: boolean;
16
- readonly onDidDirtyChange: Event<boolean>;
17
- close: () => Promise<boolean>;
18
- interceptOnCloseAction(interceptor: () => Promise<boolean>): void;
16
+ close(): void;
19
17
  setTitle(title: string): void;
20
18
  }
21
19
  export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implements DockviewPanelApi {
22
20
  private panel;
23
21
  private _group;
24
- private _interceptor;
25
- readonly _onDidDirtyChange: Emitter<boolean>;
26
- readonly onDidDirtyChange: Event<boolean>;
27
22
  readonly _onDidTitleChange: Emitter<TitleEvent>;
28
- readonly onDidTitleChange: Event<TitleEvent>;
23
+ readonly onDidTitleChange: import("../events").Event<TitleEvent>;
29
24
  readonly _titleChanged: Emitter<TitleEvent>;
30
- readonly titleChanged: Event<TitleEvent>;
25
+ readonly titleChanged: import("../events").Event<TitleEvent>;
31
26
  readonly _suppressClosableChanged: Emitter<SuppressClosableEvent>;
32
- readonly suppressClosableChanged: Event<SuppressClosableEvent>;
33
- get tryClose(): undefined | (() => Promise<boolean>);
27
+ readonly suppressClosableChanged: import("../events").Event<SuppressClosableEvent>;
28
+ private readonly _onDidActiveGroupChange;
29
+ readonly onDidActiveGroupChange: import("../events").Event<void>;
30
+ private readonly _onDidGroupChange;
31
+ readonly onDidGroupChange: import("../events").Event<void>;
32
+ private disposable;
34
33
  get title(): string;
35
34
  get suppressClosable(): boolean;
36
35
  get isGroupActive(): boolean;
@@ -38,7 +37,5 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
38
37
  get group(): GroupviewPanel | undefined;
39
38
  constructor(panel: IGroupPanel, group: GroupviewPanel | undefined);
40
39
  setTitle(title: string): void;
41
- close(): Promise<boolean>;
42
- interceptOnCloseAction(interceptor: () => Promise<boolean>): void;
43
- dispose(): void;
40
+ close(): void;
44
41
  }
@@ -1,22 +1,23 @@
1
1
  import { Emitter } from '../events';
2
2
  import { GridviewPanelApiImpl } from './gridviewPanelApi';
3
+ import { MutableDisposable } from '../lifecycle';
3
4
  export class DockviewPanelApiImpl extends GridviewPanelApiImpl {
4
5
  constructor(panel, group) {
5
6
  super(panel.id);
6
7
  this.panel = panel;
7
- this._onDidDirtyChange = new Emitter();
8
- this.onDidDirtyChange = this._onDidDirtyChange.event;
9
8
  this._onDidTitleChange = new Emitter();
10
9
  this.onDidTitleChange = this._onDidTitleChange.event;
11
10
  this._titleChanged = new Emitter();
12
11
  this.titleChanged = this._titleChanged.event;
13
12
  this._suppressClosableChanged = new Emitter();
14
13
  this.suppressClosableChanged = this._suppressClosableChanged.event;
15
- this._group = group;
16
- this.addDisposables(this._onDidDirtyChange);
17
- }
18
- get tryClose() {
19
- return this._interceptor;
14
+ this._onDidActiveGroupChange = new Emitter();
15
+ this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
16
+ this._onDidGroupChange = new Emitter();
17
+ this.onDidGroupChange = this._onDidGroupChange.event;
18
+ this.disposable = new MutableDisposable();
19
+ this.group = group;
20
+ this.addDisposables(this.disposable, this._onDidTitleChange, this._titleChanged, this._suppressClosableChanged, this._onDidGroupChange, this._onDidActiveGroupChange);
20
21
  }
21
22
  get title() {
22
23
  return this.panel.title;
@@ -29,7 +30,17 @@ export class DockviewPanelApiImpl extends GridviewPanelApiImpl {
29
30
  return !!((_a = this.group) === null || _a === void 0 ? void 0 : _a.isActive);
30
31
  }
31
32
  set group(value) {
33
+ const isOldGroupActive = this.isGroupActive;
32
34
  this._group = value;
35
+ this._onDidGroupChange.fire();
36
+ if (this._group) {
37
+ this.disposable.value = this._group.api.onDidActiveChange(() => {
38
+ this._onDidActiveGroupChange.fire();
39
+ });
40
+ if (this.isGroupActive !== isOldGroupActive) {
41
+ this._onDidActiveGroupChange.fire();
42
+ }
43
+ }
33
44
  }
34
45
  get group() {
35
46
  return this._group;
@@ -43,10 +54,4 @@ export class DockviewPanelApiImpl extends GridviewPanelApiImpl {
43
54
  }
44
55
  return this.group.model.closePanel(this.panel);
45
56
  }
46
- interceptOnCloseAction(interceptor) {
47
- this._interceptor = interceptor;
48
- }
49
- dispose() {
50
- super.dispose();
51
- }
52
57
  }
@@ -1,17 +1,5 @@
1
1
  import { Emitter, Event } from '../events';
2
2
  import { CompositeDisposable } from '../lifecycle';
3
- /**
4
- * A valid JSON type
5
- */
6
- export declare type StateObject = number | string | boolean | null | object | StateObject[] | {
7
- [key: string]: StateObject;
8
- };
9
- /**
10
- * A JSON-serializable object
11
- */
12
- export interface State {
13
- [key: string]: StateObject;
14
- }
15
3
  export interface FocusEvent {
16
4
  readonly isFocused: boolean;
17
5
  }
@@ -27,17 +15,12 @@ export interface ActiveEvent {
27
15
  }
28
16
  export interface PanelApi {
29
17
  readonly onDidDimensionsChange: Event<PanelDimensionChangeEvent>;
30
- readonly onDidStateChange: Event<void>;
31
18
  readonly onDidFocusChange: Event<FocusEvent>;
32
19
  readonly onDidVisibilityChange: Event<VisibilityEvent>;
33
20
  readonly onDidActiveChange: Event<ActiveEvent>;
34
21
  readonly onFocusEvent: Event<void>;
35
22
  setVisible(isVisible: boolean): void;
36
23
  setActive(): void;
37
- setState(key: string, value: StateObject): void;
38
- setState(state: State): void;
39
- getState: () => State;
40
- getStateKey: <T extends StateObject>(key: string) => T;
41
24
  /**
42
25
  * The id of the panel that would have been assigned when the panel was created
43
26
  */
@@ -68,14 +51,11 @@ export interface PanelApi {
68
51
  */
69
52
  export declare class PanelApiImpl extends CompositeDisposable implements PanelApi {
70
53
  readonly id: string;
71
- private _state;
72
54
  private _isFocused;
73
55
  private _isActive;
74
56
  private _isVisible;
75
57
  private _width;
76
58
  private _height;
77
- readonly _onDidStateChange: Emitter<void>;
78
- readonly onDidStateChange: Event<void>;
79
59
  readonly _onDidPanelDimensionChange: Emitter<PanelDimensionChangeEvent>;
80
60
  readonly onDidDimensionsChange: Event<PanelDimensionChangeEvent>;
81
61
  readonly _onDidChangeFocus: Emitter<FocusEvent>;
@@ -98,10 +78,5 @@ export declare class PanelApiImpl extends CompositeDisposable implements PanelAp
98
78
  constructor(id: string);
99
79
  setVisible(isVisible: boolean): void;
100
80
  setActive(): void;
101
- setState(key: string | {
102
- [key: string]: StateObject;
103
- }, value?: StateObject): void;
104
- getState(): State;
105
- getStateKey<T extends StateObject>(key: string): T;
106
81
  dispose(): void;
107
82
  }
@@ -7,15 +7,11 @@ export class PanelApiImpl extends CompositeDisposable {
7
7
  constructor(id) {
8
8
  super();
9
9
  this.id = id;
10
- this._state = {};
11
10
  this._isFocused = false;
12
11
  this._isActive = false;
13
12
  this._isVisible = true;
14
13
  this._width = 0;
15
14
  this._height = 0;
16
- this._onDidStateChange = new Emitter();
17
- this.onDidStateChange = this._onDidStateChange.event;
18
- //
19
15
  this._onDidPanelDimensionChange = new Emitter({
20
16
  replay: true,
21
17
  });
@@ -44,7 +40,7 @@ export class PanelApiImpl extends CompositeDisposable {
44
40
  //
45
41
  this._onActiveChange = new Emitter();
46
42
  this.onActiveChange = this._onActiveChange.event;
47
- this.addDisposables(this._onDidStateChange, this._onDidPanelDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onFocusEvent, this.onDidFocusChange((event) => {
43
+ this.addDisposables(this._onDidPanelDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onFocusEvent, this._onActiveChange, this._onVisibilityChange, this.onDidFocusChange((event) => {
48
44
  this._isFocused = event.isFocused;
49
45
  }), this.onDidActiveChange((event) => {
50
46
  this._isActive = event.isActive;
@@ -77,21 +73,6 @@ export class PanelApiImpl extends CompositeDisposable {
77
73
  setActive() {
78
74
  this._onActiveChange.fire();
79
75
  }
80
- setState(key, value) {
81
- if (typeof key === 'object') {
82
- this._state = key;
83
- }
84
- else if (typeof value !== undefined) {
85
- this._state[key] = value;
86
- }
87
- this._onDidStateChange.fire(undefined);
88
- }
89
- getState() {
90
- return this._state;
91
- }
92
- getStateKey(key) {
93
- return this._state[key];
94
- }
95
76
  dispose() {
96
77
  super.dispose();
97
78
  }
@@ -11,6 +11,7 @@ export class PaneviewPanelApiImpl extends SplitviewPanelApiImpl {
11
11
  this.onMouseEnter = this._onMouseEnter.event;
12
12
  this._onMouseLeave = new Emitter({});
13
13
  this.onMouseLeave = this._onMouseLeave.event;
14
+ this.addDisposables(this._onDidExpansionChange, this._onMouseEnter, this._onMouseLeave);
14
15
  }
15
16
  set pane(pane) {
16
17
  this._pane = pane;
@@ -28,6 +28,5 @@ export declare class SplitviewPanelApiImpl extends PanelApiImpl implements Split
28
28
  constructor(id: string);
29
29
  setConstraints(value: PanelConstraintChangeEvent2): void;
30
30
  setSize(event: PanelSizeEvent): void;
31
- dispose(): void;
32
31
  }
33
32
  export {};
@@ -14,6 +14,7 @@ export class SplitviewPanelApiImpl extends PanelApiImpl {
14
14
  //
15
15
  this._onDidSizeChange = new Emitter();
16
16
  this.onDidSizeChange = this._onDidSizeChange.event;
17
+ this.addDisposables(this._onDidConstraintsChangeInternal, this._onDidConstraintsChange, this._onDidSizeChange);
17
18
  }
18
19
  setConstraints(value) {
19
20
  this._onDidConstraintsChangeInternal.fire(value);
@@ -21,9 +22,4 @@ export class SplitviewPanelApiImpl extends PanelApiImpl {
21
22
  setSize(event) {
22
23
  this._onDidSizeChange.fire(event);
23
24
  }
24
- dispose() {
25
- super.dispose();
26
- this._onDidConstraintsChange.dispose();
27
- this._onDidSizeChange.dispose();
28
- }
29
25
  }
@@ -1,10 +1,10 @@
1
1
  import { CompositeDisposable, IDisposable } from '../lifecycle';
2
2
  export declare abstract class DragHandler extends CompositeDisposable {
3
3
  private readonly el;
4
- private iframes;
4
+ private readonly disposable;
5
5
  private readonly _onDragStart;
6
6
  readonly onDragStart: import("../events").Event<void>;
7
- private disposable;
7
+ private iframes;
8
8
  constructor(el: HTMLElement);
9
9
  abstract getData(): IDisposable;
10
10
  private configure;
@@ -1,18 +1,18 @@
1
1
  import { getElementsByTagName } from '../dom';
2
2
  import { addDisposableListener, Emitter } from '../events';
3
- import { CompositeDisposable } from '../lifecycle';
3
+ import { CompositeDisposable, MutableDisposable, } from '../lifecycle';
4
4
  export class DragHandler extends CompositeDisposable {
5
5
  constructor(el) {
6
6
  super();
7
7
  this.el = el;
8
- this.iframes = [];
8
+ this.disposable = new MutableDisposable();
9
9
  this._onDragStart = new Emitter();
10
10
  this.onDragStart = this._onDragStart.event;
11
+ this.iframes = [];
11
12
  this.configure();
12
13
  }
13
14
  configure() {
14
- this.addDisposables(addDisposableListener(this.el, 'dragstart', (event) => {
15
- var _a;
15
+ this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
16
16
  this.iframes = [
17
17
  ...getElementsByTagName('iframe'),
18
18
  ...getElementsByTagName('webview'),
@@ -22,16 +22,16 @@ export class DragHandler extends CompositeDisposable {
22
22
  }
23
23
  this.el.classList.add('dragged');
24
24
  setTimeout(() => this.el.classList.remove('dragged'), 0);
25
- (_a = this.disposable) === null || _a === void 0 ? void 0 : _a.dispose();
26
- this.disposable = this.getData();
27
- }), addDisposableListener(this.el, 'dragend', (ev) => {
28
- var _a;
25
+ this.disposable.value = this.getData();
26
+ if (event.dataTransfer) {
27
+ event.dataTransfer.effectAllowed = 'move';
28
+ }
29
+ }), addDisposableListener(this.el, 'dragend', () => {
29
30
  for (const iframe of this.iframes) {
30
31
  iframe.style.pointerEvents = 'auto';
31
32
  }
32
33
  this.iframes = [];
33
- (_a = this.disposable) === null || _a === void 0 ? void 0 : _a.dispose();
34
- this.disposable = undefined;
34
+ this.disposable.dispose();
35
35
  }));
36
36
  }
37
37
  }
@@ -1,4 +1,3 @@
1
- import { PanelOptions } from '../dockview/options';
2
1
  declare class TransferObject {
3
2
  constructor();
4
3
  }
@@ -13,30 +12,6 @@ export declare class PaneTransfer extends TransferObject {
13
12
  readonly paneId: string;
14
13
  constructor(viewId: string, paneId: string);
15
14
  }
16
- export declare const DATA_KEY = "splitview/transfer";
17
- export declare const isPanelTransferEvent: (event: DragEvent) => boolean;
18
- export declare enum DragType {
19
- DOCKVIEW_TAB = "dockview_tab",
20
- EXTERNAL = "external_group_drag"
21
- }
22
- export interface DragItem {
23
- itemId: string;
24
- groupId: string;
25
- }
26
- export interface ExternalDragItem extends PanelOptions {
27
- }
28
- export declare type DataObject = DragItem | ExternalDragItem;
29
- /**
30
- * Determine whether this data belong to that of an event that was started by
31
- * dragging a tab component
32
- */
33
- export declare const isTabDragEvent: (data: any) => data is DragItem;
34
- /**
35
- * Determine whether this data belong to that of an event that was started by
36
- * a custom drag-enable component
37
- */
38
- export declare const isCustomDragEvent: (data: any) => data is ExternalDragItem;
39
- export declare const extractData: (event: DragEvent) => DataObject | null;
40
15
  /**
41
16
  * A singleton to store transfer data during drag & drop operations that are only valid within the application.
42
17
  */