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,22 +1,9 @@
1
- import { Emitter, TickDelayedEvent } from '../events';
1
+ import { Emitter, Event, TickDelayedEvent } from '../events';
2
2
  import { getGridLocation, Gridview } from './gridview';
3
3
  import { Position } from '../dnd/droptarget';
4
4
  import { CompositeDisposable } from '../lifecycle';
5
5
  import { sequentialNumberGenerator } from '../math';
6
6
  import { Sizing, } from '../splitview/core/splitview';
7
- export var GroupChangeKind;
8
- (function (GroupChangeKind) {
9
- GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
10
- GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
11
- GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
12
- //
13
- GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
14
- GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
15
- GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
16
- //
17
- GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
18
- GroupChangeKind["LAYOUT"] = "LAYOUT";
19
- })(GroupChangeKind || (GroupChangeKind = {}));
20
7
  const nextLayoutId = sequentialNumberGenerator();
21
8
  export function toTarget(direction) {
22
9
  switch (direction) {
@@ -39,36 +26,26 @@ export class BaseGrid extends CompositeDisposable {
39
26
  this._element = _element;
40
27
  this._id = nextLayoutId.next();
41
28
  this._groups = new Map();
42
- //
43
- this._onGridEvent = new Emitter();
44
- this.onGridEvent = this._onGridEvent.event;
45
29
  this._onDidLayoutChange = new Emitter();
46
30
  this.onDidLayoutChange = this._onDidLayoutChange.event;
31
+ this._onDidRemoveGroup = new Emitter();
32
+ this.onDidRemoveGroup = this._onDidRemoveGroup.event;
33
+ this._onDidAddGroup = new Emitter();
34
+ this.onDidAddGroup = this._onDidAddGroup.event;
35
+ this._onDidActiveGroupChange = new Emitter();
36
+ this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
37
+ this._bufferOnDidLayoutChange = new TickDelayedEvent();
47
38
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
48
39
  this.element.appendChild(this.gridview.element);
49
- // TODO for some reason this is required before anything will layout correctly
50
- this.layout(0, 0, true);
40
+ this.layout(0, 0, true); // set some elements height/widths
51
41
  this.addDisposables(this.gridview.onDidChange(() => {
52
- this._onGridEvent.fire({ kind: GroupChangeKind.LAYOUT });
42
+ this._onDidLayoutChange.fire();
53
43
  }));
54
- this.addDisposables((() => {
55
- const tickDelayedEvent = new TickDelayedEvent();
56
- return new CompositeDisposable(this.onGridEvent((event) => {
57
- if ([
58
- GroupChangeKind.ADD_GROUP,
59
- GroupChangeKind.REMOVE_GROUP,
60
- GroupChangeKind.ADD_PANEL,
61
- GroupChangeKind.REMOVE_PANEL,
62
- GroupChangeKind.GROUP_ACTIVE,
63
- GroupChangeKind.PANEL_ACTIVE,
64
- GroupChangeKind.LAYOUT,
65
- ].includes(event.kind)) {
66
- tickDelayedEvent.fire();
67
- }
68
- }), tickDelayedEvent.onEvent(() => {
69
- this._onDidLayoutChange.fire();
70
- }), tickDelayedEvent);
71
- })());
44
+ this.addDisposables(Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
45
+ this._bufferOnDidLayoutChange.fire();
46
+ }), this._bufferOnDidLayoutChange.onEvent(() => {
47
+ this._onDidLayoutChange.fire();
48
+ }), this._bufferOnDidLayoutChange);
72
49
  }
