dockview 1.2.0 → 1.4.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 +3 -3
- package/dist/cjs/api/component.api.d.ts +37 -37
- package/dist/cjs/api/component.api.js +44 -27
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/groupPanelApi.d.ts +7 -7
- package/dist/cjs/api/groupPanelApi.js +1 -1
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.js +1 -1
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +3 -1
- package/dist/cjs/dnd/droptarget.js +14 -14
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +4 -4
- package/dist/cjs/dockview/components/tab/defaultTab.js +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +4 -4
- 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/defaultGroupPanelView.d.ts +3 -3
- package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
- package/dist/cjs/dockview/deserializer.d.ts +9 -6
- package/dist/cjs/dockview/deserializer.js +17 -10
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +34 -33
- package/dist/cjs/dockview/dockviewComponent.js +43 -28
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +6 -6
- package/dist/cjs/dockview/dockviewGroupPanel.js +5 -4
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +5 -6
- package/dist/cjs/gridview/baseComponentGridview.d.ts +0 -5
- package/dist/cjs/gridview/baseComponentGridview.js +26 -10
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.js +2 -0
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.d.ts +2 -2
- package/dist/cjs/gridview/gridview.js +1 -1
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +5 -11
- package/dist/cjs/gridview/gridviewComponent.js +34 -20
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +4 -4
- package/dist/cjs/groupview/groupview.d.ts +55 -41
- package/dist/cjs/groupview/groupview.js +63 -23
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +16 -2
- package/dist/cjs/groupview/groupviewPanel.js +63 -18
- package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
- package/dist/cjs/groupview/panel/content.d.ts +4 -4
- package/dist/cjs/groupview/panel/content.js +1 -1
- package/dist/cjs/groupview/panel/content.js.map +1 -1
- package/dist/cjs/groupview/tab.d.ts +4 -4
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +13 -9
- package/dist/cjs/groupview/titlebar/tabsContainer.js +17 -3
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/groupview/types.d.ts +4 -4
- package/dist/cjs/hostedContainer.js +2 -2
- package/dist/cjs/hostedContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/panel/types.d.ts +1 -0
- 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.js +3 -3
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneview.d.ts +3 -1
- package/dist/cjs/paneview/paneview.js +9 -4
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +13 -12
- package/dist/cjs/paneview/paneviewComponent.js +74 -32
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/react/deserializer.d.ts +3 -2
- package/dist/cjs/react/deserializer.js +2 -2
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +2 -3
- package/dist/cjs/react/dockview/dockview.js +18 -10
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.d.ts +3 -3
- package/dist/cjs/react/dockview/reactContentPart.js +2 -13
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +3 -3
- package/dist/cjs/react/dockview/reactHeaderPart.js +2 -2
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +3 -3
- package/dist/cjs/react/dockview/reactWatermarkPart.js +2 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
- package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +3 -3
- 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 +3 -3
- 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.d.ts +2 -2
- package/dist/cjs/react/gridview/gridview.js +2 -1
- 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.map +1 -1
- package/dist/cjs/react/paneview/paneview.d.ts +2 -2
- package/dist/cjs/react/paneview/paneview.js +1 -1
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/splitview/splitview.d.ts +2 -2
- package/dist/cjs/react/splitview/splitview.js +2 -1
- package/dist/cjs/react/splitview/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +11 -14
- package/dist/cjs/splitview/splitviewComponent.js +80 -47
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/dockview.amd.js +2378 -2309
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +2377 -2308
- package/dist/dockview.cjs.js +2378 -2309
- package/dist/dockview.esm.js +2378 -2309
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +2378 -2309
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +2377 -2308
- package/dist/esm/api/component.api.d.ts +37 -37
- package/dist/esm/api/component.api.js +24 -27
- package/dist/esm/api/groupPanelApi.d.ts +7 -7
- package/dist/esm/api/groupPanelApi.js +1 -1
- package/dist/esm/dnd/abstractDragHandler.js +1 -1
- package/dist/esm/dnd/droptarget.d.ts +3 -1
- package/dist/esm/dnd/droptarget.js +14 -14
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +4 -4
- package/dist/esm/dockview/components/tab/defaultTab.js +1 -1
- package/dist/esm/dockview/components/watermark/watermark.d.ts +4 -4
- package/dist/esm/dockview/components/watermark/watermark.js +4 -4
- package/dist/esm/dockview/defaultGroupPanelView.d.ts +3 -3
- package/dist/esm/dockview/deserializer.d.ts +9 -6
- package/dist/esm/dockview/deserializer.js +17 -10
- package/dist/esm/dockview/dockviewComponent.d.ts +34 -33
- package/dist/esm/dockview/dockviewComponent.js +44 -29
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +6 -6
- package/dist/esm/dockview/dockviewGroupPanel.js +5 -4
- package/dist/esm/dockview/options.d.ts +5 -6
- package/dist/esm/gridview/baseComponentGridview.d.ts +0 -5
- package/dist/esm/gridview/baseComponentGridview.js +4 -10
- package/dist/esm/gridview/basePanelView.js +2 -0
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.d.ts +2 -2
- package/dist/esm/gridview/gridview.js +1 -1
- package/dist/esm/gridview/gridviewComponent.d.ts +5 -11
- package/dist/esm/gridview/gridviewComponent.js +12 -20
- package/dist/esm/groupview/groupPanel.d.ts +4 -4
- package/dist/esm/groupview/groupview.d.ts +55 -41
- package/dist/esm/groupview/groupview.js +48 -20
- package/dist/esm/groupview/groupviewPanel.d.ts +16 -2
- package/dist/esm/groupview/groupviewPanel.js +24 -4
- package/dist/esm/groupview/panel/content.d.ts +4 -4
- package/dist/esm/groupview/panel/content.js +1 -1
- package/dist/esm/groupview/tab.d.ts +4 -4
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +13 -9
- package/dist/esm/groupview/titlebar/tabsContainer.js +13 -3
- package/dist/esm/groupview/types.d.ts +4 -4
- package/dist/esm/hostedContainer.js +2 -2
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/panel/types.d.ts +1 -0
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
- package/dist/esm/paneview/draggablePaneviewPanel.js +3 -3
- package/dist/esm/paneview/paneview.d.ts +3 -1
- package/dist/esm/paneview/paneview.js +8 -4
- package/dist/esm/paneview/paneviewComponent.d.ts +13 -12
- package/dist/esm/paneview/paneviewComponent.js +36 -31
- package/dist/esm/react/deserializer.d.ts +3 -2
- package/dist/esm/react/deserializer.js +2 -2
- package/dist/esm/react/dockview/dockview.d.ts +2 -3
- package/dist/esm/react/dockview/dockview.js +18 -10
- package/dist/esm/react/dockview/reactContentPart.d.ts +3 -3
- package/dist/esm/react/dockview/reactContentPart.js +2 -13
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +3 -3
- package/dist/esm/react/dockview/reactHeaderPart.js +2 -2
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +3 -3
- package/dist/esm/react/dockview/reactWatermarkPart.js +2 -2
- package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +3 -3
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
- package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +3 -3
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
- package/dist/esm/react/gridview/gridview.d.ts +2 -2
- package/dist/esm/react/gridview/gridview.js +2 -1
- package/dist/esm/react/gridview/view.d.ts +3 -2
- package/dist/esm/react/paneview/paneview.d.ts +2 -2
- package/dist/esm/react/paneview/paneview.js +1 -1
- package/dist/esm/react/splitview/splitview.d.ts +2 -2
- package/dist/esm/react/splitview/splitview.js +2 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +11 -14
- package/dist/esm/splitview/splitviewComponent.js +39 -42
- package/dist/styles/dockview.css +5 -6
- package/package.json +13 -12
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { SerializedGridObject } from '../gridview/gridview';
|
|
2
2
|
import { Position } from '../dnd/droptarget';
|
|
3
|
-
import { GroupviewPanelState,
|
|
3
|
+
import { GroupviewPanelState, IDockviewPanel } from '../groupview/groupPanel';
|
|
4
4
|
import { Event } from '../events';
|
|
5
5
|
import { IWatermarkRenderer } from '../groupview/types';
|
|
6
6
|
import { IPanelDeserializer } from './deserializer';
|
|
7
|
-
import { AddGroupOptions, AddPanelOptions,
|
|
7
|
+
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, MovementOptions, TabContextMenuEvent } from './options';
|
|
8
8
|
import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
9
9
|
import { DockviewApi } from '../api/component.api';
|
|
10
10
|
import { LayoutMouseEvent } from '../groupview/tab';
|
|
11
11
|
import { Orientation } from '../splitview/core/splitview';
|
|
12
12
|
import { GroupOptions, GroupPanelViewState, GroupviewDropEvent } from '../groupview/groupview';
|
|
13
|
-
import {
|
|
13
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
14
14
|
export interface PanelReference {
|
|
15
15
|
update: (event: {
|
|
16
16
|
params: {
|
|
@@ -30,7 +30,7 @@ export interface SerializedDockview {
|
|
|
30
30
|
[key: string]: GroupviewPanelState;
|
|
31
31
|
};
|
|
32
32
|
activeGroup?: string;
|
|
33
|
-
options
|
|
33
|
+
options?: {
|
|
34
34
|
tabHeight?: number;
|
|
35
35
|
};
|
|
36
36
|
}
|
|
@@ -38,21 +38,21 @@ export declare type DockviewComponentUpdateOptions = Pick<DockviewComponentOptio
|
|
|
38
38
|
export interface DockviewDropEvent extends GroupviewDropEvent {
|
|
39
39
|
api: DockviewApi;
|
|
40
40
|
}
|
|
41
|
-
export interface IDockviewComponent extends IBaseGrid<
|
|
42
|
-
readonly activePanel:
|
|
41
|
+
export interface IDockviewComponent extends IBaseGrid<GroupPanel> {
|
|
42
|
+
readonly activePanel: IDockviewPanel | undefined;
|
|
43
43
|
readonly totalPanels: number;
|
|
44
|
-
readonly panels:
|
|
44
|
+
readonly panels: IDockviewPanel[];
|
|
45
45
|
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
46
46
|
tabHeight: number | undefined;
|
|
47
47
|
deserializer: IPanelDeserializer | undefined;
|
|
48
48
|
updateOptions(options: DockviewComponentUpdateOptions): void;
|
|
49
|
-
moveGroupOrPanel(referenceGroup:
|
|
50
|
-
doSetGroupActive: (group:
|
|
51
|
-
removeGroup: (group:
|
|
49
|
+
moveGroupOrPanel(referenceGroup: GroupPanel, groupId: string, itemId: string, target: Position, index?: number): void;
|
|
50
|
+
doSetGroupActive: (group: GroupPanel, skipFocus?: boolean) => void;
|
|
51
|
+
removeGroup: (group: GroupPanel) => void;
|
|
52
52
|
options: DockviewComponentOptions;
|
|
53
|
-
addPanel(options: AddPanelOptions):
|
|
54
|
-
removePanel(panel:
|
|
55
|
-
getGroupPanel: (id: string) =>
|
|
53
|
+
addPanel(options: AddPanelOptions): IDockviewPanel;
|
|
54
|
+
removePanel(panel: IDockviewPanel): void;
|
|
55
|
+
getGroupPanel: (id: string) => IDockviewPanel | undefined;
|
|
56
56
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
57
57
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
58
58
|
addEmptyGroup(options?: AddGroupOptions): void;
|
|
@@ -61,16 +61,16 @@ export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
|
61
61
|
onTabContextMenu: Event<TabContextMenuEvent>;
|
|
62
62
|
moveToNext(options?: MovementOptions): void;
|
|
63
63
|
moveToPrevious(options?: MovementOptions): void;
|
|
64
|
-
setActivePanel(panel:
|
|
64
|
+
setActivePanel(panel: IDockviewPanel): void;
|
|
65
65
|
focus(): void;
|
|
66
66
|
toJSON(): SerializedDockview;
|
|
67
67
|
fromJSON(data: SerializedDockview): void;
|
|
68
|
-
readonly onDidRemovePanel: Event<
|
|
69
|
-
readonly onDidAddPanel: Event<
|
|
68
|
+
readonly onDidRemovePanel: Event<IDockviewPanel>;
|
|
69
|
+
readonly onDidAddPanel: Event<IDockviewPanel>;
|
|
70
70
|
readonly onDidLayoutfromJSON: Event<void>;
|
|
71
|
-
readonly onDidActivePanelChange: Event<
|
|
71
|
+
readonly onDidActivePanelChange: Event<IDockviewPanel | undefined>;
|
|
72
72
|
}
|
|
73
|
-
export declare class DockviewComponent extends BaseGrid<
|
|
73
|
+
export declare class DockviewComponent extends BaseGrid<GroupPanel> implements IDockviewComponent {
|
|
74
74
|
private _deserializer;
|
|
75
75
|
private _api;
|
|
76
76
|
private _options;
|
|
@@ -81,26 +81,26 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
81
81
|
private readonly _onDidDrop;
|
|
82
82
|
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
83
83
|
private readonly _onDidRemovePanel;
|
|
84
|
-
readonly onDidRemovePanel: Event<
|
|
84
|
+
readonly onDidRemovePanel: Event<IDockviewPanel>;
|
|
85
85
|
private readonly _onDidAddPanel;
|
|
86
|
-
readonly onDidAddPanel: Event<
|
|
86
|
+
readonly onDidAddPanel: Event<IDockviewPanel>;
|
|
87
87
|
private readonly _onDidLayoutfromJSON;
|
|
88
88
|
readonly onDidLayoutfromJSON: Event<void>;
|
|
89
89
|
private readonly _onDidActivePanelChange;
|
|
90
|
-
readonly onDidActivePanelChange: Event<
|
|
90
|
+
readonly onDidActivePanelChange: Event<IDockviewPanel | undefined>;
|
|
91
91
|
get totalPanels(): number;
|
|
92
|
-
get panels():
|
|
92
|
+
get panels(): IDockviewPanel[];
|
|
93
93
|
get deserializer(): IPanelDeserializer | undefined;
|
|
94
94
|
set deserializer(value: IPanelDeserializer | undefined);
|
|
95
95
|
get options(): DockviewComponentOptions;
|
|
96
|
-
get activePanel():
|
|
96
|
+
get activePanel(): IDockviewPanel | undefined;
|
|
97
97
|
set tabHeight(height: number | undefined);
|
|
98
98
|
get tabHeight(): number | undefined;
|
|
99
99
|
constructor(element: HTMLElement, options: DockviewComponentOptions);
|
|
100
100
|
updateOptions(options: DockviewComponentUpdateOptions): void;
|
|
101
101
|
focus(): void;
|
|
102
|
-
getGroupPanel(id: string):
|
|
103
|
-
setActivePanel(panel:
|
|
102
|
+
getGroupPanel(id: string): IDockviewPanel | undefined;
|
|
103
|
+
setActivePanel(panel: IDockviewPanel): void;
|
|
104
104
|
moveToNext(options?: MovementOptions): void;
|
|
105
105
|
moveToPrevious(options?: MovementOptions): void;
|
|
106
106
|
/**
|
|
@@ -112,20 +112,21 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
112
112
|
fromJSON(data: SerializedDockview): void;
|
|
113
113
|
closeAllGroups(): void;
|
|
114
114
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
115
|
-
addPanel(options: AddPanelOptions):
|
|
116
|
-
removePanel(panel:
|
|
115
|
+
addPanel(options: AddPanelOptions): IDockviewPanel;
|
|
116
|
+
removePanel(panel: IDockviewPanel, options?: {
|
|
117
117
|
removeEmptyGroup: boolean;
|
|
118
|
+
skipDispose: boolean;
|
|
118
119
|
}): void;
|
|
119
120
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
120
121
|
addEmptyGroup(options: AddGroupOptions): void;
|
|
121
|
-
removeGroup(group:
|
|
122
|
-
moveGroupOrPanel(referenceGroup:
|
|
123
|
-
doSetGroupActive(group:
|
|
124
|
-
createGroup(options?: GroupOptions):
|
|
125
|
-
private
|
|
122
|
+
removeGroup(group: GroupPanel, skipActive?: boolean): void;
|
|
123
|
+
moveGroupOrPanel(referenceGroup: GroupPanel, groupId: string, itemId: string, target: Position, index?: number): void;
|
|
124
|
+
doSetGroupActive(group: GroupPanel | undefined, skipFocus?: boolean): void;
|
|
125
|
+
createGroup(options?: GroupOptions): GroupPanel;
|
|
126
|
+
private createPanel;
|
|
126
127
|
private createContentComponent;
|
|
127
128
|
private createTabComponent;
|
|
128
|
-
private
|
|
129
|
+
private createGroupAtLocation;
|
|
129
130
|
private findGroup;
|
|
130
131
|
dispose(): void;
|
|
131
132
|
}
|
|
@@ -14,7 +14,7 @@ import { MouseEventKind } from '../groupview/tab';
|
|
|
14
14
|
import { Orientation } from '../splitview/core/splitview';
|
|
15
15
|
import { DefaultTab } from './components/tab/defaultTab';
|
|
16
16
|
import { GroupChangeKind2, } from '../groupview/groupview';
|
|
17
|
-
import {
|
|
17
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
18
18
|
import { DefaultGroupPanelView } from './defaultGroupPanelView';
|
|
19
19
|
const nextGroupId = sequentialNumberGenerator();
|
|
20
20
|
export class DockviewComponent extends BaseGrid {
|
|
@@ -65,7 +65,7 @@ export class DockviewComponent extends BaseGrid {
|
|
|
65
65
|
return this.panels.length;
|
|
66
66
|
}
|
|
67
67
|
get panels() {
|
|
68
|
-
return this.groups.flatMap((group) => group.
|
|
68
|
+
return this.groups.flatMap((group) => group.panels);
|
|
69
69
|
}
|
|
70
70
|
get deserializer() {
|
|
71
71
|
return this._deserializer;
|
|
@@ -81,12 +81,12 @@ export class DockviewComponent extends BaseGrid {
|
|
|
81
81
|
if (!activeGroup) {
|
|
82
82
|
return undefined;
|
|
83
83
|
}
|
|
84
|
-
return activeGroup.
|
|
84
|
+
return activeGroup.activePanel;
|
|
85
85
|
}
|
|
86
86
|
set tabHeight(height) {
|
|
87
87
|
this.options.tabHeight = height;
|
|
88
88
|
this._groups.forEach((value) => {
|
|
89
|
-
value.value.model.
|
|
89
|
+
value.value.model.header.height = height;
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
get tabHeight() {
|
|
@@ -109,9 +109,6 @@ export class DockviewComponent extends BaseGrid {
|
|
|
109
109
|
return this.panels.find((panel) => panel.id === id);
|
|
110
110
|
}
|
|
111
111
|
setActivePanel(panel) {
|
|
112
|
-
if (!panel.group) {
|
|
113
|
-
throw new Error(`Panel ${panel.id} has no associated group`);
|
|
114
|
-
}
|
|
115
112
|
this.doSetGroupActive(panel.group);
|
|
116
113
|
panel.group.model.openPanel(panel);
|
|
117
114
|
}
|
|
@@ -124,8 +121,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
124
121
|
options.group = this.activeGroup;
|
|
125
122
|
}
|
|
126
123
|
if (options.includePanel && options.group) {
|
|
127
|
-
if (options.group.
|
|
128
|
-
options.group.
|
|
124
|
+
if (options.group.activePanel !==
|
|
125
|
+
options.group.panels[options.group.panels.length - 1]) {
|
|
129
126
|
options.group.model.moveToNext({ suppressRoll: true });
|
|
130
127
|
return;
|
|
131
128
|
}
|
|
@@ -143,8 +140,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
143
140
|
options.group = this.activeGroup;
|
|
144
141
|
}
|
|
145
142
|
if (options.includePanel && options.group) {
|
|
146
|
-
if (options.group.
|
|
147
|
-
options.group.
|
|
143
|
+
if (options.group.activePanel !==
|
|
144
|
+
options.group.panels[0]) {
|
|
148
145
|
options.group.model.moveToPrevious({ suppressRoll: true });
|
|
149
146
|
return;
|
|
150
147
|
}
|
|
@@ -192,9 +189,9 @@ export class DockviewComponent extends BaseGrid {
|
|
|
192
189
|
throw new Error('no deserializer provided');
|
|
193
190
|
}
|
|
194
191
|
this.gridview.deserialize(grid, new DefaultDeserializer(this, {
|
|
195
|
-
createPanel: (id) => {
|
|
192
|
+
createPanel: (id, group) => {
|
|
196
193
|
const panelData = panels[id];
|
|
197
|
-
return this.deserializer.fromJSON(panelData);
|
|
194
|
+
return this.deserializer.fromJSON(panelData, group);
|
|
198
195
|
},
|
|
199
196
|
}));
|
|
200
197
|
if (typeof activeGroup === 'string') {
|
|
@@ -225,7 +222,9 @@ export class DockviewComponent extends BaseGrid {
|
|
|
225
222
|
}
|
|
226
223
|
addPanel(options) {
|
|
227
224
|
var _a, _b;
|
|
228
|
-
|
|
225
|
+
if (this.panels.find((_) => _.id === options.id)) {
|
|
226
|
+
throw new Error(`panel with id ${options.id} already exists`);
|
|
227
|
+
}
|
|
229
228
|
let referenceGroup;
|
|
230
229
|
if ((_a = options.position) === null || _a === void 0 ? void 0 : _a.referencePanel) {
|
|
231
230
|
const referencePanel = this.getGroupPanel(options.position.referencePanel);
|
|
@@ -237,29 +236,42 @@ export class DockviewComponent extends BaseGrid {
|
|
|
237
236
|
else {
|
|
238
237
|
referenceGroup = this.activeGroup;
|
|
239
238
|
}
|
|
239
|
+
let panel;
|
|
240
240
|
if (referenceGroup) {
|
|
241
241
|
const target = toTarget(((_b = options.position) === null || _b === void 0 ? void 0 : _b.direction) || 'within');
|
|
242
242
|
if (target === Position.Center) {
|
|
243
|
+
panel = this.createPanel(options, referenceGroup);
|
|
243
244
|
referenceGroup.model.openPanel(panel);
|
|
244
245
|
}
|
|
245
246
|
else {
|
|
246
247
|
const location = getGridLocation(referenceGroup.element);
|
|
247
248
|
const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
|
|
248
|
-
this.
|
|
249
|
+
const group = this.createGroupAtLocation(relativeLocation);
|
|
250
|
+
panel = this.createPanel(options, group);
|
|
251
|
+
group.model.openPanel(panel);
|
|
249
252
|
}
|
|
250
253
|
}
|
|
251
254
|
else {
|
|
252
|
-
this.
|
|
255
|
+
const group = this.createGroupAtLocation();
|
|
256
|
+
panel = this.createPanel(options, group);
|
|
257
|
+
group.model.openPanel(panel);
|
|
253
258
|
}
|
|
254
259
|
return panel;
|
|
255
260
|
}
|
|
256
|
-
removePanel(panel, options = {
|
|
261
|
+
removePanel(panel, options = {
|
|
262
|
+
removeEmptyGroup: true,
|
|
263
|
+
skipDispose: false,
|
|
264
|
+
}) {
|
|
257
265
|
const group = panel.group;
|
|
258
266
|
if (!group) {
|
|
259
267
|
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
260
268
|
}
|
|
261
269
|
group.model.removePanel(panel);
|
|
262
|
-
|
|
270
|
+
panel.dispose();
|
|
271
|
+
const retainGroupForWatermark = this.size === 1;
|
|
272
|
+
if (!retainGroupForWatermark &&
|
|
273
|
+
group.size === 0 &&
|
|
274
|
+
options.removeEmptyGroup) {
|
|
263
275
|
this.removeGroup(group);
|
|
264
276
|
}
|
|
265
277
|
}
|
|
@@ -292,10 +304,11 @@ export class DockviewComponent extends BaseGrid {
|
|
|
292
304
|
}
|
|
293
305
|
}
|
|
294
306
|
removeGroup(group, skipActive = false) {
|
|
295
|
-
const panels = [...group.
|
|
307
|
+
const panels = [...group.panels]; // reassign since group panels will mutate
|
|
296
308
|
for (const panel of panels) {
|
|
297
309
|
this.removePanel(panel, {
|
|
298
310
|
removeEmptyGroup: false,
|
|
311
|
+
skipDispose: false,
|
|
299
312
|
});
|
|
300
313
|
}
|
|
301
314
|
super.doRemoveGroup(group, { skipActive });
|
|
@@ -319,7 +332,7 @@ export class DockviewComponent extends BaseGrid {
|
|
|
319
332
|
else {
|
|
320
333
|
const referenceLocation = getGridLocation(referenceGroup.element);
|
|
321
334
|
const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
322
|
-
if (sourceGroup && sourceGroup.
|
|
335
|
+
if (sourceGroup && sourceGroup.size < 2) {
|
|
323
336
|
const [targetParentLocation, to] = tail(targetLocation);
|
|
324
337
|
const sourceLocation = getGridLocation(sourceGroup.element);
|
|
325
338
|
const [sourceParentLocation, from] = tail(sourceLocation);
|
|
@@ -348,7 +361,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
348
361
|
throw new Error(`No panel with id ${itemId}`);
|
|
349
362
|
}
|
|
350
363
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
351
|
-
this.
|
|
364
|
+
const group = this.createGroupAtLocation(dropLocation);
|
|
365
|
+
group.model.openPanel(groupItem);
|
|
352
366
|
}
|
|
353
367
|
}
|
|
354
368
|
}
|
|
@@ -356,8 +370,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
356
370
|
var _a, _b;
|
|
357
371
|
const isGroupAlreadyFocused = this._activeGroup === group;
|
|
358
372
|
super.doSetGroupActive(group, skipFocus);
|
|
359
|
-
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.
|
|
360
|
-
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.
|
|
373
|
+
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.activePanel)) {
|
|
374
|
+
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.activePanel);
|
|
361
375
|
}
|
|
362
376
|
}
|
|
363
377
|
createGroup(options) {
|
|
@@ -378,7 +392,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
378
392
|
id = nextGroupId.next();
|
|
379
393
|
}
|
|
380
394
|
}
|
|
381
|
-
const view = new
|
|
395
|
+
const view = new GroupPanel(this, id, options);
|
|
396
|
+
view.init({ params: {}, containerApi: null }); // required to initialized .part and allow for correct disposal of group
|
|
382
397
|
if (!this._groups.has(view.id)) {
|
|
383
398
|
const disposable = new CompositeDisposable(view.model.onMove((event) => {
|
|
384
399
|
const { groupId, itemId, target, index } = event;
|
|
@@ -408,16 +423,16 @@ export class DockviewComponent extends BaseGrid {
|
|
|
408
423
|
// not an ideal pattern
|
|
409
424
|
view.initialize();
|
|
410
425
|
if (typeof this.options.tabHeight === 'number') {
|
|
411
|
-
view.model.
|
|
426
|
+
view.model.header.height = this.options.tabHeight;
|
|
412
427
|
}
|
|
413
428
|
return view;
|
|
414
429
|
}
|
|
415
|
-
|
|
430
|
+
createPanel(options, group) {
|
|
416
431
|
const view = new DefaultGroupPanelView({
|
|
417
432
|
content: this.createContentComponent(options.id, options.component),
|
|
418
433
|
tab: this.createTabComponent(options.id, options.tabComponent),
|
|
419
434
|
});
|
|
420
|
-
const panel = new DockviewGroupPanel(options.id, this, this._api);
|
|
435
|
+
const panel = new DockviewGroupPanel(options.id, this, this._api, group);
|
|
421
436
|
panel.init({
|
|
422
437
|
view,
|
|
423
438
|
title: options.title || options.id,
|
|
@@ -434,10 +449,10 @@ export class DockviewComponent extends BaseGrid {
|
|
|
434
449
|
var _a;
|
|
435
450
|
return createComponent(id, componentName, this.options.tabComponents || {}, this.options.frameworkTabComponents, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.tab, () => new DefaultTab());
|
|
436
451
|
}
|
|
437
|
-
|
|
452
|
+
createGroupAtLocation(location = [0]) {
|
|
438
453
|
const group = this.createGroup();
|
|
439
454
|
this.doAddGroup(group, location);
|
|
440
|
-
group
|
|
455
|
+
return group;
|
|
441
456
|
}
|
|
442
457
|
findGroup(panel) {
|
|
443
458
|
var _a;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DockviewApi } from '../api/component.api';
|
|
2
2
|
import { DockviewPanelApiImpl } from '../api/groupPanelApi';
|
|
3
|
-
import { GroupPanelUpdateEvent, GroupviewPanelState,
|
|
4
|
-
import {
|
|
3
|
+
import { GroupPanelUpdateEvent, GroupviewPanelState, IDockviewPanel, IGroupPanelInitParameters } from '../groupview/groupPanel';
|
|
4
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
5
5
|
import { CompositeDisposable } from '../lifecycle';
|
|
6
6
|
import { IGroupPanelView } from './defaultGroupPanelView';
|
|
7
7
|
import { DockviewComponent } from './dockviewComponent';
|
|
8
|
-
export declare class DockviewGroupPanel extends CompositeDisposable implements
|
|
8
|
+
export declare class DockviewGroupPanel extends CompositeDisposable implements IDockviewPanel {
|
|
9
9
|
readonly id: string;
|
|
10
10
|
private readonly containerApi;
|
|
11
11
|
private readonly mutableDisposable;
|
|
@@ -18,16 +18,16 @@ export declare class DockviewGroupPanel extends CompositeDisposable implements I
|
|
|
18
18
|
get params(): any;
|
|
19
19
|
get title(): string;
|
|
20
20
|
get suppressClosable(): boolean;
|
|
21
|
-
get group():
|
|
21
|
+
get group(): GroupPanel;
|
|
22
22
|
get view(): IGroupPanelView | undefined;
|
|
23
|
-
constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi);
|
|
23
|
+
constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi, group: GroupPanel);
|
|
24
24
|
init(params: IGroupPanelInitParameters): void;
|
|
25
25
|
focus(): void;
|
|
26
26
|
toJSON(): GroupviewPanelState;
|
|
27
27
|
setTitle(title: string): void;
|
|
28
28
|
setSuppressClosable(suppressClosable: boolean): void;
|
|
29
29
|
update(event: GroupPanelUpdateEvent): void;
|
|
30
|
-
updateParentGroup(group:
|
|
30
|
+
updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
|
|
31
31
|
layout(width: number, height: number): void;
|
|
32
32
|
dispose(): void;
|
|
33
33
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { DockviewPanelApiImpl } from '../api/groupPanelApi';
|
|
2
2
|
import { CompositeDisposable, MutableDisposable } from '../lifecycle';
|
|
3
3
|
export class DockviewGroupPanel extends CompositeDisposable {
|
|
4
|
-
constructor(id, accessor, containerApi) {
|
|
4
|
+
constructor(id, accessor, containerApi, group) {
|
|
5
5
|
super();
|
|
6
6
|
this.id = id;
|
|
7
7
|
this.containerApi = containerApi;
|
|
8
8
|
this.mutableDisposable = new MutableDisposable();
|
|
9
9
|
this._suppressClosable = false;
|
|
10
10
|
this._title = '';
|
|
11
|
+
this._group = group;
|
|
11
12
|
this.api = new DockviewPanelApiImpl(this, this._group);
|
|
12
13
|
this.addDisposables(this.api.onActiveChange(() => {
|
|
13
14
|
accessor.setActivePanel(this);
|
|
@@ -104,13 +105,13 @@ export class DockviewGroupPanel extends CompositeDisposable {
|
|
|
104
105
|
(_a = this.view) === null || _a === void 0 ? void 0 : _a.updateParentGroup(this._group, this._group.model.isPanelActive(this));
|
|
105
106
|
}
|
|
106
107
|
layout(width, height) {
|
|
107
|
-
var _a
|
|
108
|
+
var _a;
|
|
108
109
|
// the obtain the correct dimensions of the content panel we must deduct the tab height
|
|
109
110
|
this.api._onDidPanelDimensionChange.fire({
|
|
110
111
|
width,
|
|
111
|
-
height: height - (
|
|
112
|
+
height: height - (this.group.model.header.height || 0),
|
|
112
113
|
});
|
|
113
|
-
(
|
|
114
|
+
(_a = this.view) === null || _a === void 0 ? void 0 : _a.layout(width, height);
|
|
114
115
|
}
|
|
115
116
|
dispose() {
|
|
116
117
|
var _a;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { DockviewApi } from '../api/component.api';
|
|
2
2
|
import { Direction } from '../gridview/baseComponentGridview';
|
|
3
3
|
import { IGridView } from '../gridview/gridview';
|
|
4
|
-
import {
|
|
4
|
+
import { IDockviewPanel } from '../groupview/groupPanel';
|
|
5
5
|
import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from '../groupview/types';
|
|
6
|
-
import {
|
|
6
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
7
7
|
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
8
8
|
import { FrameworkFactory } from '../types';
|
|
9
9
|
import { DockviewDropTargets } from '../groupview/dnd';
|
|
@@ -15,7 +15,7 @@ export interface GroupPanelFrameworkComponentFactory {
|
|
|
15
15
|
export interface TabContextMenuEvent {
|
|
16
16
|
event: MouseEvent;
|
|
17
17
|
api: DockviewApi;
|
|
18
|
-
panel:
|
|
18
|
+
panel: IDockviewPanel;
|
|
19
19
|
}
|
|
20
20
|
export interface DockviewRenderFunctions {
|
|
21
21
|
tabComponents?: {
|
|
@@ -39,12 +39,11 @@ export interface ViewFactoryData {
|
|
|
39
39
|
content: string;
|
|
40
40
|
tab?: string;
|
|
41
41
|
}
|
|
42
|
-
export interface
|
|
42
|
+
export interface DockviewComponentOptions extends DockviewRenderFunctions {
|
|
43
43
|
watermarkComponent?: WatermarkConstructor;
|
|
44
44
|
watermarkFrameworkComponent?: any;
|
|
45
45
|
frameworkComponentFactory?: GroupPanelFrameworkComponentFactory;
|
|
46
46
|
tabHeight?: number;
|
|
47
|
-
debug?: boolean;
|
|
48
47
|
orientation?: Orientation;
|
|
49
48
|
styles?: ISplitviewStyles;
|
|
50
49
|
showDndOverlay?: (event: DragEvent, target: DockviewDropTargets) => boolean;
|
|
@@ -76,5 +75,5 @@ export interface MovementOptions2 {
|
|
|
76
75
|
}
|
|
77
76
|
export interface MovementOptions extends MovementOptions2 {
|
|
78
77
|
includePanel?: boolean;
|
|
79
|
-
group?:
|
|
78
|
+
group?: GroupPanel;
|
|
80
79
|
}
|
|
@@ -36,7 +36,6 @@ export interface IBaseGrid<T extends IGridPanelView> {
|
|
|
36
36
|
toJSON(): object;
|
|
37
37
|
fromJSON(data: any): void;
|
|
38
38
|
layout(width: number, height: number, force?: boolean): void;
|
|
39
|
-
resizeToFit(): void;
|
|
40
39
|
setVisible(panel: T, visible: boolean): void;
|
|
41
40
|
isVisible(panel: T): boolean;
|
|
42
41
|
}
|
|
@@ -82,9 +81,5 @@ export declare abstract class BaseGrid<T extends IGridPanelView> extends Composi
|
|
|
82
81
|
moveToNext(options?: MovementOptions2): void;
|
|
83
82
|
moveToPrevious(options?: MovementOptions2): void;
|
|
84
83
|
layout(width: number, height: number, forceResize?: boolean): void;
|
|
85
|
-
/**
|
|
86
|
-
* Resize the layout to fit the parent container
|
|
87
|
-
*/
|
|
88
|
-
resizeToFit(): void;
|
|
89
84
|
dispose(): void;
|
|
90
85
|
}
|
|
@@ -100,6 +100,7 @@ export class BaseGrid extends CompositeDisposable {
|
|
|
100
100
|
const view = this.gridview.remove(group, Sizing.Distribute);
|
|
101
101
|
if (item && !(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
102
102
|
item.disposable.dispose();
|
|
103
|
+
item.value.dispose();
|
|
103
104
|
this._groups.delete(group.id);
|
|
104
105
|
}
|
|
105
106
|
this._onDidRemoveGroup.fire(group);
|
|
@@ -174,22 +175,15 @@ export class BaseGrid extends CompositeDisposable {
|
|
|
174
175
|
this.element.style.width = `${width}px`;
|
|
175
176
|
this.gridview.layout(width, height);
|
|
176
177
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Resize the layout to fit the parent container
|
|
179
|
-
*/
|
|
180
|
-
resizeToFit() {
|
|
181
|
-
if (!this.element.parentElement) {
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
const { width, height } = this.element.parentElement.getBoundingClientRect();
|
|
185
|
-
this.layout(width, height);
|
|
186
|
-
}
|
|
187
178
|
dispose() {
|
|
188
179
|
super.dispose();
|
|
189
180
|
this._onDidActiveGroupChange.dispose();
|
|
190
181
|
this._onDidAddGroup.dispose();
|
|
191
182
|
this._onDidRemoveGroup.dispose();
|
|
192
183
|
this._onDidLayoutChange.dispose();
|
|
184
|
+
for (const group of this.groups) {
|
|
185
|
+
group.dispose();
|
|
186
|
+
}
|
|
193
187
|
this.gridview.dispose();
|
|
194
188
|
}
|
|
195
189
|
}
|
|
@@ -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
|
|
@@ -57,9 +57,9 @@ export interface SerializedGridObject<T> {
|
|
|
57
57
|
size?: number;
|
|
58
58
|
visible?: boolean;
|
|
59
59
|
}
|
|
60
|
-
export interface ISerializedLeafNode {
|
|
60
|
+
export interface ISerializedLeafNode<T = any> {
|
|
61
61
|
type: 'leaf';
|
|
62
|
-
data:
|
|
62
|
+
data: T;
|
|
63
63
|
size: number;
|
|
64
64
|
visible?: boolean;
|
|
65
65
|
}
|
|
@@ -352,7 +352,7 @@ export class Gridview {
|
|
|
352
352
|
const [parentIndex, ...__] = [...rest].reverse();
|
|
353
353
|
const isSiblingVisible = parent.isChildVisible(0);
|
|
354
354
|
parent.removeChild(0, sizing);
|
|
355
|
-
const sizes = grandParent.children.map((
|
|
355
|
+
const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
|
|
356
356
|
grandParent.removeChild(parentIndex, sizing);
|
|
357
357
|
if (sibling instanceof BranchNode) {
|
|
358
358
|
sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
|
|
@@ -5,12 +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
9
|
import { Event } from '../events';
|
|
11
|
-
interface PanelReference {
|
|
12
|
-
api: GridviewPanelApiImpl;
|
|
13
|
-
}
|
|
14
10
|
export interface SerializedGridview {
|
|
15
11
|
grid: {
|
|
16
12
|
height: number;
|
|
@@ -21,14 +17,13 @@ export interface SerializedGridview {
|
|
|
21
17
|
activePanel?: string;
|
|
22
18
|
}
|
|
23
19
|
export interface AddComponentOptions extends BaseComponentOptions {
|
|
24
|
-
size?: number;
|
|
25
20
|
minimumWidth?: number;
|
|
26
21
|
maximumWidth?: number;
|
|
27
22
|
minimumHeight?: number;
|
|
28
23
|
maximumHeight?: number;
|
|
29
24
|
position?: {
|
|
30
25
|
direction: Direction;
|
|
31
|
-
|
|
26
|
+
referencePanel: string;
|
|
32
27
|
};
|
|
33
28
|
location?: number[];
|
|
34
29
|
}
|
|
@@ -40,11 +35,11 @@ export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
|
|
|
40
35
|
readonly orientation: Orientation;
|
|
41
36
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
42
37
|
updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
|
|
43
|
-
addPanel(options: AddComponentOptions):
|
|
38
|
+
addPanel(options: AddComponentOptions): IGridviewPanel;
|
|
44
39
|
removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
|
|
45
40
|
toggleVisibility(panel: IGridviewPanel): void;
|
|
46
41
|
focus(): void;
|
|
47
|
-
fromJSON(serializedGridview: SerializedGridview
|
|
42
|
+
fromJSON(serializedGridview: SerializedGridview): void;
|
|
48
43
|
toJSON(): SerializedGridview;
|
|
49
44
|
movePanel(panel: IGridviewPanel, options: {
|
|
50
45
|
direction: Direction;
|
|
@@ -77,16 +72,15 @@ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implement
|
|
|
77
72
|
setActive(panel: GridviewPanel): void;
|
|
78
73
|
toggleVisibility(panel: GridviewPanel): void;
|
|
79
74
|
focus(): void;
|
|
80
|
-
fromJSON(serializedGridview: SerializedGridview
|
|
75
|
+
fromJSON(serializedGridview: SerializedGridview): void;
|
|
81
76
|
movePanel(panel: GridviewPanel, options: {
|
|
82
77
|
direction: Direction;
|
|
83
78
|
reference: string;
|
|
84
79
|
size?: number;
|
|
85
80
|
}): void;
|
|
86
|
-
addPanel(options: AddComponentOptions):
|
|
81
|
+
addPanel(options: AddComponentOptions): IGridviewPanel;
|
|
87
82
|
private registerPanel;
|
|
88
83
|
moveGroup(referenceGroup: IGridPanelComponentView, groupId: string, target: Position): void;
|
|
89
84
|
removeGroup(group: GridviewPanel): void;
|
|
90
85
|
dispose(): void;
|
|
91
86
|
}
|
|
92
|
-
export {};
|