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
|
@@ -10,33 +10,30 @@ export declare enum MouseEventKind {
|
|
|
10
10
|
CONTEXT_MENU = "CONTEXT_MENU"
|
|
11
11
|
}
|
|
12
12
|
export interface LayoutMouseEvent {
|
|
13
|
-
kind: MouseEventKind;
|
|
14
|
-
event: MouseEvent;
|
|
15
|
-
panel?: IGroupPanel;
|
|
16
|
-
tab?: boolean;
|
|
13
|
+
readonly kind: MouseEventKind;
|
|
14
|
+
readonly event: MouseEvent;
|
|
15
|
+
readonly panel?: IGroupPanel;
|
|
16
|
+
readonly tab?: boolean;
|
|
17
17
|
}
|
|
18
18
|
export interface ITab {
|
|
19
|
-
panelId: string;
|
|
20
|
-
element: HTMLElement;
|
|
19
|
+
readonly panelId: string;
|
|
20
|
+
readonly element: HTMLElement;
|
|
21
21
|
setContent: (element: ITabRenderer) => void;
|
|
22
22
|
onChanged: Event<LayoutMouseEvent>;
|
|
23
23
|
onDrop: Event<DroptargetEvent>;
|
|
24
24
|
setActive(isActive: boolean): void;
|
|
25
25
|
}
|
|
26
26
|
export declare class Tab extends CompositeDisposable implements ITab {
|
|
27
|
-
panelId: string;
|
|
28
|
-
private readonly
|
|
29
|
-
private
|
|
30
|
-
private
|
|
31
|
-
private droptarget;
|
|
27
|
+
readonly panelId: string;
|
|
28
|
+
private readonly group;
|
|
29
|
+
private readonly _element;
|
|
30
|
+
private readonly droptarget;
|
|
32
31
|
private content?;
|
|
33
32
|
private readonly _onChanged;
|
|
34
33
|
readonly onChanged: Event<LayoutMouseEvent>;
|
|
35
34
|
private readonly _onDropped;
|
|
36
35
|
readonly onDrop: Event<DroptargetEvent>;
|
|
37
|
-
private readonly panelTransfer;
|
|
38
36
|
get element(): HTMLElement;
|
|
39
|
-
private iframes;
|
|
40
37
|
constructor(panelId: string, accessor: IDockviewComponent, group: GroupviewPanel);
|
|
41
38
|
setActive(isActive: boolean): void;
|
|
42
39
|
setContent(part: ITabRenderer): void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { addDisposableListener, Emitter } from '../events';
|
|
2
2
|
import { CompositeDisposable } from '../lifecycle';
|
|
3
3
|
import { getPanelData, LocalSelectionTransfer, PanelTransfer, } from '../dnd/dataTransfer';
|
|
4
|
-
import {
|
|
4
|
+
import { toggleClass } from '../dom';
|
|
5
5
|
import { Droptarget } from '../dnd/droptarget';
|
|
6
6
|
import { DockviewDropTargets } from './dnd';
|
|
7
|
+
import { DragHandler } from '../dnd/abstractDragHandler';
|
|
7
8
|
export var MouseEventKind;
|
|
8
9
|
(function (MouseEventKind) {
|
|
9
10
|
MouseEventKind["CLICK"] = "CLICK";
|
|
@@ -13,42 +14,34 @@ export class Tab extends CompositeDisposable {
|
|
|
13
14
|
constructor(panelId, accessor, group) {
|
|
14
15
|
super();
|
|
15
16
|
this.panelId = panelId;
|
|
16
|
-
this.accessor = accessor;
|
|
17
17
|
this.group = group;
|
|
18
18
|
this._onChanged = new Emitter();
|
|
19
19
|
this.onChanged = this._onChanged.event;
|
|
20
20
|
this._onDropped = new Emitter();
|
|
21
21
|
this.onDrop = this._onDropped.event;
|
|
22
|
-
this.panelTransfer = LocalSelectionTransfer.getInstance();
|
|
23
|
-
this.iframes = [];
|
|
24
22
|
this.addDisposables(this._onChanged, this._onDropped);
|
|
25
23
|
this._element = document.createElement('div');
|
|
26
24
|
this._element.className = 'tab';
|
|
27
25
|
this._element.tabIndex = 0;
|
|
28
26
|
this._element.draggable = true;
|
|
29
|
-
this.addDisposables(
|
|
30
|
-
|
|
31
|
-
...
|
|
32
|
-
|
|
33
|
-
];
|
|
34
|
-
for (const iframe of this.iframes) {
|
|
35
|
-
iframe.style.pointerEvents = 'none';
|
|
27
|
+
this.addDisposables(new (class Handler extends DragHandler {
|
|
28
|
+
constructor() {
|
|
29
|
+
super(...arguments);
|
|
30
|
+
this.panelTransfer = LocalSelectionTransfer.getInstance();
|
|
36
31
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
getData() {
|
|
33
|
+
this.panelTransfer.setData([new PanelTransfer(accessor.id, group.id, panelId)], PanelTransfer.prototype);
|
|
34
|
+
return {
|
|
35
|
+
dispose: () => {
|
|
36
|
+
this.panelTransfer.clearData(PanelTransfer.prototype);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
44
39
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
iframe.style.pointerEvents = 'auto';
|
|
40
|
+
dispose() {
|
|
41
|
+
//
|
|
48
42
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}), addDisposableListener(this._element, 'mousedown', (event) => {
|
|
43
|
+
})(this._element));
|
|
44
|
+
this.addDisposables(addDisposableListener(this._element, 'mousedown', (event) => {
|
|
52
45
|
if (event.defaultPrevented) {
|
|
53
46
|
return;
|
|
54
47
|
}
|
|
@@ -155,12 +155,10 @@ export class TabsContainer extends CompositeDisposable {
|
|
|
155
155
|
if (!isLeftClick || event.event.defaultPrevented) {
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
});
|
|
163
|
-
break;
|
|
158
|
+
if (event.kind === MouseEventKind.CLICK) {
|
|
159
|
+
this.group.model.openPanel(panel, {
|
|
160
|
+
skipFocus: alreadyFocused,
|
|
161
|
+
});
|
|
164
162
|
}
|
|
165
163
|
}), tabToAdd.onDrop((event) => {
|
|
166
164
|
this._onDrop.fire({
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export * from './events';
|
|
2
|
-
export * from './lifecycle';
|
|
3
1
|
export * from './dnd/dataTransfer';
|
|
4
2
|
export * from './api/component.api';
|
|
5
3
|
export * from './splitview/core/splitview';
|
|
@@ -20,8 +18,10 @@ export * from './splitview/splitviewPanel';
|
|
|
20
18
|
export * from './paneview/paneviewPanel';
|
|
21
19
|
export * from './groupview/groupPanel';
|
|
22
20
|
export * from './react';
|
|
21
|
+
export { Event } from './events';
|
|
22
|
+
export { IDisposable } from './lifecycle';
|
|
23
23
|
export { Position } from './dnd/droptarget';
|
|
24
|
-
export {
|
|
24
|
+
export { FocusEvent, PanelDimensionChangeEvent, VisibilityEvent, ActiveEvent, PanelApi, } from './api/panelApi';
|
|
25
25
|
export { SizeEvent, GridviewPanelApi, GridConstraintChangeEvent, } from './api/gridviewPanelApi';
|
|
26
26
|
export { TitleEvent, SuppressClosableEvent, DockviewPanelApi, } from './api/groupPanelApi';
|
|
27
27
|
export { PanelSizeEvent, PanelConstraintChangeEvent, SplitviewPanelApi, } from './api/splitviewPanelApi';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export * from './events';
|
|
2
|
-
export * from './lifecycle';
|
|
3
1
|
export * from './dnd/dataTransfer';
|
|
4
2
|
export * from './api/component.api';
|
|
5
3
|
export * from './splitview/core/splitview';
|
|
@@ -20,4 +18,5 @@ export * from './splitview/splitviewPanel';
|
|
|
20
18
|
export * from './paneview/paneviewPanel';
|
|
21
19
|
export * from './groupview/groupPanel';
|
|
22
20
|
export * from './react'; // TODO: should be conditional on whether user wants the React wrappers
|
|
21
|
+
export { Event } from './events';
|
|
23
22
|
export { Position } from './dnd/droptarget';
|
package/dist/esm/lifecycle.js
CHANGED
|
@@ -14,7 +14,7 @@ export class CompositeDisposable {
|
|
|
14
14
|
return new CompositeDisposable(...args);
|
|
15
15
|
}
|
|
16
16
|
addDisposables(...args) {
|
|
17
|
-
args
|
|
17
|
+
args.forEach((arg) => this.disposables.push(arg));
|
|
18
18
|
}
|
|
19
19
|
dispose() {
|
|
20
20
|
this.disposables.forEach((arg) => arg.dispose());
|
|
@@ -33,6 +33,7 @@ export class MutableDisposable {
|
|
|
33
33
|
dispose() {
|
|
34
34
|
if (this._disposable) {
|
|
35
35
|
this._disposable.dispose();
|
|
36
|
+
this._disposable = Disposable.NONE;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { State } from '../api/panelApi';
|
|
2
1
|
import { IDisposable } from '../lifecycle';
|
|
3
2
|
import { LayoutPriority } from '../splitview/core/splitview';
|
|
4
3
|
/**
|
|
@@ -9,7 +8,6 @@ export interface Parameters {
|
|
|
9
8
|
}
|
|
10
9
|
export interface PanelInitParameters {
|
|
11
10
|
params: Parameters;
|
|
12
|
-
state?: State;
|
|
13
11
|
}
|
|
14
12
|
export interface PanelUpdateEvent<T extends Parameters = Parameters> {
|
|
15
13
|
params: Partial<T>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PaneTransfer } from '../dnd/dataTransfer';
|
|
2
2
|
import { DroptargetEvent } from '../dnd/droptarget';
|
|
3
|
-
import { Event } from '../events';
|
|
4
3
|
import { Orientation } from '../splitview/core/splitview';
|
|
5
4
|
import { IPaneviewPanel, PaneviewPanel } from './paneviewPanel';
|
|
6
5
|
export interface PaneviewDropEvent2 extends DroptargetEvent {
|
|
@@ -11,7 +10,8 @@ export declare abstract class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
11
10
|
private handler;
|
|
12
11
|
private target;
|
|
13
12
|
private readonly _onDidDrop;
|
|
14
|
-
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
|
13
|
+
readonly onDidDrop: import("../events").Event<PaneviewDropEvent2>;
|
|
15
14
|
constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, disableDnd: boolean);
|
|
16
15
|
private initDragFeatures;
|
|
16
|
+
private onDrop;
|
|
17
17
|
}
|
|
@@ -5,7 +5,7 @@ import { Emitter } from '../events';
|
|
|
5
5
|
import { PaneviewPanel, } from './paneviewPanel';
|
|
6
6
|
export class DraggablePaneviewPanel extends PaneviewPanel {
|
|
7
7
|
constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
8
|
-
super(id, component, headerComponent, orientation, isExpanded);
|
|
8
|
+
super(id, component, headerComponent, orientation, isExpanded, true);
|
|
9
9
|
this._onDidDrop = new Emitter();
|
|
10
10
|
this.onDidDrop = this._onDidDrop.event;
|
|
11
11
|
if (!disableDnd) {
|
|
@@ -39,34 +39,37 @@ export class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
this.addDisposables(this._onDidDrop, this.handler, this.target, this.target.onDrop((event) => {
|
|
42
|
-
|
|
43
|
-
if (!data) {
|
|
44
|
-
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: () => getPaneData() }));
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const containerApi = this.params
|
|
48
|
-
.containerApi;
|
|
49
|
-
const panelId = data.paneId;
|
|
50
|
-
const existingPanel = containerApi.getPanel(panelId);
|
|
51
|
-
if (!existingPanel) {
|
|
52
|
-
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: () => getPaneData() }));
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
const allPanels = containerApi.getPanels();
|
|
56
|
-
const fromIndex = allPanels.indexOf(existingPanel);
|
|
57
|
-
let toIndex = containerApi.getPanels().indexOf(this);
|
|
58
|
-
if (event.position === Position.Left ||
|
|
59
|
-
event.position === Position.Top) {
|
|
60
|
-
toIndex = Math.max(0, toIndex - 1);
|
|
61
|
-
}
|
|
62
|
-
if (event.position === Position.Right ||
|
|
63
|
-
event.position === Position.Bottom) {
|
|
64
|
-
if (fromIndex > toIndex) {
|
|
65
|
-
toIndex++;
|
|
66
|
-
}
|
|
67
|
-
toIndex = Math.min(allPanels.length - 1, toIndex);
|
|
68
|
-
}
|
|
69
|
-
containerApi.movePanel(fromIndex, toIndex);
|
|
42
|
+
this.onDrop(event);
|
|
70
43
|
}));
|
|
71
44
|
}
|
|
45
|
+
onDrop(event) {
|
|
46
|
+
const data = getPaneData();
|
|
47
|
+
if (!data) {
|
|
48
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: () => getPaneData() }));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const containerApi = this._params
|
|
52
|
+
.containerApi;
|
|
53
|
+
const panelId = data.paneId;
|
|
54
|
+
const existingPanel = containerApi.getPanel(panelId);
|
|
55
|
+
if (!existingPanel) {
|
|
56
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: () => getPaneData() }));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const allPanels = containerApi.getPanels();
|
|
60
|
+
const fromIndex = allPanels.indexOf(existingPanel);
|
|
61
|
+
let toIndex = containerApi.getPanels().indexOf(this);
|
|
62
|
+
if (event.position === Position.Left ||
|
|
63
|
+
event.position === Position.Top) {
|
|
64
|
+
toIndex = Math.max(0, toIndex - 1);
|
|
65
|
+
}
|
|
66
|
+
if (event.position === Position.Right ||
|
|
67
|
+
event.position === Position.Bottom) {
|
|
68
|
+
if (fromIndex > toIndex) {
|
|
69
|
+
toIndex++;
|
|
70
|
+
}
|
|
71
|
+
toIndex = Math.min(allPanels.length - 1, toIndex);
|
|
72
|
+
}
|
|
73
|
+
containerApi.movePanel(fromIndex, toIndex);
|
|
74
|
+
}
|
|
72
75
|
}
|
|
@@ -37,7 +37,7 @@ export class Paneview extends CompositeDisposable {
|
|
|
37
37
|
this.paneItems.push(paneItem);
|
|
38
38
|
pane.orthogonalSize = this.splitview.orthogonalSize;
|
|
39
39
|
});
|
|
40
|
-
this.addDisposables(this.splitview.onDidSashEnd(() => {
|
|
40
|
+
this.addDisposables(this._onDidChange, this.splitview.onDidSashEnd(() => {
|
|
41
41
|
this._onDidChange.fire(undefined);
|
|
42
42
|
}), this.splitview.onDidAddView(() => {
|
|
43
43
|
this._onDidChange.fire();
|
|
@@ -127,7 +127,6 @@ export class Paneview extends CompositeDisposable {
|
|
|
127
127
|
}
|
|
128
128
|
dispose() {
|
|
129
129
|
super.dispose();
|
|
130
|
-
this.splitview.dispose();
|
|
131
130
|
if (this.animationTimer) {
|
|
132
131
|
clearTimeout(this.animationTimer);
|
|
133
132
|
this.animationTimer = undefined;
|
|
@@ -136,6 +135,7 @@ export class Paneview extends CompositeDisposable {
|
|
|
136
135
|
paneItem.disposable.dispose();
|
|
137
136
|
});
|
|
138
137
|
this.paneItems = [];
|
|
138
|
+
this.splitview.dispose();
|
|
139
139
|
this.element.remove();
|
|
140
140
|
}
|
|
141
141
|
}
|
|
@@ -18,9 +18,6 @@ export interface SerializedPaneviewPanel {
|
|
|
18
18
|
params?: {
|
|
19
19
|
[index: string]: any;
|
|
20
20
|
};
|
|
21
|
-
state?: {
|
|
22
|
-
[index: string]: any;
|
|
23
|
-
};
|
|
24
21
|
};
|
|
25
22
|
size: number;
|
|
26
23
|
expanded?: boolean;
|
|
@@ -87,8 +84,10 @@ export declare class PaneviewComponent extends CompositeDisposable implements IP
|
|
|
87
84
|
readonly onDidLayoutChange: Event<void>;
|
|
88
85
|
private readonly _onDidDrop;
|
|
89
86
|
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
|
90
|
-
|
|
91
|
-
|
|
87
|
+
private readonly _onDidAddView;
|
|
88
|
+
readonly onDidAddView: Event<PaneviewPanel>;
|
|
89
|
+
private readonly _onDidRemoveView;
|
|
90
|
+
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
92
91
|
set paneview(value: Paneview);
|
|
93
92
|
get paneview(): Paneview;
|
|
94
93
|
get minimumSize(): number;
|
|
@@ -112,4 +111,5 @@ export declare class PaneviewComponent extends CompositeDisposable implements IP
|
|
|
112
111
|
resizeToFit(): void;
|
|
113
112
|
toJSON(): SerializedPaneview;
|
|
114
113
|
fromJSON(serializedPaneview: SerializedPaneview, deferComponentLayout?: boolean): void;
|
|
114
|
+
dispose(): void;
|
|
115
115
|
}
|
|
@@ -27,6 +27,11 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
27
27
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
28
28
|
this._onDidDrop = new Emitter();
|
|
29
29
|
this.onDidDrop = this._onDidDrop.event;
|
|
30
|
+
this._onDidAddView = new Emitter();
|
|
31
|
+
this.onDidAddView = this._onDidAddView.event;
|
|
32
|
+
this._onDidRemoveView = new Emitter();
|
|
33
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
34
|
+
this.addDisposables(this._onDidLayoutChange, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
30
35
|
this._options = options;
|
|
31
36
|
if (!options.components) {
|
|
32
37
|
options.components = {};
|
|
@@ -40,17 +45,11 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
40
45
|
});
|
|
41
46
|
this.addDisposables(this._disposable);
|
|
42
47
|
}
|
|
43
|
-
get onDidAddView() {
|
|
44
|
-
return this._paneview.onDidAddView;
|
|
45
|
-
}
|
|
46
|
-
get onDidRemoveView() {
|
|
47
|
-
return this._paneview.onDidRemoveView;
|
|
48
|
-
}
|
|
49
48
|
set paneview(value) {
|
|
50
49
|
this._paneview = value;
|
|
51
|
-
this._disposable.value = new CompositeDisposable(this.
|
|
50
|
+
this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
|
|
52
51
|
this._onDidLayoutChange.fire(undefined);
|
|
53
|
-
}));
|
|
52
|
+
}), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
|
|
54
53
|
}
|
|
55
54
|
get paneview() {
|
|
56
55
|
return this._paneview;
|
|
@@ -230,6 +229,10 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
230
229
|
});
|
|
231
230
|
panel.orientation = this.paneview.orientation;
|
|
232
231
|
});
|
|
232
|
+
setTimeout(() => {
|
|
233
|
+
// the original onDidAddView events are missed since they are fired before we can subcribe to them
|
|
234
|
+
this._onDidAddView.fire(panel);
|
|
235
|
+
}, 0);
|
|
233
236
|
return { size: view.size, view: panel };
|
|
234
237
|
}),
|
|
235
238
|
},
|
|
@@ -244,4 +247,8 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
244
247
|
queue.forEach((f) => f());
|
|
245
248
|
}
|
|
246
249
|
}
|
|
250
|
+
dispose() {
|
|
251
|
+
super.dispose();
|
|
252
|
+
this.paneview.dispose();
|
|
253
|
+
}
|
|
247
254
|
}
|
|
@@ -39,6 +39,7 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
|
|
|
39
39
|
readonly maximumBodySize: number;
|
|
40
40
|
isExpanded(): boolean;
|
|
41
41
|
setExpanded(isExpanded: boolean): void;
|
|
42
|
+
headerVisible: boolean;
|
|
42
43
|
}
|
|
43
44
|
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
44
45
|
private readonly headerComponent;
|
|
@@ -59,6 +60,7 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
59
60
|
private expandedSize;
|
|
60
61
|
private animationTimer;
|
|
61
62
|
private _orientation;
|
|
63
|
+
private _headerVisible;
|
|
62
64
|
set orientation(value: Orientation);
|
|
63
65
|
get orientation(): Orientation;
|
|
64
66
|
get minimumSize(): number;
|
|
@@ -70,7 +72,9 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
70
72
|
set minimumBodySize(value: number);
|
|
71
73
|
get maximumBodySize(): number;
|
|
72
74
|
set maximumBodySize(value: number);
|
|
73
|
-
|
|
75
|
+
get headerVisible(): boolean;
|
|
76
|
+
set headerVisible(value: boolean);
|
|
77
|
+
constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, isHeaderVisible: boolean);
|
|
74
78
|
setVisible(isVisible: boolean): void;
|
|
75
79
|
setActive(isActive: boolean): void;
|
|
76
80
|
isExpanded(): boolean;
|
|
@@ -4,7 +4,7 @@ import { addDisposableListener, Emitter } from '../events';
|
|
|
4
4
|
import { BasePanelView, } from '../gridview/basePanelView';
|
|
5
5
|
import { Orientation } from '../splitview/core/splitview';
|
|
6
6
|
export class PaneviewPanel extends BasePanelView {
|
|
7
|
-
constructor(id, component, headerComponent, orientation, isExpanded) {
|
|
7
|
+
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
8
8
|
super(id, component, new PaneviewPanelApiImpl(id));
|
|
9
9
|
this.headerComponent = headerComponent;
|
|
10
10
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
@@ -20,6 +20,7 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
20
20
|
this.expandedSize = 0;
|
|
21
21
|
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
22
22
|
this._isExpanded = isExpanded;
|
|
23
|
+
this._headerVisible = isHeaderVisible;
|
|
23
24
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
24
25
|
this._orientation = orientation;
|
|
25
26
|
this.element.classList.add('pane');
|
|
@@ -87,6 +88,13 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
87
88
|
this._maximumBodySize =
|
|
88
89
|
typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
|
|
89
90
|
}
|
|
91
|
+
get headerVisible() {
|
|
92
|
+
return this._headerVisible;
|
|
93
|
+
}
|
|
94
|
+
set headerVisible(value) {
|
|
95
|
+
this._headerVisible = value;
|
|
96
|
+
this.header.style.display = value ? '' : 'none';
|
|
97
|
+
}
|
|
90
98
|
setVisible(isVisible) {
|
|
91
99
|
this.api._onDidVisibilityChange.fire({ isVisible });
|
|
92
100
|
}
|
|
@@ -149,7 +157,7 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
toJSON() {
|
|
152
|
-
const params = this.
|
|
160
|
+
const params = this._params;
|
|
153
161
|
return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
|
|
154
162
|
}
|
|
155
163
|
renderOnce() {
|
|
@@ -12,7 +12,6 @@ export class ReactPanelDeserialzier {
|
|
|
12
12
|
const panelId = panelData.id;
|
|
13
13
|
const params = panelData.params;
|
|
14
14
|
const title = panelData.title;
|
|
15
|
-
const state = panelData.state;
|
|
16
15
|
const suppressClosable = panelData.suppressClosable;
|
|
17
16
|
const viewData = panelData.view;
|
|
18
17
|
const view = new DefaultGroupPanelView({
|
|
@@ -21,13 +20,12 @@ export class ReactPanelDeserialzier {
|
|
|
21
20
|
? createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab)
|
|
22
21
|
: new DefaultTab(),
|
|
23
22
|
});
|
|
24
|
-
const panel = new DockviewGroupPanel(panelId, new DockviewApi(this.layout));
|
|
23
|
+
const panel = new DockviewGroupPanel(panelId, this.layout, new DockviewApi(this.layout));
|
|
25
24
|
panel.init({
|
|
26
25
|
view,
|
|
27
26
|
title,
|
|
28
27
|
suppressClosable,
|
|
29
28
|
params: params || {},
|
|
30
|
-
state: state || {},
|
|
31
29
|
});
|
|
32
30
|
return panel;
|
|
33
31
|
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { DockviewDropEvent } from '../../dockview/dockviewComponent';
|
|
2
3
|
import { TabContextMenuEvent } from '../../dockview/options';
|
|
3
4
|
import { DockviewPanelApi } from '../../api/groupPanelApi';
|
|
4
5
|
import { DockviewApi } from '../../api/component.api';
|
|
6
|
+
import { IWatermarkPanelProps } from './reactWatermarkPart';
|
|
5
7
|
import { PanelCollection, PanelParameters } from '../types';
|
|
8
|
+
import { DockviewDropTargets } from '../../groupview/dnd';
|
|
6
9
|
export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
|
|
7
10
|
api: DockviewPanelApi;
|
|
8
11
|
containerApi: DockviewApi;
|
|
9
12
|
}
|
|
10
|
-
export
|
|
13
|
+
export declare type IDockviewPanelHeaderProps<T extends {} = Record<string, any>> = IGroupPanelBaseProps<T>;
|
|
14
|
+
export declare type IDockviewPanelProps<T extends {
|
|
11
15
|
[index: string]: any;
|
|
12
|
-
} = any>
|
|
13
|
-
}
|
|
16
|
+
} = any> = IGroupPanelBaseProps<T>;
|
|
14
17
|
export interface DockviewReadyEvent {
|
|
15
18
|
api: DockviewApi;
|
|
16
19
|
}
|
|
17
|
-
export interface IWatermarkPanelProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
|
|
18
|
-
containerApi: DockviewApi;
|
|
19
|
-
close(): void;
|
|
20
|
-
}
|
|
21
20
|
export interface IDockviewReactProps {
|
|
22
21
|
components?: PanelCollection<IDockviewPanelProps>;
|
|
23
|
-
tabComponents?: PanelCollection<
|
|
22
|
+
tabComponents?: PanelCollection<IDockviewPanelHeaderProps>;
|
|
24
23
|
watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
|
|
25
24
|
onReady?: (event: DockviewReadyEvent) => void;
|
|
26
25
|
debug?: boolean;
|
|
27
26
|
tabHeight?: number;
|
|
28
|
-
enableExternalDragEvents?: boolean;
|
|
29
27
|
onTabContextMenu?: (event: TabContextMenuEvent) => void;
|
|
28
|
+
onDidDrop?: (event: DockviewDropEvent) => void;
|
|
29
|
+
showDndOverlay?: (event: DragEvent, target: DockviewDropTargets) => boolean;
|
|
30
30
|
hideBorders?: boolean;
|
|
31
31
|
className?: string;
|
|
32
32
|
disableAutoResizing?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { DockviewComponent } from '../../dockview/dockviewComponent';
|
|
2
|
+
import { DockviewComponent, } from '../../dockview/dockviewComponent';
|
|
3
3
|
import { ReactPanelContentPart } from './reactContentPart';
|
|
4
4
|
import { ReactPanelHeaderPart } from './reactHeaderPart';
|
|
5
5
|
import { ReactPanelDeserialzier } from '../deserializer';
|
|
@@ -59,12 +59,16 @@ export const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
59
59
|
frameworkTabComponents: props.tabComponents,
|
|
60
60
|
tabHeight: props.tabHeight,
|
|
61
61
|
debug: props.debug,
|
|
62
|
-
enableExternalDragEvents: props.enableExternalDragEvents,
|
|
63
62
|
watermarkFrameworkComponent: props.watermarkComponent,
|
|
64
63
|
styles: props.hideBorders
|
|
65
64
|
? { separatorBorder: 'transparent' }
|
|
66
65
|
: undefined,
|
|
67
66
|
});
|
|
67
|
+
const disposable = dockview.onDidDrop((event) => {
|
|
68
|
+
if (props.onDidDrop) {
|
|
69
|
+
props.onDidDrop(event);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
68
72
|
(_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
|
|
69
73
|
dockview.deserializer = new ReactPanelDeserialzier(dockview);
|
|
70
74
|
const { clientWidth, clientHeight } = domRef.current;
|
|
@@ -74,7 +78,9 @@ export const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
74
78
|
}
|
|
75
79
|
dockviewRef.current = dockview;
|
|
76
80
|
return () => {
|
|
81
|
+
disposable.dispose();
|
|
77
82
|
dockview.dispose();
|
|
83
|
+
element.remove();
|
|
78
84
|
};
|
|
79
85
|
}, []);
|
|
80
86
|
React.useEffect(() => {
|
|
@@ -85,6 +91,22 @@ export const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
85
91
|
frameworkComponents: props.components,
|
|
86
92
|
});
|
|
87
93
|
}, [props.components]);
|
|
94
|
+
React.useEffect(() => {
|
|
95
|
+
if (!dockviewRef.current) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
dockviewRef.current.updateOptions({
|
|
99
|
+
watermarkFrameworkComponent: props.watermarkComponent,
|
|
100
|
+
});
|
|
101
|
+
}, [props.watermarkComponent]);
|
|
102
|
+
React.useEffect(() => {
|
|
103
|
+
if (!dockviewRef.current) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
dockviewRef.current.updateOptions({
|
|
107
|
+
showDndOverlay: props.showDndOverlay,
|
|
108
|
+
});
|
|
109
|
+
}, [props.showDndOverlay]);
|
|
88
110
|
React.useEffect(() => {
|
|
89
111
|
if (!dockviewRef.current) {
|
|
90
112
|
return;
|
|
@@ -11,16 +11,14 @@ export class ReactPanelContentPart {
|
|
|
11
11
|
this._onDidBlur = new Emitter();
|
|
12
12
|
this.onDidBlur = this._onDidBlur.event;
|
|
13
13
|
this._element = document.createElement('div');
|
|
14
|
-
this._element.
|
|
15
|
-
this._element.style.width = '100%';
|
|
14
|
+
this._element.className = 'dockview-react-part';
|
|
16
15
|
// this.hostedContainer = new HostedContainer({
|
|
17
16
|
// id,
|
|
18
17
|
// });
|
|
19
18
|
// this.hostedContainer.onDidFocus(() => this._onDidFocus.fire());
|
|
20
19
|
// this.hostedContainer.onDidBlur(() => this._onDidBlur.fire());
|
|
21
20
|
this._actionsElement = document.createElement('div');
|
|
22
|
-
this._actionsElement.
|
|
23
|
-
this._actionsElement.style.width = '100%';
|
|
21
|
+
this._actionsElement.className = 'dockview-react-part';
|
|
24
22
|
}
|
|
25
23
|
get element() {
|
|
26
24
|
return this._element;
|
|
@@ -68,6 +66,8 @@ export class ReactPanelContentPart {
|
|
|
68
66
|
}
|
|
69
67
|
dispose() {
|
|
70
68
|
var _a, _b;
|
|
69
|
+
this._onDidFocus.dispose();
|
|
70
|
+
this._onDidBlur.dispose();
|
|
71
71
|
(_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
72
72
|
// this.hostedContainer?.dispose();
|
|
73
73
|
(_b = this.actionsPart) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
@@ -4,7 +4,7 @@ import { GroupviewPanel } from '../../groupview/groupviewPanel';
|
|
|
4
4
|
import { ReactPortalStore } from '../react';
|
|
5
5
|
import { IGroupPanelBaseProps } from './dockview';
|
|
6
6
|
import { PanelUpdateEvent } from '../../panel/types';
|
|
7
|
-
interface IWatermarkPanelProps extends IGroupPanelBaseProps {
|
|
7
|
+
export interface IWatermarkPanelProps extends IGroupPanelBaseProps {
|
|
8
8
|
close: () => void;
|
|
9
9
|
}
|
|
10
10
|
export declare class ReactWatermarkPart implements IWatermarkRenderer {
|
|
@@ -27,4 +27,3 @@ export declare class ReactWatermarkPart implements IWatermarkRenderer {
|
|
|
27
27
|
updateParentGroup(group: GroupviewPanel, isPanelVisible: boolean): void;
|
|
28
28
|
dispose(): void;
|
|
29
29
|
}
|
|
30
|
-
export {};
|
|
@@ -8,8 +8,7 @@ export class ReactWatermarkPart {
|
|
|
8
8
|
value: undefined,
|
|
9
9
|
};
|
|
10
10
|
this._element = document.createElement('div');
|
|
11
|
-
this._element.
|
|
12
|
-
this._element.style.width = '100%';
|
|
11
|
+
this._element.className = 'dockview-react-part';
|
|
13
12
|
}
|
|
14
13
|
get element() {
|
|
15
14
|
return this._element;
|