dockview 1.0.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -186
- package/dist/cjs/api/component.api.d.ts +31 -25
- package/dist/cjs/api/component.api.js +97 -40
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +1 -0
- package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
- package/dist/cjs/api/groupPanelApi.d.ts +11 -14
- package/dist/cjs/api/groupPanelApi.js +19 -17
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +0 -25
- package/dist/cjs/api/panelApi.js +1 -20
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/api/paneviewPanelApi.js +1 -0
- package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/splitviewPanelApi.js +1 -5
- package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/cjs/dnd/abstractDragHandler.js +15 -15
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
- package/dist/cjs/dnd/dataTransfer.js +1 -45
- package/dist/cjs/dnd/dataTransfer.js.map +1 -1
- package/dist/cjs/dnd/dnd.d.ts +1 -14
- package/dist/cjs/dnd/dnd.js +1 -79
- package/dist/cjs/dnd/dnd.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +3 -0
- package/dist/cjs/dnd/droptarget.js +72 -48
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -2
- package/dist/cjs/dockview/components/tab/defaultTab.js +1 -9
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
- package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
- package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +34 -23
- package/dist/cjs/dockview/dockviewComponent.js +117 -209
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +3 -5
- package/dist/cjs/dockview/dockviewGroupPanel.js +10 -31
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +2 -1
- package/dist/cjs/events.js +25 -4
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +12 -20
- package/dist/cjs/gridview/baseComponentGridview.js +49 -45
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts +5 -8
- package/dist/cjs/gridview/basePanelView.js +16 -8
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +3 -3
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +21 -18
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +5 -6
- package/dist/cjs/gridview/gridviewComponent.js +33 -9
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
- package/dist/cjs/gridview/gridviewPanel.js +3 -6
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +2 -1
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +1 -7
- package/dist/cjs/groupview/groupview.d.ts +18 -10
- package/dist/cjs/groupview/groupview.js +51 -129
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +5 -2
- package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
- package/dist/cjs/groupview/panel/content.d.ts +1 -1
- package/dist/cjs/groupview/panel/content.js +2 -1
- package/dist/cjs/groupview/panel/content.js.map +1 -1
- package/dist/cjs/groupview/tab.d.ts +10 -13
- package/dist/cjs/groupview/tab.js +22 -80
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.js +4 -6
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/hostedContainer.js +2 -2
- package/dist/cjs/hostedContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +8 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lifecycle.js +2 -1
- package/dist/cjs/lifecycle.js.map +1 -1
- package/dist/cjs/panel/types.d.ts +0 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneview.d.ts +3 -1
- package/dist/cjs/paneview/paneview.js +13 -7
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +7 -6
- package/dist/cjs/paneview/paneviewComponent.js +65 -8
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.js +1 -1
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.js +1 -3
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/components.js +5 -1
- package/dist/cjs/react/dockview/components.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +9 -9
- package/dist/cjs/react/dockview/dockview.js +40 -5
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
- package/dist/cjs/react/dockview/reactContentPart.js +6 -17
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
- package/dist/cjs/react/dockview/reactHeaderPart.js +3 -2
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +3 -4
- package/dist/cjs/react/dockview/reactWatermarkPart.js +3 -4
- package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
- package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
- package/dist/cjs/react/gridview/gridview.js +9 -2
- package/dist/cjs/react/gridview/gridview.js.map +1 -1
- package/dist/cjs/react/gridview/view.d.ts +3 -2
- package/dist/cjs/react/gridview/view.js +2 -2
- package/dist/cjs/react/gridview/view.js.map +1 -1
- package/dist/cjs/react/index.d.ts +1 -0
- package/dist/cjs/react/index.js +5 -1
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/paneview/paneview.js +6 -2
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/react.js +6 -3
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/splitview.js +8 -2
- package/dist/cjs/react/splitview/splitview.js.map +1 -1
- package/dist/cjs/react/splitview/view.js +2 -2
- package/dist/cjs/react/splitview/view.js.map +1 -1
- package/dist/cjs/splitview/core/splitview.js +1 -1
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +0 -3
- package/dist/cjs/splitview/splitviewComponent.js +50 -6
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts +1 -6
- package/dist/cjs/splitview/splitviewPanel.js +5 -3
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/dockview.amd.js +666 -791
- package/dist/dockview.amd.min.js +2 -16
- package/dist/dockview.amd.min.noStyle.js +2 -16
- package/dist/dockview.amd.noStyle.js +665 -790
- package/dist/dockview.cjs.js +666 -791
- package/dist/dockview.esm.js +666 -780
- package/dist/dockview.esm.min.js +2 -16
- package/dist/dockview.js +666 -791
- package/dist/dockview.min.js +2 -16
- package/dist/dockview.min.noStyle.js +2 -16
- package/dist/dockview.noStyle.js +665 -790
- package/dist/esm/api/component.api.d.ts +31 -25
- package/dist/esm/api/component.api.js +47 -26
- package/dist/esm/api/gridviewPanelApi.js +1 -0
- package/dist/esm/api/groupPanelApi.d.ts +11 -14
- package/dist/esm/api/groupPanelApi.js +18 -13
- package/dist/esm/api/panelApi.d.ts +0 -25
- package/dist/esm/api/panelApi.js +1 -20
- package/dist/esm/api/paneviewPanelApi.js +1 -0
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
- package/dist/esm/api/splitviewPanelApi.js +1 -5
- package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/esm/dnd/abstractDragHandler.js +10 -10
- package/dist/esm/dnd/dataTransfer.d.ts +0 -25
- package/dist/esm/dnd/dataTransfer.js +0 -40
- package/dist/esm/dnd/dnd.d.ts +1 -14
- package/dist/esm/dnd/dnd.js +1 -69
- package/dist/esm/dnd/droptarget.d.ts +3 -0
- package/dist/esm/dnd/droptarget.js +72 -48
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -2
- package/dist/esm/dockview/components/tab/defaultTab.js +2 -10
- package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
- package/dist/esm/dockview/components/watermark/watermark.js +4 -4
- package/dist/esm/dockview/dockviewComponent.d.ts +34 -23
- package/dist/esm/dockview/dockviewComponent.js +82 -150
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +3 -5
- package/dist/esm/dockview/dockviewGroupPanel.js +6 -30
- package/dist/esm/dockview/options.d.ts +2 -1
- package/dist/esm/events.js +2 -3
- package/dist/esm/gridview/baseComponentGridview.d.ts +12 -20
- package/dist/esm/gridview/baseComponentGridview.js +27 -45
- package/dist/esm/gridview/basePanelView.d.ts +5 -8
- package/dist/esm/gridview/basePanelView.js +12 -8
- package/dist/esm/gridview/branchNode.js +3 -3
- package/dist/esm/gridview/gridview.js +18 -16
- package/dist/esm/gridview/gridviewComponent.d.ts +5 -6
- package/dist/esm/gridview/gridviewComponent.js +12 -10
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
- package/dist/esm/gridview/gridviewPanel.js +3 -6
- package/dist/esm/gridview/leafNode.js +1 -0
- package/dist/esm/groupview/groupPanel.d.ts +1 -7
- package/dist/esm/groupview/groupview.d.ts +18 -10
- package/dist/esm/groupview/groupview.js +30 -59
- package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
- package/dist/esm/groupview/panel/content.d.ts +1 -1
- package/dist/esm/groupview/panel/content.js +2 -1
- package/dist/esm/groupview/tab.d.ts +10 -13
- package/dist/esm/groupview/tab.js +17 -24
- package/dist/esm/groupview/titlebar/tabsContainer.js +4 -6
- package/dist/esm/hostedContainer.js +2 -2
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +1 -2
- package/dist/esm/lifecycle.js +2 -1
- package/dist/esm/panel/types.d.ts +0 -2
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/esm/paneview/paneview.d.ts +3 -1
- package/dist/esm/paneview/paneview.js +10 -6
- package/dist/esm/paneview/paneviewComponent.d.ts +7 -6
- package/dist/esm/paneview/paneviewComponent.js +31 -7
- package/dist/esm/paneview/paneviewPanel.js +1 -1
- package/dist/esm/react/deserializer.js +1 -3
- package/dist/esm/react/dockview/dockview.d.ts +9 -9
- package/dist/esm/react/dockview/dockview.js +36 -5
- package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
- package/dist/esm/react/dockview/reactContentPart.js +6 -17
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
- package/dist/esm/react/dockview/reactHeaderPart.js +3 -2
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +3 -4
- package/dist/esm/react/dockview/reactWatermarkPart.js +3 -4
- package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
- package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
- package/dist/esm/react/gridview/gridview.js +4 -1
- package/dist/esm/react/gridview/view.d.ts +3 -2
- package/dist/esm/react/gridview/view.js +2 -2
- package/dist/esm/react/index.d.ts +1 -0
- package/dist/esm/react/paneview/paneview.js +1 -1
- package/dist/esm/react/react.js +1 -2
- package/dist/esm/react/splitview/splitview.js +3 -1
- package/dist/esm/react/splitview/view.js +2 -2
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +0 -3
- package/dist/esm/splitview/splitviewComponent.js +17 -6
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
- package/dist/esm/splitview/splitviewPanel.js +5 -3
- package/dist/styles/dockview.css +14 -17
- package/package.json +13 -13
- package/dist/cjs/functions.d.ts +0 -1
- package/dist/cjs/functions.js +0 -42
- package/dist/cjs/functions.js.map +0 -1
- package/dist/cjs/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/cjs/groupview/panel/hostedPanel.js +0 -57
- package/dist/cjs/groupview/panel/hostedPanel.js.map +0 -1
- package/dist/cjs/json.d.ts +0 -1
- package/dist/cjs/json.js +0 -14
- package/dist/cjs/json.js.map +0 -1
- package/dist/esm/functions.d.ts +0 -1
- package/dist/esm/functions.js +0 -8
- package/dist/esm/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/esm/groupview/panel/hostedPanel.js +0 -43
- package/dist/esm/json.d.ts +0 -1
- package/dist/esm/json.js +0 -9
|
@@ -1,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
|
*/
|
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,8 +20,8 @@ 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, {
|
|
24
|
-
onDragEnter: (
|
|
23
|
+
this.addDisposables(this._onDrop, new DragAndDropObserver(this.element, {
|
|
24
|
+
onDragEnter: () => undefined,
|
|
25
25
|
onDragOver: (e) => {
|
|
26
26
|
if (isBooleanValue(this.options.canDisplayOverlay)) {
|
|
27
27
|
if (!this.options.canDisplayOverlay) {
|
|
@@ -56,56 +56,16 @@ 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
|
-
onDragLeave: (
|
|
65
|
+
onDragLeave: () => {
|
|
106
66
|
this.removeDropTarget();
|
|
107
67
|
},
|
|
108
|
-
onDragEnd: (
|
|
68
|
+
onDragEnd: () => {
|
|
109
69
|
this.removeDropTarget();
|
|
110
70
|
},
|
|
111
71
|
onDrop: (e) => {
|
|
@@ -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;
|
|
@@ -28,7 +28,6 @@ export declare class DefaultTab extends CompositeDisposable implements ITabRende
|
|
|
28
28
|
private _list;
|
|
29
29
|
private action;
|
|
30
30
|
private params;
|
|
31
|
-
private isDirtyDisposable;
|
|
32
31
|
get element(): HTMLElement;
|
|
33
32
|
get id(): string;
|
|
34
33
|
constructor();
|
|
@@ -39,6 +38,6 @@ export declare class DefaultTab extends CompositeDisposable implements ITabRende
|
|
|
39
38
|
focus(): void;
|
|
40
39
|
init(params: GroupPanelPartInitParameters): void;
|
|
41
40
|
updateParentGroup(group: GroupviewPanel, isPanelVisible: boolean): void;
|
|
42
|
-
layout(
|
|
41
|
+
layout(_width: number, _height: number): void;
|
|
43
42
|
private render;
|
|
44
43
|
}
|
|
@@ -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(); //
|
|
@@ -121,7 +113,7 @@ export class DefaultTab extends CompositeDisposable {
|
|
|
121
113
|
this._isGroupActive = group.isActive;
|
|
122
114
|
this.render();
|
|
123
115
|
}
|
|
124
|
-
layout(
|
|
116
|
+
layout(_width, _height) {
|
|
125
117
|
// noop
|
|
126
118
|
}
|
|
127
119
|
render() {
|
|
@@ -8,12 +8,12 @@ export declare class Watermark extends CompositeDisposable implements IWatermark
|
|
|
8
8
|
private params;
|
|
9
9
|
get id(): string;
|
|
10
10
|
constructor();
|
|
11
|
-
update(
|
|
11
|
+
update(_event: PanelUpdateEvent): void;
|
|
12
12
|
focus(): void;
|
|
13
13
|
toJSON(): {};
|
|
14
|
-
layout(
|
|
14
|
+
layout(_width: number, _height: number): void;
|
|
15
15
|
init(params: GroupPanelPartInitParameters): void;
|
|
16
|
-
updateParentGroup(group: GroupviewPanel,
|
|
16
|
+
updateParentGroup(group: GroupviewPanel, _visible: boolean): void;
|
|
17
17
|
get element(): HTMLElement;
|
|
18
18
|
private render;
|
|
19
19
|
dispose(): void;
|
|
@@ -32,7 +32,7 @@ export class Watermark extends CompositeDisposable {
|
|
|
32
32
|
get id() {
|
|
33
33
|
return 'watermark';
|
|
34
34
|
}
|
|
35
|
-
update(
|
|
35
|
+
update(_event) {
|
|
36
36
|
// noop
|
|
37
37
|
}
|
|
38
38
|
focus() {
|
|
@@ -41,17 +41,17 @@ export class Watermark extends CompositeDisposable {
|
|
|
41
41
|
toJSON() {
|
|
42
42
|
return {};
|
|
43
43
|
}
|
|
44
|
-
layout(
|
|
44
|
+
layout(_width, _height) {
|
|
45
45
|
// noop
|
|
46
46
|
}
|
|
47
47
|
init(params) {
|
|
48
48
|
this.params = params;
|
|
49
|
-
this.addDisposables(this.params.containerApi.onDidLayoutChange((
|
|
49
|
+
this.addDisposables(this.params.containerApi.onDidLayoutChange(() => {
|
|
50
50
|
this.render();
|
|
51
51
|
}));
|
|
52
52
|
this.render();
|
|
53
53
|
}
|
|
54
|
-
updateParentGroup(group,
|
|
54
|
+
updateParentGroup(group, _visible) {
|
|
55
55
|
this.group = group;
|
|
56
56
|
this.render();
|
|
57
57
|
}
|
|
@@ -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: {
|
|
@@ -29,15 +30,19 @@ export interface SerializedDockview {
|
|
|
29
30
|
[key: string]: GroupviewPanelState;
|
|
30
31
|
};
|
|
31
32
|
activeGroup?: string;
|
|
32
|
-
options
|
|
33
|
+
options?: {
|
|
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,23 @@ 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
|
+
skipDispose: boolean;
|
|
119
|
+
}): void;
|
|
104
120
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
105
121
|
addEmptyGroup(options: AddGroupOptions): void;
|
|
106
|
-
removeGroup(group: GroupviewPanel): void;
|
|
122
|
+
removeGroup(group: GroupviewPanel, skipActive?: boolean): void;
|
|
107
123
|
moveGroupOrPanel(referenceGroup: GroupviewPanel, groupId: string, itemId: string, target: Position, index?: number): void;
|
|
108
124
|
doSetGroupActive(group: GroupviewPanel | undefined, skipFocus?: boolean): void;
|
|
109
125
|
createGroup(options?: GroupOptions): GroupviewPanel;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Ensure the local copy of the layout state is up-to-date
|
|
113
|
-
*/
|
|
114
|
-
private syncConfigs;
|
|
115
|
-
private _addPanel;
|
|
126
|
+
private createPanel;
|
|
116
127
|
private createContentComponent;
|
|
117
128
|
private createTabComponent;
|
|
118
129
|
private addPanelToNewGroup;
|
|
119
130
|
private findGroup;
|
|
120
|
-
|
|
131
|
+
dispose(): void;
|
|
121
132
|
}
|