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