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.
- package/README.md +243 -186
- package/dist/cjs/api/component.api.d.ts +31 -25
- package/dist/cjs/api/component.api.js +97 -40
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +1 -0
- package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
- package/dist/cjs/api/groupPanelApi.d.ts +11 -14
- package/dist/cjs/api/groupPanelApi.js +19 -17
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +0 -25
- package/dist/cjs/api/panelApi.js +1 -20
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/api/paneviewPanelApi.js +1 -0
- package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/splitviewPanelApi.js +1 -5
- package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/cjs/dnd/abstractDragHandler.js +15 -15
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
- package/dist/cjs/dnd/dataTransfer.js +1 -45
- package/dist/cjs/dnd/dataTransfer.js.map +1 -1
- package/dist/cjs/dnd/dnd.d.ts +1 -14
- package/dist/cjs/dnd/dnd.js +1 -79
- package/dist/cjs/dnd/dnd.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +3 -0
- package/dist/cjs/dnd/droptarget.js +72 -48
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -2
- package/dist/cjs/dockview/components/tab/defaultTab.js +1 -9
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
- package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
- package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +34 -23
- package/dist/cjs/dockview/dockviewComponent.js +117 -209
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +3 -5
- package/dist/cjs/dockview/dockviewGroupPanel.js +10 -31
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +2 -1
- package/dist/cjs/events.js +25 -4
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +12 -20
- package/dist/cjs/gridview/baseComponentGridview.js +49 -45
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts +5 -8
- package/dist/cjs/gridview/basePanelView.js +16 -8
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +3 -3
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +21 -18
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +5 -6
- package/dist/cjs/gridview/gridviewComponent.js +33 -9
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
- package/dist/cjs/gridview/gridviewPanel.js +3 -6
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +2 -1
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +1 -7
- package/dist/cjs/groupview/groupview.d.ts +18 -10
- package/dist/cjs/groupview/groupview.js +51 -129
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +5 -2
- package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
- package/dist/cjs/groupview/panel/content.d.ts +1 -1
- package/dist/cjs/groupview/panel/content.js +2 -1
- package/dist/cjs/groupview/panel/content.js.map +1 -1
- package/dist/cjs/groupview/tab.d.ts +10 -13
- package/dist/cjs/groupview/tab.js +22 -80
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.js +4 -6
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/hostedContainer.js +2 -2
- package/dist/cjs/hostedContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +8 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lifecycle.js +2 -1
- package/dist/cjs/lifecycle.js.map +1 -1
- package/dist/cjs/panel/types.d.ts +0 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneview.d.ts +3 -1
- package/dist/cjs/paneview/paneview.js +13 -7
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +7 -6
- package/dist/cjs/paneview/paneviewComponent.js +65 -8
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.js +1 -1
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.js +1 -3
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/components.js +5 -1
- package/dist/cjs/react/dockview/components.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +9 -9
- package/dist/cjs/react/dockview/dockview.js +40 -5
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
- package/dist/cjs/react/dockview/reactContentPart.js +6 -17
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
- package/dist/cjs/react/dockview/reactHeaderPart.js +3 -2
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +3 -4
- package/dist/cjs/react/dockview/reactWatermarkPart.js +3 -4
- package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
- package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
- package/dist/cjs/react/gridview/gridview.js +9 -2
- package/dist/cjs/react/gridview/gridview.js.map +1 -1
- package/dist/cjs/react/gridview/view.d.ts +3 -2
- package/dist/cjs/react/gridview/view.js +2 -2
- package/dist/cjs/react/gridview/view.js.map +1 -1
- package/dist/cjs/react/index.d.ts +1 -0
- package/dist/cjs/react/index.js +5 -1
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/paneview/paneview.js +6 -2
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/react.js +6 -3
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/splitview.js +8 -2
- package/dist/cjs/react/splitview/splitview.js.map +1 -1
- package/dist/cjs/react/splitview/view.js +2 -2
- package/dist/cjs/react/splitview/view.js.map +1 -1
- package/dist/cjs/splitview/core/splitview.js +1 -1
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +0 -3
- package/dist/cjs/splitview/splitviewComponent.js +50 -6
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts +1 -6
- package/dist/cjs/splitview/splitviewPanel.js +5 -3
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/dockview.amd.js +666 -791
- package/dist/dockview.amd.min.js +2 -16
- package/dist/dockview.amd.min.noStyle.js +2 -16
- package/dist/dockview.amd.noStyle.js +665 -790
- package/dist/dockview.cjs.js +666 -791
- package/dist/dockview.esm.js +666 -780
- package/dist/dockview.esm.min.js +2 -16
- package/dist/dockview.js +666 -791
- package/dist/dockview.min.js +2 -16
- package/dist/dockview.min.noStyle.js +2 -16
- package/dist/dockview.noStyle.js +665 -790
- package/dist/esm/api/component.api.d.ts +31 -25
- package/dist/esm/api/component.api.js +47 -26
- package/dist/esm/api/gridviewPanelApi.js +1 -0
- package/dist/esm/api/groupPanelApi.d.ts +11 -14
- package/dist/esm/api/groupPanelApi.js +18 -13
- package/dist/esm/api/panelApi.d.ts +0 -25
- package/dist/esm/api/panelApi.js +1 -20
- package/dist/esm/api/paneviewPanelApi.js +1 -0
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
- package/dist/esm/api/splitviewPanelApi.js +1 -5
- package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/esm/dnd/abstractDragHandler.js +10 -10
- package/dist/esm/dnd/dataTransfer.d.ts +0 -25
- package/dist/esm/dnd/dataTransfer.js +0 -40
- package/dist/esm/dnd/dnd.d.ts +1 -14
- package/dist/esm/dnd/dnd.js +1 -69
- package/dist/esm/dnd/droptarget.d.ts +3 -0
- package/dist/esm/dnd/droptarget.js +72 -48
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -2
- package/dist/esm/dockview/components/tab/defaultTab.js +2 -10
- package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
- package/dist/esm/dockview/components/watermark/watermark.js +4 -4
- package/dist/esm/dockview/dockviewComponent.d.ts +34 -23
- package/dist/esm/dockview/dockviewComponent.js +82 -150
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +3 -5
- package/dist/esm/dockview/dockviewGroupPanel.js +6 -30
- package/dist/esm/dockview/options.d.ts +2 -1
- package/dist/esm/events.js +2 -3
- package/dist/esm/gridview/baseComponentGridview.d.ts +12 -20
- package/dist/esm/gridview/baseComponentGridview.js +27 -45
- package/dist/esm/gridview/basePanelView.d.ts +5 -8
- package/dist/esm/gridview/basePanelView.js +12 -8
- package/dist/esm/gridview/branchNode.js +3 -3
- package/dist/esm/gridview/gridview.js +18 -16
- package/dist/esm/gridview/gridviewComponent.d.ts +5 -6
- package/dist/esm/gridview/gridviewComponent.js +12 -10
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
- package/dist/esm/gridview/gridviewPanel.js +3 -6
- package/dist/esm/gridview/leafNode.js +1 -0
- package/dist/esm/groupview/groupPanel.d.ts +1 -7
- package/dist/esm/groupview/groupview.d.ts +18 -10
- package/dist/esm/groupview/groupview.js +30 -59
- package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
- package/dist/esm/groupview/panel/content.d.ts +1 -1
- package/dist/esm/groupview/panel/content.js +2 -1
- package/dist/esm/groupview/tab.d.ts +10 -13
- package/dist/esm/groupview/tab.js +17 -24
- package/dist/esm/groupview/titlebar/tabsContainer.js +4 -6
- package/dist/esm/hostedContainer.js +2 -2
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +1 -2
- package/dist/esm/lifecycle.js +2 -1
- package/dist/esm/panel/types.d.ts +0 -2
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/esm/paneview/paneview.d.ts +3 -1
- package/dist/esm/paneview/paneview.js +10 -6
- package/dist/esm/paneview/paneviewComponent.d.ts +7 -6
- package/dist/esm/paneview/paneviewComponent.js +31 -7
- package/dist/esm/paneview/paneviewPanel.js +1 -1
- package/dist/esm/react/deserializer.js +1 -3
- package/dist/esm/react/dockview/dockview.d.ts +9 -9
- package/dist/esm/react/dockview/dockview.js +36 -5
- package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
- package/dist/esm/react/dockview/reactContentPart.js +6 -17
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
- package/dist/esm/react/dockview/reactHeaderPart.js +3 -2
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +3 -4
- package/dist/esm/react/dockview/reactWatermarkPart.js +3 -4
- package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
- package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
- package/dist/esm/react/gridview/gridview.js +4 -1
- package/dist/esm/react/gridview/view.d.ts +3 -2
- package/dist/esm/react/gridview/view.js +2 -2
- package/dist/esm/react/index.d.ts +1 -0
- package/dist/esm/react/paneview/paneview.js +1 -1
- package/dist/esm/react/react.js +1 -2
- package/dist/esm/react/splitview/splitview.js +3 -1
- package/dist/esm/react/splitview/view.js +2 -2
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +0 -3
- package/dist/esm/splitview/splitviewComponent.js +17 -6
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
- package/dist/esm/splitview/splitviewPanel.js +5 -3
- package/dist/styles/dockview.css +14 -17
- package/package.json +13 -13
- package/dist/cjs/functions.d.ts +0 -1
- package/dist/cjs/functions.js +0 -42
- package/dist/cjs/functions.js.map +0 -1
- package/dist/cjs/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/cjs/groupview/panel/hostedPanel.js +0 -57
- package/dist/cjs/groupview/panel/hostedPanel.js.map +0 -1
- package/dist/cjs/json.d.ts +0 -1
- package/dist/cjs/json.js +0 -14
- package/dist/cjs/json.js.map +0 -1
- package/dist/esm/functions.d.ts +0 -1
- package/dist/esm/functions.js +0 -8
- package/dist/esm/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/esm/groupview/panel/hostedPanel.js +0 -43
- package/dist/esm/json.d.ts +0 -1
- 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
|
-
|
|
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.
|
|
42
|
+
this._onDidLayoutChange.fire();
|
|
53
43
|
}));
|
|
54
|
-
this.addDisposables((() => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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(
|
|
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
|
|
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.
|
|
42
|
-
this.part.update(this.
|
|
45
|
+
if (this._params) {
|
|
46
|
+
this.part.update(this._params.params);
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
init(parameters) {
|
|
47
|
-
this.
|
|
51
|
+
this._params = parameters;
|
|
48
52
|
this.part = this.getComponent();
|
|
49
53
|
}
|
|
50
54
|
update(event) {
|
|
51
55
|
var _a, _b;
|
|
52
|
-
this.
|
|
53
|
-
(_b = this.part) === null || _b === void 0 ? void 0 : _b.update({ params: this.
|
|
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
|
|
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.
|
|
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))((
|
|
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
|
-
|
|
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((
|
|
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
|
-
|
|
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):
|
|
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,
|
|
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,
|
|
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.
|
|
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.
|
|
20
|
+
const { containerApi } = this._params;
|
|
21
21
|
containerApi.setVisible(this, isVisible);
|
|
22
22
|
}), this.api.onActiveChange(() => {
|
|
23
|
-
const { containerApi } = this.
|
|
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
|
}
|
|
@@ -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):
|
|
64
|
-
closeAllPanels():
|
|
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(
|
|
130
|
-
update(
|
|
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():
|
|
138
|
-
closePanel
|
|
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(
|
|
158
|
+
canDisplayOverlay(event: DragEvent, target: DockviewDropTargets): boolean;
|
|
151
159
|
private handleDropEvent;
|
|
152
160
|
dispose(): void;
|
|
153
161
|
}
|