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
package/dist/esm/dnd/dnd.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompositeDisposable
|
|
1
|
+
import { CompositeDisposable } from '../lifecycle';
|
|
2
2
|
export interface IDragAndDropObserverCallbacks {
|
|
3
3
|
onDragEnter: (e: DragEvent) => void;
|
|
4
4
|
onDragLeave: (e: DragEvent) => void;
|
|
@@ -25,16 +25,3 @@ export interface ICompositeDragAndDropObserverCallbacks {
|
|
|
25
25
|
onDragStart?: (e: IDraggedCompositeData) => void;
|
|
26
26
|
onDragEnd?: (e: IDraggedCompositeData) => void;
|
|
27
27
|
}
|
|
28
|
-
export declare class DragAndDrop extends CompositeDisposable {
|
|
29
|
-
private _onDragStart;
|
|
30
|
-
private _onDragEnd;
|
|
31
|
-
private static _instance;
|
|
32
|
-
static get INSTANCE(): DragAndDrop;
|
|
33
|
-
private transferData;
|
|
34
|
-
private constructor();
|
|
35
|
-
registerTarget(element: HTMLElement, callbacks: ICompositeDragAndDropObserverCallbacks): IDisposable;
|
|
36
|
-
registerDraggable(element: HTMLElement, draggedItemProvider: () => {
|
|
37
|
-
type: string;
|
|
38
|
-
id: string;
|
|
39
|
-
}, callbacks: ICompositeDragAndDropObserverCallbacks): IDisposable;
|
|
40
|
-
}
|
package/dist/esm/dnd/dnd.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { addDisposableListener
|
|
1
|
+
import { addDisposableListener } from '../events';
|
|
2
2
|
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
-
import { LocalSelectionTransfer } from './dataTransfer';
|
|
4
3
|
export class DragAndDropObserver extends CompositeDisposable {
|
|
5
4
|
constructor(element, callbacks) {
|
|
6
5
|
super();
|
|
@@ -40,70 +39,3 @@ export class DragAndDropObserver extends CompositeDisposable {
|
|
|
40
39
|
}));
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
|
-
class DockviewIdentifier {
|
|
44
|
-
constructor(data) {
|
|
45
|
-
this.data = data;
|
|
46
|
-
//
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
export class DragAndDrop extends CompositeDisposable {
|
|
50
|
-
constructor() {
|
|
51
|
-
super();
|
|
52
|
-
this._onDragStart = new Emitter();
|
|
53
|
-
this._onDragEnd = new Emitter();
|
|
54
|
-
this.transferData = LocalSelectionTransfer.getInstance();
|
|
55
|
-
this.addDisposables(this._onDragStart, this._onDragEnd);
|
|
56
|
-
}
|
|
57
|
-
static get INSTANCE() {
|
|
58
|
-
if (!DragAndDrop._instance) {
|
|
59
|
-
DragAndDrop._instance = new DragAndDrop();
|
|
60
|
-
}
|
|
61
|
-
return DragAndDrop._instance;
|
|
62
|
-
}
|
|
63
|
-
registerTarget(element, callbacks) {
|
|
64
|
-
const disposables = new CompositeDisposable();
|
|
65
|
-
disposables.addDisposables(new DragAndDropObserver(element, {
|
|
66
|
-
onDragEnd: (e) => {
|
|
67
|
-
// no-op
|
|
68
|
-
},
|
|
69
|
-
onDragEnter: (e) => {
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
},
|
|
72
|
-
onDragLeave: (e) => {
|
|
73
|
-
//
|
|
74
|
-
},
|
|
75
|
-
onDrop: (e) => {
|
|
76
|
-
//
|
|
77
|
-
},
|
|
78
|
-
onDragOver: (e) => {
|
|
79
|
-
//
|
|
80
|
-
},
|
|
81
|
-
}));
|
|
82
|
-
return disposables;
|
|
83
|
-
}
|
|
84
|
-
registerDraggable(element, draggedItemProvider, callbacks) {
|
|
85
|
-
element.draggable = true;
|
|
86
|
-
const disposables = new CompositeDisposable();
|
|
87
|
-
disposables.addDisposables(addDisposableListener(element, 'dragstart', (e) => {
|
|
88
|
-
this._onDragStart.fire({ event: e });
|
|
89
|
-
}));
|
|
90
|
-
disposables.addDisposables(new DragAndDropObserver(element, {
|
|
91
|
-
onDragEnd: (e) => {
|
|
92
|
-
// no-op
|
|
93
|
-
},
|
|
94
|
-
onDragEnter: (e) => {
|
|
95
|
-
//
|
|
96
|
-
},
|
|
97
|
-
onDragLeave: (e) => {
|
|
98
|
-
//
|
|
99
|
-
},
|
|
100
|
-
onDrop: (e) => {
|
|
101
|
-
//
|
|
102
|
-
},
|
|
103
|
-
onDragOver: (e) => {
|
|
104
|
-
//
|
|
105
|
-
},
|
|
106
|
-
}));
|
|
107
|
-
return disposables;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -20,7 +20,7 @@ export class Droptarget extends CompositeDisposable {
|
|
|
20
20
|
this.options = options;
|
|
21
21
|
this._onDrop = new Emitter();
|
|
22
22
|
this.onDrop = this._onDrop.event;
|
|
23
|
-
this.addDisposables(new DragAndDropObserver(this.element, {
|
|
23
|
+
this.addDisposables(this._onDrop, new DragAndDropObserver(this.element, {
|
|
24
24
|
onDragEnter: (e) => undefined,
|
|
25
25
|
onDragOver: (e) => {
|
|
26
26
|
if (isBooleanValue(this.options.canDisplayOverlay)) {
|
|
@@ -56,51 +56,11 @@ export class Droptarget extends CompositeDisposable {
|
|
|
56
56
|
const y = e.offsetY;
|
|
57
57
|
const xp = (100 * x) / width;
|
|
58
58
|
const yp = (100 * y) / height;
|
|
59
|
-
|
|
60
|
-
let isLeft = false;
|
|
61
|
-
let isTop = false;
|
|
62
|
-
let isBottom = false;
|
|
63
|
-
switch (this.options.validOverlays) {
|
|
64
|
-
case 'all':
|
|
65
|
-
isRight = xp > 80;
|
|
66
|
-
isLeft = xp < 20;
|
|
67
|
-
isTop = !isRight && !isLeft && yp < 20;
|
|
68
|
-
isBottom = !isRight && !isLeft && yp > 80;
|
|
69
|
-
break;
|
|
70
|
-
case 'vertical':
|
|
71
|
-
isTop = yp < 50;
|
|
72
|
-
isBottom = yp >= 50;
|
|
73
|
-
break;
|
|
74
|
-
case 'horizontal':
|
|
75
|
-
isLeft = xp < 50;
|
|
76
|
-
isRight = xp >= 50;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
59
|
+
const quadrant = this.calculateQuadrant(this.options.validOverlays, xp, yp);
|
|
79
60
|
const isSmallX = width < 100;
|
|
80
61
|
const isSmallY = height < 100;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
toggleClass(this.overlay, 'top', !isSmallY && isTop);
|
|
84
|
-
toggleClass(this.overlay, 'bottom', !isSmallY && isBottom);
|
|
85
|
-
toggleClass(this.overlay, 'small-right', isSmallX && isRight);
|
|
86
|
-
toggleClass(this.overlay, 'small-left', isSmallX && isLeft);
|
|
87
|
-
toggleClass(this.overlay, 'small-top', isSmallY && isTop);
|
|
88
|
-
toggleClass(this.overlay, 'small-bottom', isSmallY && isBottom);
|
|
89
|
-
if (isRight) {
|
|
90
|
-
this._state = Position.Right;
|
|
91
|
-
}
|
|
92
|
-
else if (isLeft) {
|
|
93
|
-
this._state = Position.Left;
|
|
94
|
-
}
|
|
95
|
-
else if (isTop) {
|
|
96
|
-
this._state = Position.Top;
|
|
97
|
-
}
|
|
98
|
-
else if (isBottom) {
|
|
99
|
-
this._state = Position.Bottom;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
this._state = Position.Center;
|
|
103
|
-
}
|
|
62
|
+
this.toggleClasses(quadrant, isSmallX, isSmallY);
|
|
63
|
+
this.setState(quadrant);
|
|
104
64
|
},
|
|
105
65
|
onDragLeave: (e) => {
|
|
106
66
|
this.removeDropTarget();
|
|
@@ -129,9 +89,73 @@ export class Droptarget extends CompositeDisposable {
|
|
|
129
89
|
this.options.canDisplayOverlay = value;
|
|
130
90
|
}
|
|
131
91
|
dispose() {
|
|
132
|
-
this._onDrop.dispose();
|
|
133
92
|
this.removeDropTarget();
|
|
134
93
|
}
|
|
94
|
+
toggleClasses(quadrant, isSmallX, isSmallY) {
|
|
95
|
+
if (!this.overlay) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const isLeft = quadrant === 'left';
|
|
99
|
+
const isRight = quadrant === 'right';
|
|
100
|
+
const isTop = quadrant === 'top';
|
|
101
|
+
const isBottom = quadrant === 'bottom';
|
|
102
|
+
toggleClass(this.overlay, 'right', !isSmallX && isRight);
|
|
103
|
+
toggleClass(this.overlay, 'left', !isSmallX && isLeft);
|
|
104
|
+
toggleClass(this.overlay, 'top', !isSmallY && isTop);
|
|
105
|
+
toggleClass(this.overlay, 'bottom', !isSmallY && isBottom);
|
|
106
|
+
toggleClass(this.overlay, 'small-right', isSmallX && isRight);
|
|
107
|
+
toggleClass(this.overlay, 'small-left', isSmallX && isLeft);
|
|
108
|
+
toggleClass(this.overlay, 'small-top', isSmallY && isTop);
|
|
109
|
+
toggleClass(this.overlay, 'small-bottom', isSmallY && isBottom);
|
|
110
|
+
}
|
|
111
|
+
setState(quadrant) {
|
|
112
|
+
switch (quadrant) {
|
|
113
|
+
case 'top':
|
|
114
|
+
this._state = Position.Top;
|
|
115
|
+
break;
|
|
116
|
+
case 'left':
|
|
117
|
+
this._state = Position.Left;
|
|
118
|
+
break;
|
|
119
|
+
case 'bottom':
|
|
120
|
+
this._state = Position.Bottom;
|
|
121
|
+
break;
|
|
122
|
+
case 'right':
|
|
123
|
+
this._state = Position.Right;
|
|
124
|
+
break;
|
|
125
|
+
default:
|
|
126
|
+
this._state = Position.Center;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
calculateQuadrant(overlayType, xp, yp) {
|
|
131
|
+
switch (overlayType) {
|
|
132
|
+
case 'all':
|
|
133
|
+
if (xp < 20) {
|
|
134
|
+
return 'left';
|
|
135
|
+
}
|
|
136
|
+
if (xp > 80) {
|
|
137
|
+
return 'right';
|
|
138
|
+
}
|
|
139
|
+
if (yp < 20) {
|
|
140
|
+
return 'top';
|
|
141
|
+
}
|
|
142
|
+
if (yp > 80) {
|
|
143
|
+
return 'bottom';
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
case 'vertical':
|
|
147
|
+
if (yp < 50) {
|
|
148
|
+
return 'top';
|
|
149
|
+
}
|
|
150
|
+
return 'bottom';
|
|
151
|
+
case 'horizontal':
|
|
152
|
+
if (xp < 50) {
|
|
153
|
+
return 'left';
|
|
154
|
+
}
|
|
155
|
+
return 'right';
|
|
156
|
+
}
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
135
159
|
removeDropTarget() {
|
|
136
160
|
if (this.target) {
|
|
137
161
|
this._state = undefined;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { CompositeDisposable
|
|
1
|
+
import { CompositeDisposable } from '../../../lifecycle';
|
|
2
2
|
import { addDisposableListener } from '../../../events';
|
|
3
|
-
import { toggleClass } from '../../../dom';
|
|
4
3
|
export class WrappedTab {
|
|
5
4
|
constructor(renderer) {
|
|
6
5
|
this.renderer = renderer;
|
|
@@ -55,9 +54,6 @@ export class DefaultTab extends CompositeDisposable {
|
|
|
55
54
|
this._isGroupActive = false;
|
|
56
55
|
//
|
|
57
56
|
this.params = {};
|
|
58
|
-
//
|
|
59
|
-
this.isDirtyDisposable = new MutableDisposable();
|
|
60
|
-
this.addDisposables(this.isDirtyDisposable);
|
|
61
57
|
this._element = document.createElement('div');
|
|
62
58
|
this._element.className = 'default-tab';
|
|
63
59
|
//
|
|
@@ -102,10 +98,6 @@ export class DefaultTab extends CompositeDisposable {
|
|
|
102
98
|
init(params) {
|
|
103
99
|
this.params = params;
|
|
104
100
|
this._content.textContent = params.title;
|
|
105
|
-
this.isDirtyDisposable.value = this.params.api.onDidDirtyChange((event) => {
|
|
106
|
-
const isDirty = event;
|
|
107
|
-
toggleClass(this.action, 'dirty', isDirty);
|
|
108
|
-
});
|
|
109
101
|
if (!this.params.suppressClosable) {
|
|
110
102
|
addDisposableListener(this.action, 'click', (ev) => {
|
|
111
103
|
ev.preventDefault(); //
|
|
@@ -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
|
}
|