73
50
  get id() {
74
51
  return this._id;
@@ -105,14 +82,14 @@ export class BaseGrid extends CompositeDisposable {
105
82
  }
106
83
  setVisible(panel, visible) {
107
84
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
108
- this._onGridEvent.fire({ kind: GroupChangeKind.LAYOUT });
85
+ this._onDidLayoutChange.fire();
109
86
  }
110
87
  isVisible(panel) {
111
88
  return this.gridview.isViewVisible(getGridLocation(panel.element));
112
89
  }
113
90
  doAddGroup(group, location = [0], size) {
114
91
  this.gridview.addView(group, size !== null && size !== void 0 ? size : Sizing.Distribute, location);
115
- this._onGridEvent.fire({ kind: GroupChangeKind.ADD_GROUP });
92
+ this._onDidAddGroup.fire(group);
116
93
  this.doSetGroupActive(group);
117
94
  }
118
95
  doRemoveGroup(group, options) {
@@ -123,9 +100,10 @@ export class BaseGrid extends CompositeDisposable {
123
100
  const view = this.gridview.remove(group, Sizing.Distribute);
124
101
  if (item && !(options === null || options === void 0 ? void 0 : options.skipDispose)) {
125
102
  item.disposable.dispose();
103
+ item.value.dispose();
126
104
  this._groups.delete(group.id);
127
105
  }
128
- this._onGridEvent.fire({ kind: GroupChangeKind.REMOVE_GROUP });
106
+ this._onDidRemoveGroup.fire(group);
129
107
  if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
130
108
  const groups = Array.from(this._groups.values());
131
109
  this.doSetGroupActive(groups.length > 0 ? groups[0].value : undefined);
@@ -153,9 +131,7 @@ export class BaseGrid extends CompositeDisposable {
153
131
  }
154
132
  }
155
133
  this._activeGroup = group;
156
- this._onGridEvent.fire({
157
- kind: GroupChangeKind.GROUP_ACTIVE,
158
- });
134
+ this._onDidActiveGroupChange.fire(group);
159
135
  }
160
136
  removeGroup(group) {
161
137
  this.doRemoveGroup(group);
@@ -211,7 +187,13 @@ export class BaseGrid extends CompositeDisposable {
211
187
  }
212
188
  dispose() {
213
189
  super.dispose();
214
- this._onGridEvent.dispose();
190
+ this._onDidActiveGroupChange.dispose();
191
+ this._onDidAddGroup.dispose();
192
+ this._onDidRemoveGroup.dispose();
193
+ this._onDidLayoutChange.dispose();
194
+ for (const group of this.groups) {
195
+ group.dispose();
196
+ }
215
197
  this.gridview.dispose();
216
198
  }
217
199
  }
@@ -4,21 +4,17 @@ import { PanelApiImpl } from '../api/panelApi';
4
4
  export interface BasePanelViewState {
5
5
  id: string;
6
6
  component: string;
7
- params?: {
8
- [key: string]: any;
9
- };
10
- state?: {
11
- [key: string]: any;
12
- };
7
+ params?: Record<string, any>;
13
8
  }
14
9
  export interface BasePanelViewExported<T extends PanelApiImpl> {
15
10
  readonly id: string;
16
11
  readonly api: T;
17
12
  readonly width: number;
18
13
  readonly height: number;
14
+ readonly params: Record<string, any> | undefined;
19
15
  focus(): void;
20
16
  toJSON(): object;
21
- update(params: PanelUpdateEvent): void;
17
+ update(event: PanelUpdateEvent): void;
22
18
  }
23
19
  export declare abstract class BasePanelView<T extends PanelApiImpl> extends CompositeDisposable implements IPanel, BasePanelViewExported<T> {
24
20
  readonly id: string;
@@ -28,7 +24,7 @@ export declare abstract class BasePanelView<T extends PanelApiImpl> extends Comp
28
24
  private _width;
29
25
  private _element;
30
26
  protected part?: IFrameworkPart;
31
- protected params?: PanelInitParameters;
27
+ protected _params?: PanelInitParameters;
32
28
  /**
33
29
  * Provide an IFrameworkPart that will determine the rendered UI of this view piece.
34
30
  */
@@ -36,6 +32,7 @@ export declare abstract class BasePanelView<T extends PanelApiImpl> extends Comp
36
32
  get element(): HTMLElement;
37
33
  get width(): number;
38
34
  get height(): number;
35
+ get params(): Record<string, any> | undefined;
39
36
  constructor(id: string, component: string, api: T);
40
37
  focus(): void;
41
38
  layout(width: number, height: number): void;
@@ -30,6 +30,10 @@ export class BasePanelView extends CompositeDisposable {
30
30
  get height() {
31
31
  return this._height;
32
32
  }
33
+ get params() {
34
+ var _a;
35
+ return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
36
+ }
33
37
  focus() {
34
38
  this.api._onFocusEvent.fire();
35
39
  }
@@ -38,33 +42,33 @@ export class BasePanelView extends CompositeDisposable {
38
42
  this._height = height;
39
43
  this.api._onDidPanelDimensionChange.fire({ width, height });
40
44
  if (this.part) {
41
- if (this.params) {
42
- this.part.update(this.params.params);
45
+ if (this._params) {
46
+ this.part.update(this._params.params);
43
47
  }
44
48
  }
45
49
  }
46
50
  init(parameters) {
47
- this.params = parameters;
51
+ this._params = parameters;
48
52
  this.part = this.getComponent();
49
53
  }
50
54
  update(event) {
51
55
  var _a, _b;
52
- this.params = Object.assign(Object.assign({}, this.params), { params: Object.assign(Object.assign({}, (_a = this.params) === null || _a === void 0 ? void 0 : _a.params), event.params) });
53
- (_b = this.part) === null || _b === void 0 ? void 0 : _b.update({ params: this.params.params });
56
+ this._params = Object.assign(Object.assign({}, this._params), { params: Object.assign(Object.assign({}, (_a = this._params) === null || _a === void 0 ? void 0 : _a.params), event.params) });
57
+ (_b = this.part) === null || _b === void 0 ? void 0 : _b.update({ params: this._params.params });
54
58
  }
55
59
  toJSON() {
56
60
  var _a, _b;
57
- const state = this.api.getState();
58
- const params = (_b = (_a = this.params) === null || _a === void 0 ? void 0 : _a.params) !== null && _b !== void 0 ? _b : {};
61
+ const params = (_b = (_a = this._params) === null || _a === void 0 ? void 0 : _a.params) !== null && _b !== void 0 ? _b : {};
59
62
  return {
60
63
  id: this.id,
61
64
  component: this.component,
62
65
  params: Object.keys(params).length > 0 ? params : undefined,
63
- state: Object.keys(state).length === 0 ? undefined : state,
64
66
  };
65
67
  }
66
68
  dispose() {
69
+ var _a;
67
70
  super.dispose();
68
71
  this.api.dispose();
72
+ (_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
69
73
  }
70
74
  }
@@ -40,7 +40,7 @@ export class BranchNode extends CompositeDisposable {
40
40
  : true,
41
41
  };
42
42
  }),
43
- size: this.orthogonalSize,
43
+ size: this.size,
44
44
  };
45
45
  this.children = childDescriptors.map((c) => c.node);
46
46
  this.splitview = new Splitview(this.element, {
@@ -49,7 +49,7 @@ export class BranchNode extends CompositeDisposable {
49
49
  proportionalLayout,
50
50
  });
51
51
  }
52
- this.addDisposables(this.splitview.onDidSashEnd(() => {
52
+ this.addDisposables(this._onDidChange, this.splitview.onDidSashEnd(() => {
53
53
  this._onDidChange.fire(undefined);
54
54
  }));
55
55
  this.setupChildrenEvents();
@@ -201,7 +201,7 @@ export class BranchNode extends CompositeDisposable {
201
201
  }
202
202
  setupChildrenEvents() {
203
203
  this._childrenDisposable.dispose();
204
- this._childrenDisposable = Event.any(...this.children.map((c) => c.onDidChange))((e) => {
204
+ this._childrenDisposable = Event.any(...this.children.map((c) => c.onDidChange))(() => {
205
205
  /**
206
206
  * indicate a change has occured to allows any re-rendering but don't bubble
207
207
  * event because that was specific to this branch
@@ -9,6 +9,15 @@ import { LeafNode } from './leafNode';
9
9
  import { BranchNode } from './branchNode';
10
10
  import { Emitter } from '../events';
11
11
  import { MutableDisposable } from '../lifecycle';
12
+ function findLeaf(candiateNode, last) {
13
+ if (candiateNode instanceof LeafNode) {
14
+ return candiateNode;
15
+ }
16
+ if (candiateNode instanceof BranchNode) {
17
+ return findLeaf(candiateNode.children[last ? candiateNode.children.length - 1 : 0], last);
18
+ }
19
+ throw new Error('invalid node');
20
+ }
12
21
  function flipNode(node, size, orthogonalSize) {
13
22
  if (node instanceof BranchNode) {
14
23
  const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize);
@@ -140,6 +149,7 @@ export class Gridview {
140
149
  this.disposable.dispose();
141
150
  this._onDidChange.dispose();
142
151
  this.root.dispose();
152
+ this.element.remove();
143
153
  }
144
154
  clear() {
145
155
  const orientation = this.root.orientation;
@@ -147,13 +157,13 @@ export class Gridview {
147
157
  }
148
158
  deserialize(json, deserializer) {
149
159
  const orientation = json.orientation;
150
- const height = json.height;
160
+ const height = orientation === Orientation.VERTICAL ? json.height : json.width;
151
161
  this._deserialize(json.root, orientation, deserializer, height);
152
162
  }
153
163
  _deserialize(root, orientation, deserializer, orthogonalSize) {
154
- this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
164
+ this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize, true);
155
165
  }
156
- _deserializeNode(node, orientation, deserializer, orthogonalSize) {
166
+ _deserializeNode(node, orientation, deserializer, orthogonalSize, isRoot = false) {
157
167
  let result;
158
168
  if (node.type === 'branch') {
159
169
  const serializedChildren = node.data;
@@ -163,7 +173,9 @@ export class Gridview {
163
173
  visible: serializedChild.visible,
164
174
  };
165
175
  });
166
- result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, orthogonalSize, children);
176
+ // HORIZONTAL => height=orthogonalsize width=size
177
+ // VERTICAL => height=size width=orthogonalsize
178
+ result = new BranchNode(orientation, this.proportionalLayout, this.styles, isRoot ? orthogonalSize : node.size, isRoot ? node.size : orthogonalSize, children);
167
179
  }
168
180
  else {
169
181
  result = new LeafNode(deserializer.fromJSON(node), orientation, orthogonalSize, node.size);
@@ -224,15 +236,6 @@ export class Gridview {
224
236
  if (!(node instanceof LeafNode)) {
225
237
  throw new Error('invalid location');
226
238
  }
227
- const findLeaf = (candiateNode, last) => {
228
- if (candiateNode instanceof LeafNode) {
229
- return candiateNode;
230
- }
231
- if (candiateNode instanceof BranchNode) {
232
- return findLeaf(candiateNode.children[last ? candiateNode.children.length - 1 : 0], last);
233
- }
234
- throw new Error('invalid node');
235
- };
236
239
  for (let i = path.length - 1; i > -1; i--) {
237
240
  const n = path[i];
238
241
  const l = location[i] || 0;
@@ -334,9 +337,9 @@ export class Gridview {
334
337
  if (parent.children.length > 1) {
335
338
  return node.view;
336
339
  }
340
+ const sibling = parent.children[0];
337
341
  if (pathToParent.length === 0) {
338
342
  // parent is root
339
- const sibling = parent.children[0];
340
343
  if (sibling instanceof LeafNode) {
341
344
  return node.view;
342
345
  }
@@ -347,10 +350,9 @@ export class Gridview {
347
350
  }
348
351
  const [grandParent, ..._] = [...pathToParent].reverse();
349
352
  const [parentIndex, ...__] = [...rest].reverse();
350
- const sibling = parent.children[0];
351
353
  const isSiblingVisible = parent.isChildVisible(0);
352
354
  parent.removeChild(0, sizing);
353
- const sizes = grandParent.children.map((size, i) => grandParent.getChildSize(i));
355
+ const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
354
356
  grandParent.removeChild(parentIndex, sizing);
355
357
  if (sibling instanceof BranchNode) {
356
358
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
@@ -5,11 +5,8 @@ import { GridviewComponentOptions } from './options';
5
5
  import { BaseGrid, Direction, IBaseGrid, IGridPanelView } from './baseComponentGridview';
6
6
  import { GridviewPanel, GridviewInitParameters, GridPanelViewState, IGridviewPanel } from './gridviewPanel';
7
7
  import { BaseComponentOptions } from '../panel/types';
8
- import { GridviewPanelApiImpl } from '../api/gridviewPanelApi';
9
8
  import { Orientation, Sizing } from '../splitview/core/splitview';
10
- interface PanelReference {
11
- api: GridviewPanelApiImpl;
12
- }
9
+ import { Event } from '../events';
13
10
  export interface SerializedGridview {
14
11
  grid: {
15
12
  height: number;
@@ -37,6 +34,7 @@ export interface IGridPanelComponentView extends IGridPanelView {
37
34
  export declare type GridviewComponentUpdateOptions = Pick<GridviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
38
35
  export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
39
36
  readonly orientation: Orientation;
37
+ readonly onDidLayoutFromJSON: Event<void>;
40
38
  updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
41
39
  addPanel(options: AddComponentOptions): void;
42
40
  removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
@@ -55,6 +53,8 @@ export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
55
53
  export declare class GridviewComponent extends BaseGrid<GridviewPanel> implements IGridviewComponent {
56
54
  private _options;
57
55
  private _deserializer;
56
+ private readonly _onDidLayoutfromJSON;
57
+ readonly onDidLayoutFromJSON: Event<void>;
58
58
  get orientation(): Orientation;
59
59
  set orientation(value: Orientation);
60
60
  get options(): GridviewComponentOptions;
@@ -79,10 +79,9 @@ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implement
79
79
  reference: string;
80
80
  size?: number;
81
81
  }): void;
82
- addPanel(options: AddComponentOptions): PanelReference;
82
+ addPanel(options: AddComponentOptions): void;
83
83
  private registerPanel;
84
84
  moveGroup(referenceGroup: IGridPanelComponentView, groupId: string, target: Position): void;
85
85
  removeGroup(group: GridviewPanel): void;
86
86
  dispose(): void;
87
87
  }
88
- export {};
@@ -2,9 +2,10 @@ import { getRelativeLocation, getGridLocation, } from './gridview';
2
2
  import { Position } from '../dnd/droptarget';
3
3
  import { tail, sequenceEquals } from '../array';
4
4
  import { CompositeDisposable } from '../lifecycle';
5
- import { BaseGrid, GroupChangeKind, toTarget, } from './baseComponentGridview';
5
+ import { BaseGrid, toTarget, } from './baseComponentGridview';
6
6
  import { GridviewApi } from '../api/component.api';
7
7
  import { createComponent } from '../panel/componentFactory';
8
+ import { Emitter } from '../events';
8
9
  export class GridviewComponent extends BaseGrid {
9
10
  constructor(element, options) {
10
11
  super(element, {
@@ -12,6 +13,8 @@ export class GridviewComponent extends BaseGrid {
12
13
  orientation: options.orientation,
13
14
  styles: options.styles,
14
15
  });
16
+ this._onDidLayoutfromJSON = new Emitter();
17
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
15
18
  this._options = options;
16
19
  if (!this.options.components) {
17
20
  this.options.components = {};
@@ -64,7 +67,7 @@ export class GridviewComponent extends BaseGrid {
64
67
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
65
68
  }
66
69
  setActive(panel) {
67
- this._groups.forEach((value, key) => {
70
+ this._groups.forEach((value, _key) => {
68
71
  value.value.setActive(panel === value.value);
69
72
  });
70
73
  }
@@ -77,8 +80,12 @@ export class GridviewComponent extends BaseGrid {
77
80
  }
78
81
  fromJSON(serializedGridview, deferComponentLayout) {
79
82
  const { grid, activePanel } = serializedGridview;
83
+ const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
84
+ for (const group of groups) {
85
+ group.disposable.dispose();
86
+ this.doRemoveGroup(group.value, { skipActive: true });
87
+ }
80
88
  this.gridview.clear();
81
- this._groups.clear();
82
89
  const queue = [];
83
90
  this.gridview.deserialize(grid, {
84
91
  fromJSON: (node) => {
@@ -119,7 +126,7 @@ export class GridviewComponent extends BaseGrid {
119
126
  this.doSetGroupActive(panel);
120
127
  }
121
128
  }
122
- this._onGridEvent.fire({ kind: GroupChangeKind.LAYOUT_FROM_JSON });
129
+ this._onDidLayoutfromJSON.fire();
123
130
  }
124
131
  movePanel(panel, options) {
125
132
  var _a;
@@ -175,7 +182,6 @@ export class GridviewComponent extends BaseGrid {
175
182
  });
176
183
  this.registerPanel(view);
177
184
  this.doAddGroup(view, relativeLocation, options.size);
178
- return { api: view.api };
179
185
  }
180
186
  registerPanel(panel) {
181
187
  const disposable = new CompositeDisposable(panel.api.onDidFocusChange((event) => {
@@ -226,13 +232,9 @@ export class GridviewComponent extends BaseGrid {
226
232
  }
227
233
  removeGroup(group) {
228
234
  super.removeGroup(group);
229
- const panel = this._groups.get(group.id);
230
- if (panel) {
231
- panel.disposable.dispose();
232
- this._groups.delete(group.id);
233
- }
234
235
  }
235
236
  dispose() {
236
237
  super.dispose();
238
+ this._onDidLayoutfromJSON.dispose();
237
239
  }
238
240
  }
@@ -50,7 +50,6 @@ export declare abstract class GridviewPanel extends BasePanelView<GridviewPanelA
50
50
  init(parameters: GridviewInitParameters): void;
51
51
  private updateConstraints;
52
52
  toJSON(): GridPanelViewState;
53
- dispose(): void;
54
53
  }
55
54
  export interface GridPanelViewState extends BasePanelViewState {
56
55
  minimumHeight?: number;
@@ -15,12 +15,12 @@ export class GridviewPanel extends BasePanelView {
15
15
  this._snap = false;
16
16
  this._onDidChange = new Emitter();
17
17
  this.onDidChange = this._onDidChange.event;
18
- this.addDisposables(this.api.onVisibilityChange((event) => {
18
+ this.addDisposables(this._onDidChange, this.api.onVisibilityChange((event) => {
19
19
  const { isVisible } = event;
20
- const { containerApi } = this.params;
20
+ const { containerApi } = this._params;
21
21
  containerApi.setVisible(this, isVisible);
22
22
  }), this.api.onActiveChange(() => {
23
- const { containerApi } = this.params;
23
+ const { containerApi } = this._params;
24
24
  containerApi.setActive(this);
25
25
  }), this.api.onDidConstraintsChangeInternal((event) => {
26
26
  if (typeof event.minimumWidth === 'number' ||
@@ -135,7 +135,4 @@ export class GridviewPanel extends BasePanelView {
135
135
  const minimum = (value) => (value <= 0 ? undefined : value);
136
136
  return Object.assign(Object.assign({}, state), { minimumHeight: minimum(this.minimumHeight), maximumHeight: maximum(this.maximumHeight), minimumWidth: minimum(this.minimumWidth), maximumWidth: maximum(this.maximumWidth), snap: this.snap, priority: this.priority });
137
137
  }
138
- dispose() {
139
- super.dispose();
140
- }
141
138
  }
@@ -92,6 +92,7 @@ export class LeafNode {
92
92
  this.view.layout(this.width, this.height);
93
93
  }
94
94
  dispose() {
95
+ this._onDidChange.dispose();
95
96
  this._disposable.dispose();
96
97
  }
97
98
  }
@@ -1,5 +1,4 @@
1
1
  import { DockviewPanelApi } from '../api/groupPanelApi';
2
- import { Event } from '../events';
3
2
  import { IDisposable } from '../lifecycle';
4
3
  import { HeaderPartInitParameters } from './types';
5
4
  import { IPanel, PanelInitParameters, PanelUpdateEvent, Parameters } from '../panel/types';
@@ -19,11 +18,9 @@ export interface IGroupPanel extends IDisposable, IPanel {
19
18
  readonly api: DockviewPanelApi;
20
19
  readonly title: string;
21
20
  readonly suppressClosable: boolean;
21
+ readonly params: Record<string, any> | undefined;
22
22
  updateParentGroup(group: GroupviewPanel, isGroupActive: boolean): void;
23
- setDirty(isDirty: boolean): void;
24
- close?(): Promise<boolean>;
25
23
  init(params: IGroupPanelInitParameters): void;
26
- onDidStateChange: Event<void>;
27
24
  toJSON(): GroupviewPanelState;
28
25
  update(event: GroupPanelUpdateEvent): void;
29
26
  }
@@ -35,7 +32,4 @@ export interface GroupviewPanelState {
35
32
  [key: string]: any;
36
33
  };
37
34
  suppressClosable?: boolean;
38
- state?: {
39
- [key: string]: any;
40
- };
41
35
  }
@@ -11,8 +11,7 @@ import { DockviewDropTargets } from './dnd';
11
11
  export declare enum GroupChangeKind2 {
12
12
  ADD_PANEL = "ADD_PANEL",
13
13
  REMOVE_PANEL = "REMOVE_PANEL",
14
- PANEL_ACTIVE = "PANEL_ACTIVE",
15
- GROUP_ACTIVE = "GROUP_ACTIVE"
14
+ PANEL_ACTIVE = "PANEL_ACTIVE"
16
15
  }
17
16
  export interface DndService {
18
17
  canDisplayOverlay(group: IGroupview, event: DragEvent, target: DockviewDropTargets): boolean;
@@ -48,20 +47,26 @@ export interface GroupPanelViewState {
48
47
  activeView?: string;
49
48
  id: string;
50
49
  }
50
+ export interface GroupviewDropEvent {
51
+ nativeEvent: DragEvent;
52
+ position: Position;
53
+ index?: number;
54
+ }
51
55
  export interface IGroupview extends IDisposable, IGridPanelView {
52
56
  readonly isActive: boolean;
53
57
  readonly size: number;
54
58
  readonly panels: IGroupPanel[];
55
59
  readonly tabHeight: number | undefined;
60
+ readonly activePanel: IGroupPanel | undefined;
61
+ readonly onDidDrop: Event<GroupviewDropEvent>;
56
62
  isPanelActive: (panel: IGroupPanel) => boolean;
57
- activePanel: IGroupPanel | undefined;
58
63
  indexOf(panel: IGroupPanel): number;
59
64
  openPanel(panel: IGroupPanel, options?: {
60
65
  index?: number;
61
66
  skipFocus?: boolean;
62
67
  }): void;
63
- closePanel(panel: IGroupPanel): Promise<boolean>;
64
- closeAllPanels(): Promise<boolean>;
68
+ closePanel(panel: IGroupPanel): void;
69
+ closeAllPanels(): void;
65
70
  containsPanel(panel: IGroupPanel): boolean;
66
71
  removePanel: (panelOrId: IGroupPanel | string) => IGroupPanel;
67
72
  onDidGroupChange: Event<GroupviewChangeEvent>;
@@ -100,6 +105,8 @@ export declare class Groupview extends CompositeDisposable implements IGroupview
100
105
  readonly onMove: Event<GroupMoveEvent>;
101
106
  private readonly _onDidGroupChange;
102
107
  readonly onDidGroupChange: Event<GroupviewChangeEvent>;
108
+ private readonly _onDidDrop;
109
+ readonly onDidDrop: Event<GroupviewDropEvent>;
103
110
  get element(): HTMLElement;
104
111
  get activePanel(): IGroupPanel | undefined;
105
112
  get tabHeight(): number | undefined;
@@ -112,6 +119,7 @@ export declare class Groupview extends CompositeDisposable implements IGroupview
112
119
  get maximumHeight(): number;
113
120
  get minimumWidth(): number;
114
121
  get maximumWidth(): number;
122
+ get hasWatermark(): boolean;
115
123
  constructor(container: HTMLElement, accessor: IDockviewComponent, id: string, options: GroupOptions, parent: GroupviewPanel);
116
124
  initialize(): void;
117
125
  isContentFocused(): boolean;
@@ -126,16 +134,16 @@ export declare class Groupview extends CompositeDisposable implements IGroupview
126
134
  suppressRoll?: boolean;
127
135
  }): void;
128
136
  containsPanel(panel: IGroupPanel): boolean;
129
- init(params: PanelInitParameters): void;
130
- update(params: PanelUpdateEvent): void;
137
+ init(_params: PanelInitParameters): void;
138
+ update(_params: PanelUpdateEvent): void;
131
139
  focus(): void;
132
140
  openPanel(panel: IGroupPanel, options?: {
133
141
  index?: number;
134
142
  skipFocus?: boolean;
135
143
  }): void;
136
144
  removePanel(groupItemOrId: IGroupPanel | string): IGroupPanel;
137
- closeAllPanels(): Promise<boolean>;
138
- closePanel: (panel: IGroupPanel) => Promise<boolean>;
145
+ closeAllPanels(): void;
146
+ closePanel(panel: IGroupPanel): void;
139
147
  private doClose;
140
148
  isPanelActive(panel: IGroupPanel): boolean;
141
149
  updateActions(): void;
@@ -147,7 +155,7 @@ export declare class Groupview extends CompositeDisposable implements IGroupview
147
155
  private doSetActivePanel;
148
156
  private updateMru;
149
157
  private updateContainer;
150
- canDisplayOverlay(dragOverEvent: DragEvent, target: DockviewDropTargets): boolean;
158
+ canDisplayOverlay(event: DragEvent, target: DockviewDropTargets): boolean;
151
159
  private handleDropEvent;
152
160
  dispose(): void;
153
161
  }