dockview 1.0.2 → 1.2.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 +32 -23
- package/dist/cjs/api/component.api.js +105 -34
- 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 +14 -14
- 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 +69 -45
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/cjs/dockview/components/tab/defaultTab.js +0 -8
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +31 -21
- package/dist/cjs/dockview/dockviewComponent.js +103 -207
- 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 +23 -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 +14 -8
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +2 -2
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +20 -17
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +4 -0
- package/dist/cjs/gridview/gridviewComponent.js +5 -1
- 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 +15 -8
- package/dist/cjs/groupview/groupview.js +36 -123
- 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.js +1 -0
- 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/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/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.js +4 -3
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +5 -5
- package/dist/cjs/paneview/paneviewComponent.js +15 -16
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.d.ts +5 -1
- package/dist/cjs/paneview/paneviewPanel.js +14 -2
- 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 +28 -2
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.js +4 -4
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.js +1 -0
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.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.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 +5 -1
- 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 +2 -2
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +9 -6
- package/dist/cjs/splitview/splitviewComponent.js +12 -1
- 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 +592 -745
- package/dist/dockview.amd.min.js +2 -16
- package/dist/dockview.amd.min.noStyle.js +2 -16
- package/dist/dockview.amd.noStyle.js +591 -744
- package/dist/dockview.cjs.js +592 -745
- package/dist/dockview.esm.js +592 -734
- package/dist/dockview.esm.min.js +2 -16
- package/dist/dockview.js +592 -745
- package/dist/dockview.min.js +2 -16
- package/dist/dockview.min.noStyle.js +2 -16
- package/dist/dockview.noStyle.js +591 -744
- package/dist/esm/api/component.api.d.ts +32 -23
- package/dist/esm/api/component.api.js +51 -24
- 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 +9 -9
- 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 +69 -45
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/esm/dockview/components/tab/defaultTab.js +1 -9
- package/dist/esm/dockview/dockviewComponent.d.ts +31 -21
- package/dist/esm/dockview/dockviewComponent.js +68 -148
- 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 +23 -45
- package/dist/esm/gridview/basePanelView.d.ts +5 -8
- package/dist/esm/gridview/basePanelView.js +10 -8
- package/dist/esm/gridview/branchNode.js +2 -2
- package/dist/esm/gridview/gridview.js +17 -15
- package/dist/esm/gridview/gridviewComponent.d.ts +4 -0
- package/dist/esm/gridview/gridviewComponent.js +6 -2
- 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 +15 -8
- package/dist/esm/groupview/groupview.js +22 -56
- package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
- package/dist/esm/groupview/panel/content.js +1 -0
- 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/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/draggablePaneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/esm/paneview/paneview.js +2 -2
- package/dist/esm/paneview/paneviewComponent.d.ts +5 -5
- package/dist/esm/paneview/paneviewComponent.js +15 -8
- package/dist/esm/paneview/paneviewPanel.d.ts +5 -1
- package/dist/esm/paneview/paneviewPanel.js +10 -2
- 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 +24 -2
- package/dist/esm/react/dockview/reactContentPart.js +4 -4
- package/dist/esm/react/dockview/reactHeaderPart.js +1 -0
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/esm/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/esm/react/gridview/gridview.js +4 -1
- package/dist/esm/react/gridview/view.js +2 -2
- package/dist/esm/react/index.d.ts +1 -0
- 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 +2 -2
- package/dist/esm/splitview/splitviewComponent.d.ts +9 -6
- package/dist/esm/splitview/splitviewComponent.js +11 -2
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
- package/dist/esm/splitview/splitviewPanel.js +5 -3
- package/dist/styles/dockview.css +51 -54
- package/package.json +11 -11
- 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
|
@@ -6,9 +6,10 @@ import { IWatermarkRenderer } from '../groupview/types';
|
|
|
6
6
|
import { IPanelDeserializer } from './deserializer';
|
|
7
7
|
import { AddGroupOptions, AddPanelOptions, DockviewOptions as DockviewComponentOptions, MovementOptions, TabContextMenuEvent } from './options';
|
|
8
8
|
import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
9
|
+
import { DockviewApi } from '../api/component.api';
|
|
9
10
|
import { LayoutMouseEvent } from '../groupview/tab';
|
|
10
11
|
import { Orientation } from '../splitview/core/splitview';
|
|
11
|
-
import { GroupOptions, GroupPanelViewState } from '../groupview/groupview';
|
|
12
|
+
import { GroupOptions, GroupPanelViewState, GroupviewDropEvent } from '../groupview/groupview';
|
|
12
13
|
import { GroupviewPanel } from '../groupview/groupviewPanel';
|
|
13
14
|
export interface PanelReference {
|
|
14
15
|
update: (event: {
|
|
@@ -33,11 +34,15 @@ export interface SerializedDockview {
|
|
|
33
34
|
tabHeight?: number;
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
|
-
export declare type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents'>;
|
|
37
|
+
export declare type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents' | 'showDndOverlay' | 'watermarkFrameworkComponent'>;
|
|
38
|
+
export interface DockviewDropEvent extends GroupviewDropEvent {
|
|
39
|
+
api: DockviewApi;
|
|
40
|
+
}
|
|
37
41
|
export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
38
42
|
readonly activePanel: IGroupPanel | undefined;
|
|
39
43
|
readonly totalPanels: number;
|
|
40
44
|
readonly panels: IGroupPanel[];
|
|
45
|
+
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
41
46
|
tabHeight: number | undefined;
|
|
42
47
|
deserializer: IPanelDeserializer | undefined;
|
|
43
48
|
updateOptions(options: DockviewComponentUpdateOptions): void;
|
|
@@ -51,7 +56,7 @@ export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
|
51
56
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
52
57
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
53
58
|
addEmptyGroup(options?: AddGroupOptions): void;
|
|
54
|
-
closeAllGroups
|
|
59
|
+
closeAllGroups(): void;
|
|
55
60
|
onTabInteractionEvent: Event<LayoutMouseEvent>;
|
|
56
61
|
onTabContextMenu: Event<TabContextMenuEvent>;
|
|
57
62
|
moveToNext(options?: MovementOptions): void;
|
|
@@ -60,19 +65,29 @@ export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
|
60
65
|
focus(): void;
|
|
61
66
|
toJSON(): SerializedDockview;
|
|
62
67
|
fromJSON(data: SerializedDockview): void;
|
|
68
|
+
readonly onDidRemovePanel: Event<IGroupPanel>;
|
|
69
|
+
readonly onDidAddPanel: Event<IGroupPanel>;
|
|
70
|
+
readonly onDidLayoutfromJSON: Event<void>;
|
|
71
|
+
readonly onDidActivePanelChange: Event<IGroupPanel | undefined>;
|
|
63
72
|
}
|
|
64
73
|
export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implements IDockviewComponent {
|
|
65
|
-
private
|
|
66
|
-
private
|
|
67
|
-
private
|
|
74
|
+
private _deserializer;
|
|
75
|
+
private _api;
|
|
76
|
+
private _options;
|
|
68
77
|
private readonly _onTabInteractionEvent;
|
|
69
78
|
readonly onTabInteractionEvent: Event<LayoutMouseEvent>;
|
|
70
79
|
private readonly _onTabContextMenu;
|
|
71
80
|
readonly onTabContextMenu: Event<TabContextMenuEvent>;
|
|
72
|
-
private
|
|
73
|
-
|
|
74
|
-
private
|
|
75
|
-
|
|
81
|
+
private readonly _onDidDrop;
|
|
82
|
+
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
83
|
+
private readonly _onDidRemovePanel;
|
|
84
|
+
readonly onDidRemovePanel: Event<IGroupPanel>;
|
|
85
|
+
private readonly _onDidAddPanel;
|
|
86
|
+
readonly onDidAddPanel: Event<IGroupPanel>;
|
|
87
|
+
private readonly _onDidLayoutfromJSON;
|
|
88
|
+
readonly onDidLayoutfromJSON: Event<void>;
|
|
89
|
+
private readonly _onDidActivePanelChange;
|
|
90
|
+
readonly onDidActivePanelChange: Event<IGroupPanel | undefined>;
|
|
76
91
|
get totalPanels(): number;
|
|
77
92
|
get panels(): IGroupPanel[];
|
|
78
93
|
get deserializer(): IPanelDeserializer | undefined;
|
|
@@ -88,8 +103,6 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
88
103
|
setActivePanel(panel: IGroupPanel): void;
|
|
89
104
|
moveToNext(options?: MovementOptions): void;
|
|
90
105
|
moveToPrevious(options?: MovementOptions): void;
|
|
91
|
-
private registerPanel;
|
|
92
|
-
private unregisterPanel;
|
|
93
106
|
/**
|
|
94
107
|
* Serialize the current state of the layout
|
|
95
108
|
*
|
|
@@ -97,25 +110,22 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
97
110
|
*/
|
|
98
111
|
toJSON(): SerializedDockview;
|
|
99
112
|
fromJSON(data: SerializedDockview): void;
|
|
100
|
-
closeAllGroups():
|
|
113
|
+
closeAllGroups(): void;
|
|
101
114
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
102
115
|
addPanel(options: AddPanelOptions): IGroupPanel;
|
|
103
|
-
removePanel(panel: IGroupPanel
|
|
116
|
+
removePanel(panel: IGroupPanel, options?: {
|
|
117
|
+
removeEmptyGroup: boolean;
|
|
118
|
+
}): void;
|
|
104
119
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
105
120
|
addEmptyGroup(options: AddGroupOptions): void;
|
|
106
|
-
removeGroup(group: GroupviewPanel): void;
|
|
121
|
+
removeGroup(group: GroupviewPanel, skipActive?: boolean): void;
|
|
107
122
|
moveGroupOrPanel(referenceGroup: GroupviewPanel, groupId: string, itemId: string, target: Position, index?: number): void;
|
|
108
123
|
doSetGroupActive(group: GroupviewPanel | undefined, skipFocus?: boolean): void;
|
|
109
124
|
createGroup(options?: GroupOptions): GroupviewPanel;
|
|
110
|
-
dispose(): void;
|
|
111
|
-
/**
|
|
112
|
-
* Ensure the local copy of the layout state is up-to-date
|
|
113
|
-
*/
|
|
114
|
-
private syncConfigs;
|
|
115
125
|
private _addPanel;
|
|
116
126
|
private createContentComponent;
|
|
117
127
|
private createTabComponent;
|
|
118
128
|
private addPanelToNewGroup;
|
|
119
129
|
private findGroup;
|
|
120
|
-
|
|
130
|
+
dispose(): void;
|
|
121
131
|
}
|
|
@@ -25,42 +25,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
};
|
|
26
26
|
return __assign.apply(this, arguments);
|
|
27
27
|
};
|
|
28
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
29
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
30
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
31
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
32
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
33
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
34
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
38
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
39
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
40
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
41
|
-
function step(op) {
|
|
42
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
43
|
-
while (_) try {
|
|
44
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
45
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
46
|
-
switch (op[0]) {
|
|
47
|
-
case 0: case 1: t = op; break;
|
|
48
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
49
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
50
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
51
|
-
default:
|
|
52
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
53
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
54
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
55
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
56
|
-
if (t[2]) _.ops.pop();
|
|
57
|
-
_.trys.pop(); continue;
|
|
58
|
-
}
|
|
59
|
-
op = body.call(thisArg, _);
|
|
60
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
61
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
28
|
var __values = (this && this.__values) || function(o) {
|
|
65
29
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
66
30
|
if (m) return m.call(o);
|
|
@@ -106,7 +70,6 @@ var dockviewGroupPanel_1 = require("./dockviewGroupPanel");
|
|
|
106
70
|
var lifecycle_1 = require("../lifecycle");
|
|
107
71
|
var events_1 = require("../events");
|
|
108
72
|
var watermark_1 = require("./components/watermark/watermark");
|
|
109
|
-
var functions_1 = require("../functions");
|
|
110
73
|
var math_1 = require("../math");
|
|
111
74
|
var deserializer_1 = require("./deserializer");
|
|
112
75
|
var componentFactory_1 = require("../panel/componentFactory");
|
|
@@ -127,15 +90,24 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
127
90
|
orientation: options.orientation || splitview_1.Orientation.HORIZONTAL,
|
|
128
91
|
styles: options.styles,
|
|
129
92
|
}) || this;
|
|
130
|
-
_this._panels = new Map();
|
|
131
|
-
_this.dirtyPanels = new Set();
|
|
132
|
-
_this.debouncedDeque = (0, functions_1.debounce)(_this.syncConfigs.bind(_this), 5000);
|
|
133
93
|
// events
|
|
134
94
|
_this._onTabInteractionEvent = new events_1.Emitter();
|
|
135
95
|
_this.onTabInteractionEvent = _this._onTabInteractionEvent.event;
|
|
136
96
|
_this._onTabContextMenu = new events_1.Emitter();
|
|
137
97
|
_this.onTabContextMenu = _this._onTabContextMenu.event;
|
|
138
|
-
_this.
|
|
98
|
+
_this._onDidDrop = new events_1.Emitter();
|
|
99
|
+
_this.onDidDrop = _this._onDidDrop.event;
|
|
100
|
+
_this._onDidRemovePanel = new events_1.Emitter();
|
|
101
|
+
_this.onDidRemovePanel = _this._onDidRemovePanel.event;
|
|
102
|
+
_this._onDidAddPanel = new events_1.Emitter();
|
|
103
|
+
_this.onDidAddPanel = _this._onDidAddPanel.event;
|
|
104
|
+
_this._onDidLayoutfromJSON = new events_1.Emitter();
|
|
105
|
+
_this.onDidLayoutfromJSON = _this._onDidLayoutfromJSON.event;
|
|
106
|
+
_this._onDidActivePanelChange = new events_1.Emitter();
|
|
107
|
+
_this.onDidActivePanelChange = _this._onDidActivePanelChange.event;
|
|
108
|
+
_this.addDisposables(_this._onTabInteractionEvent, _this._onTabContextMenu, _this._onDidDrop, events_1.Event.any(_this.onDidAddPanel, _this.onDidRemovePanel, _this.onDidActivePanelChange)(function () {
|
|
109
|
+
_this._bufferOnDidLayoutChange.fire();
|
|
110
|
+
}));
|
|
139
111
|
_this._options = options;
|
|
140
112
|
if (!_this.options.components) {
|
|
141
113
|
_this.options.components = {};
|
|
@@ -158,14 +130,14 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
158
130
|
}
|
|
159
131
|
Object.defineProperty(DockviewComponent.prototype, "totalPanels", {
|
|
160
132
|
get: function () {
|
|
161
|
-
return this.
|
|
133
|
+
return this.panels.length;
|
|
162
134
|
},
|
|
163
135
|
enumerable: false,
|
|
164
136
|
configurable: true
|
|
165
137
|
});
|
|
166
138
|
Object.defineProperty(DockviewComponent.prototype, "panels", {
|
|
167
139
|
get: function () {
|
|
168
|
-
return
|
|
140
|
+
return this.groups.flatMap(function (group) { return group.model.panels; });
|
|
169
141
|
},
|
|
170
142
|
enumerable: false,
|
|
171
143
|
configurable: true
|
|
@@ -214,10 +186,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
214
186
|
DockviewComponent.prototype.updateOptions = function (options) {
|
|
215
187
|
var hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
216
188
|
this.options.orientation !== options.orientation;
|
|
217
|
-
// TODO support style update
|
|
218
|
-
// const hasStylesChanged =
|
|
219
|
-
// typeof options.styles === 'object' &&
|
|
220
|
-
// this.options.styles !== options.styles;
|
|
221
189
|
this._options = __assign(__assign({}, this.options), options);
|
|
222
190
|
if (hasOrientationChanged) {
|
|
223
191
|
this.gridview.orientation = options.orientation;
|
|
@@ -229,8 +197,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
229
197
|
(_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
|
|
230
198
|
};
|
|
231
199
|
DockviewComponent.prototype.getGroupPanel = function (id) {
|
|
232
|
-
|
|
233
|
-
return (_a = this._panels.get(id)) === null || _a === void 0 ? void 0 : _a.value;
|
|
200
|
+
return this.panels.find(function (panel) { return panel.id === id; });
|
|
234
201
|
};
|
|
235
202
|
DockviewComponent.prototype.setActivePanel = function (panel) {
|
|
236
203
|
if (!panel.group) {
|
|
@@ -281,39 +248,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
281
248
|
this.doSetGroupActive(next);
|
|
282
249
|
}
|
|
283
250
|
};
|
|
284
|
-
DockviewComponent.prototype.registerPanel = function (panel) {
|
|
285
|
-
var _this = this;
|
|
286
|
-
if (this._panels.has(panel.id)) {
|
|
287
|
-
throw new Error("panel ".concat(panel.id, " already exists"));
|
|
288
|
-
}
|
|
289
|
-
var disposable = new lifecycle_1.CompositeDisposable(panel.onDidStateChange(function () { return _this.addDirtyPanel(panel); }));
|
|
290
|
-
this._panels.set(panel.id, { value: panel, disposable: disposable });
|
|
291
|
-
};
|
|
292
|
-
DockviewComponent.prototype.unregisterPanel = function (panel) {
|
|
293
|
-
if (!this._panels.has(panel.id)) {
|
|
294
|
-
throw new Error("panel ".concat(panel.id, " doesn't exist"));
|
|
295
|
-
}
|
|
296
|
-
var item = this._panels.get(panel.id);
|
|
297
|
-
if (item) {
|
|
298
|
-
item.disposable.dispose();
|
|
299
|
-
item.value.dispose();
|
|
300
|
-
}
|
|
301
|
-
this._panels.delete(panel.id);
|
|
302
|
-
};
|
|
303
251
|
/**
|
|
304
252
|
* Serialize the current state of the layout
|
|
305
253
|
*
|
|
306
254
|
* @returns A JSON respresentation of the layout
|
|
307
255
|
*/
|
|
308
256
|
DockviewComponent.prototype.toJSON = function () {
|
|
309
|
-
var _this = this;
|
|
310
257
|
var _a;
|
|
311
|
-
this.syncConfigs();
|
|
312
258
|
var data = this.gridview.serialize();
|
|
313
|
-
var panels =
|
|
314
|
-
|
|
315
|
-
collection[panel.value.id] = panel.value.toJSON();
|
|
316
|
-
}
|
|
259
|
+
var panels = this.panels.reduce(function (collection, panel) {
|
|
260
|
+
collection[panel.id] = panel.toJSON();
|
|
317
261
|
return collection;
|
|
318
262
|
}, {});
|
|
319
263
|
return {
|
|
@@ -324,14 +268,24 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
324
268
|
};
|
|
325
269
|
};
|
|
326
270
|
DockviewComponent.prototype.fromJSON = function (data) {
|
|
271
|
+
var e_1, _a;
|
|
327
272
|
var _this = this;
|
|
273
|
+
var groups = Array.from(this._groups.values()).map(function (_) { return _.value; });
|
|
274
|
+
try {
|
|
275
|
+
for (var groups_1 = __values(groups), groups_1_1 = groups_1.next(); !groups_1_1.done; groups_1_1 = groups_1.next()) {
|
|
276
|
+
var group = groups_1_1.value;
|
|
277
|
+
// remove the group will automatically remove the panels
|
|
278
|
+
this.removeGroup(group, true);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
282
|
+
finally {
|
|
283
|
+
try {
|
|
284
|
+
if (groups_1_1 && !groups_1_1.done && (_a = groups_1.return)) _a.call(groups_1);
|
|
285
|
+
}
|
|
286
|
+
finally { if (e_1) throw e_1.error; }
|
|
287
|
+
}
|
|
328
288
|
this.gridview.clear();
|
|
329
|
-
this._panels.forEach(function (panel) {
|
|
330
|
-
panel.disposable.dispose();
|
|
331
|
-
panel.value.dispose();
|
|
332
|
-
});
|
|
333
|
-
this._panels.clear();
|
|
334
|
-
this._groups.clear();
|
|
335
289
|
if (!this.deserializer) {
|
|
336
290
|
throw new Error('invalid deserializer');
|
|
337
291
|
}
|
|
@@ -345,9 +299,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
345
299
|
this.gridview.deserialize(grid, new deserializer_1.DefaultDeserializer(this, {
|
|
346
300
|
createPanel: function (id) {
|
|
347
301
|
var panelData = panels[id];
|
|
348
|
-
|
|
349
|
-
_this.registerPanel(panel);
|
|
350
|
-
return panel;
|
|
302
|
+
return _this.deserializer.fromJSON(panelData);
|
|
351
303
|
},
|
|
352
304
|
}));
|
|
353
305
|
if (typeof activeGroup === 'string') {
|
|
@@ -357,59 +309,34 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
357
309
|
}
|
|
358
310
|
}
|
|
359
311
|
this.gridview.layout(this.width, this.height);
|
|
360
|
-
this.
|
|
312
|
+
this._onDidLayoutfromJSON.fire();
|
|
361
313
|
};
|
|
362
314
|
DockviewComponent.prototype.closeAllGroups = function () {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
var
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
didCloseAll = _e.sent();
|
|
379
|
-
if (!didCloseAll) {
|
|
380
|
-
return [2 /*return*/, false];
|
|
381
|
-
}
|
|
382
|
-
_e.label = 3;
|
|
383
|
-
case 3:
|
|
384
|
-
_b = _a.next();
|
|
385
|
-
return [3 /*break*/, 1];
|
|
386
|
-
case 4: return [3 /*break*/, 7];
|
|
387
|
-
case 5:
|
|
388
|
-
e_1_1 = _e.sent();
|
|
389
|
-
e_1 = { error: e_1_1 };
|
|
390
|
-
return [3 /*break*/, 7];
|
|
391
|
-
case 6:
|
|
392
|
-
try {
|
|
393
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
394
|
-
}
|
|
395
|
-
finally { if (e_1) throw e_1.error; }
|
|
396
|
-
return [7 /*endfinally*/];
|
|
397
|
-
case 7: return [2 /*return*/, true];
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
});
|
|
315
|
+
var e_2, _a;
|
|
316
|
+
try {
|
|
317
|
+
for (var _b = __values(this._groups.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
318
|
+
var entry = _c.value;
|
|
319
|
+
var _d = __read(entry, 2), _ = _d[0], group = _d[1];
|
|
320
|
+
group.value.model.closeAllPanels();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
324
|
+
finally {
|
|
325
|
+
try {
|
|
326
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
327
|
+
}
|
|
328
|
+
finally { if (e_2) throw e_2.error; }
|
|
329
|
+
}
|
|
401
330
|
};
|
|
402
331
|
DockviewComponent.prototype.fireMouseEvent = function (event) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
}
|
|
412
|
-
break;
|
|
332
|
+
if (event.kind === tab_1.MouseEventKind.CONTEXT_MENU) {
|
|
333
|
+
if (event.tab && event.panel) {
|
|
334
|
+
this._onTabContextMenu.fire({
|
|
335
|
+
event: event.event,
|
|
336
|
+
api: this._api,
|
|
337
|
+
panel: event.panel,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
413
340
|
}
|
|
414
341
|
};
|
|
415
342
|
DockviewComponent.prototype.addPanel = function (options) {
|
|
@@ -442,14 +369,14 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
442
369
|
}
|
|
443
370
|
return panel;
|
|
444
371
|
};
|
|
445
|
-
DockviewComponent.prototype.removePanel = function (panel) {
|
|
446
|
-
|
|
372
|
+
DockviewComponent.prototype.removePanel = function (panel, options) {
|
|
373
|
+
if (options === void 0) { options = { removeEmptyGroup: true }; }
|
|
447
374
|
var group = panel.group;
|
|
448
375
|
if (!group) {
|
|
449
376
|
throw new Error("cannot remove panel ".concat(panel.id, ". it's missing a group."));
|
|
450
377
|
}
|
|
451
378
|
group.model.removePanel(panel);
|
|
452
|
-
if (group.model.size === 0) {
|
|
379
|
+
if (group.model.size === 0 && options.removeEmptyGroup) {
|
|
453
380
|
this.removeGroup(group);
|
|
454
381
|
}
|
|
455
382
|
};
|
|
@@ -462,10 +389,9 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
462
389
|
: {}, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.watermark);
|
|
463
390
|
};
|
|
464
391
|
DockviewComponent.prototype.addEmptyGroup = function (options) {
|
|
465
|
-
var _a;
|
|
466
392
|
var group = this.createGroup();
|
|
467
393
|
if (options) {
|
|
468
|
-
var referencePanel =
|
|
394
|
+
var referencePanel = this.panels.find(function (panel) { return panel.id === options.referencePanel; });
|
|
469
395
|
if (!referencePanel) {
|
|
470
396
|
throw new Error("reference panel ".concat(options.referencePanel, " does not exist"));
|
|
471
397
|
}
|
|
@@ -482,26 +408,35 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
482
408
|
this.doAddGroup(group);
|
|
483
409
|
}
|
|
484
410
|
};
|
|
485
|
-
DockviewComponent.prototype.removeGroup = function (group) {
|
|
486
|
-
var
|
|
411
|
+
DockviewComponent.prototype.removeGroup = function (group, skipActive) {
|
|
412
|
+
var e_3, _a;
|
|
413
|
+
if (skipActive === void 0) { skipActive = false; }
|
|
487
414
|
var panels = __spreadArray([], __read(group.model.panels), false); // reassign since group panels will mutate
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
415
|
+
try {
|
|
416
|
+
for (var panels_1 = __values(panels), panels_1_1 = panels_1.next(); !panels_1_1.done; panels_1_1 = panels_1.next()) {
|
|
417
|
+
var panel = panels_1_1.value;
|
|
418
|
+
this.removePanel(panel, {
|
|
419
|
+
removeEmptyGroup: false,
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
424
|
+
finally {
|
|
425
|
+
try {
|
|
426
|
+
if (panels_1_1 && !panels_1_1.done && (_a = panels_1.return)) _a.call(panels_1);
|
|
427
|
+
}
|
|
428
|
+
finally { if (e_3) throw e_3.error; }
|
|
494
429
|
}
|
|
495
|
-
_super.prototype.
|
|
430
|
+
_super.prototype.doRemoveGroup.call(this, group, { skipActive: skipActive });
|
|
496
431
|
};
|
|
497
432
|
DockviewComponent.prototype.moveGroupOrPanel = function (referenceGroup, groupId, itemId, target, index) {
|
|
498
|
-
var _a
|
|
433
|
+
var _a;
|
|
499
434
|
var sourceGroup = groupId
|
|
500
435
|
? (_a = this._groups.get(groupId)) === null || _a === void 0 ? void 0 : _a.value
|
|
501
436
|
: undefined;
|
|
502
437
|
if (!target || target === droptarget_1.Position.Center) {
|
|
503
438
|
var groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
|
|
504
|
-
|
|
439
|
+
this.panels.find(function (panel) { return panel.id === itemId; });
|
|
505
440
|
if (!groupItem) {
|
|
506
441
|
throw new Error("No panel with id ".concat(itemId));
|
|
507
442
|
}
|
|
@@ -514,9 +449,9 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
514
449
|
var referenceLocation = (0, gridview_1.getGridLocation)(referenceGroup.element);
|
|
515
450
|
var targetLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, target);
|
|
516
451
|
if (sourceGroup && sourceGroup.model.size < 2) {
|
|
517
|
-
var
|
|
452
|
+
var _b = __read((0, array_1.tail)(targetLocation), 2), targetParentLocation = _b[0], to = _b[1];
|
|
518
453
|
var sourceLocation = (0, gridview_1.getGridLocation)(sourceGroup.element);
|
|
519
|
-
var
|
|
454
|
+
var _c = __read((0, array_1.tail)(sourceLocation), 2), sourceParentLocation = _c[0], from = _c[1];
|
|
520
455
|
if ((0, array_1.sequenceEquals)(sourceParentLocation, targetParentLocation)) {
|
|
521
456
|
// special case when 'swapping' two views within same grid location
|
|
522
457
|
// if a group has one tab - we are essentially moving the 'group'
|
|
@@ -537,7 +472,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
537
472
|
}
|
|
538
473
|
else {
|
|
539
474
|
var groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
|
|
540
|
-
|
|
475
|
+
this.panels.find(function (panel) { return panel.id === itemId; });
|
|
541
476
|
if (!groupItem) {
|
|
542
477
|
throw new Error("No panel with id ".concat(itemId));
|
|
543
478
|
}
|
|
@@ -551,10 +486,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
551
486
|
var isGroupAlreadyFocused = this._activeGroup === group;
|
|
552
487
|
_super.prototype.doSetGroupActive.call(this, group, skipFocus);
|
|
553
488
|
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
|
|
554
|
-
this.
|
|
555
|
-
kind: baseComponentGridview_1.GroupChangeKind.PANEL_ACTIVE,
|
|
556
|
-
panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
|
|
557
|
-
});
|
|
489
|
+
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
|
|
558
490
|
}
|
|
559
491
|
};
|
|
560
492
|
DockviewComponent.prototype.createGroup = function (options) {
|
|
@@ -581,31 +513,22 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
581
513
|
var disposable = new lifecycle_1.CompositeDisposable(view.model.onMove(function (event) {
|
|
582
514
|
var groupId = event.groupId, itemId = event.itemId, target = event.target, index = event.index;
|
|
583
515
|
_this.moveGroupOrPanel(view, groupId, itemId, target, index);
|
|
516
|
+
}), view.model.onDidDrop(function (event) {
|
|
517
|
+
_this._onDidDrop.fire(__assign(__assign({}, event), { api: _this._api }));
|
|
584
518
|
}), view.model.onDidGroupChange(function (event) {
|
|
585
519
|
switch (event.kind) {
|
|
586
520
|
case groupview_1.GroupChangeKind2.ADD_PANEL:
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
});
|
|
591
|
-
break;
|
|
592
|
-
case groupview_1.GroupChangeKind2.GROUP_ACTIVE:
|
|
593
|
-
_this._onGridEvent.fire({
|
|
594
|
-
kind: baseComponentGridview_1.GroupChangeKind.GROUP_ACTIVE,
|
|
595
|
-
panel: event.panel,
|
|
596
|
-
});
|
|
521
|
+
if (event.panel) {
|
|
522
|
+
_this._onDidAddPanel.fire(event.panel);
|
|
523
|
+
}
|
|
597
524
|
break;
|
|
598
525
|
case groupview_1.GroupChangeKind2.REMOVE_PANEL:
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
});
|
|
526
|
+
if (event.panel) {
|
|
527
|
+
_this._onDidRemovePanel.fire(event.panel);
|
|
528
|
+
}
|
|
603
529
|
break;
|
|
604
530
|
case groupview_1.GroupChangeKind2.PANEL_ACTIVE:
|
|
605
|
-
_this.
|
|
606
|
-
kind: baseComponentGridview_1.GroupChangeKind.PANEL_ACTIVE,
|
|
607
|
-
panel: event.panel,
|
|
608
|
-
});
|
|
531
|
+
_this._onDidActivePanelChange.fire(event.panel);
|
|
609
532
|
break;
|
|
610
533
|
}
|
|
611
534
|
}));
|
|
@@ -619,47 +542,18 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
619
542
|
}
|
|
620
543
|
return view;
|
|
621
544
|
};
|
|
622
|
-
DockviewComponent.prototype.dispose = function () {
|
|
623
|
-
_super.prototype.dispose.call(this);
|
|
624
|
-
this._onGridEvent.dispose();
|
|
625
|
-
};
|
|
626
|
-
/**
|
|
627
|
-
* Ensure the local copy of the layout state is up-to-date
|
|
628
|
-
*/
|
|
629
|
-
DockviewComponent.prototype.syncConfigs = function () {
|
|
630
|
-
var _this = this;
|
|
631
|
-
var dirtyPanels = Array.from(this.dirtyPanels);
|
|
632
|
-
if (dirtyPanels.length === 0) {
|
|
633
|
-
//
|
|
634
|
-
}
|
|
635
|
-
this.dirtyPanels.clear();
|
|
636
|
-
var partialPanelState = dirtyPanels
|
|
637
|
-
.map(function (panel) { return _this._panels.get(panel.id); })
|
|
638
|
-
.filter(function (_) { return !!_; })
|
|
639
|
-
.reduce(function (collection, panel) {
|
|
640
|
-
collection[panel.value.id] = panel.value.toJSON();
|
|
641
|
-
return collection;
|
|
642
|
-
}, {});
|
|
643
|
-
this.panelState = __assign(__assign({}, this.panelState), partialPanelState);
|
|
644
|
-
dirtyPanels
|
|
645
|
-
.filter(function (p) { return _this._panels.has(p.id); })
|
|
646
|
-
.forEach(function (panel) {
|
|
647
|
-
panel.setDirty(false);
|
|
648
|
-
});
|
|
649
|
-
};
|
|
650
545
|
DockviewComponent.prototype._addPanel = function (options) {
|
|
651
546
|
var view = new defaultGroupPanelView_1.DefaultGroupPanelView({
|
|
652
547
|
content: this.createContentComponent(options.id, options.component),
|
|
653
548
|
tab: this.createTabComponent(options.id, options.tabComponent),
|
|
654
549
|
});
|
|
655
|
-
var panel = new dockviewGroupPanel_1.DockviewGroupPanel(options.id, this._api);
|
|
550
|
+
var panel = new dockviewGroupPanel_1.DockviewGroupPanel(options.id, this, this._api);
|
|
656
551
|
panel.init({
|
|
657
552
|
view: view,
|
|
658
553
|
title: options.title || options.id,
|
|
659
554
|
suppressClosable: options === null || options === void 0 ? void 0 : options.suppressClosable,
|
|
660
555
|
params: (options === null || options === void 0 ? void 0 : options.params) || {},
|
|
661
556
|
});
|
|
662
|
-
this.registerPanel(panel);
|
|
663
557
|
return panel;
|
|
664
558
|
};
|
|
665
559
|
DockviewComponent.prototype.createContentComponent = function (id, componentName) {
|
|
@@ -682,10 +576,12 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
682
576
|
return group.value.model.containsPanel(panel);
|
|
683
577
|
})) === null || _a === void 0 ? void 0 : _a.value;
|
|
684
578
|
};
|
|
685
|
-
DockviewComponent.prototype.
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
this.
|
|
579
|
+
DockviewComponent.prototype.dispose = function () {
|
|
580
|
+
_super.prototype.dispose.call(this);
|
|
581
|
+
this._onDidActivePanelChange.dispose();
|
|
582
|
+
this._onDidAddPanel.dispose();
|
|
583
|
+
this._onDidRemovePanel.dispose();
|
|
584
|
+
this._onDidLayoutfromJSON.dispose();
|
|
689
585
|
};
|
|
690
586
|
return DockviewComponent;
|
|
691
587
|
}(baseComponentGridview_1.BaseGrid));
|