dockview 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -186
- package/dist/cjs/api/component.api.d.ts +32 -17
- package/dist/cjs/api/component.api.js +155 -28
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +1 -0
- package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
- package/dist/cjs/api/groupPanelApi.d.ts +11 -14
- package/dist/cjs/api/groupPanelApi.js +19 -17
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +0 -25
- package/dist/cjs/api/panelApi.js +1 -20
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/api/paneviewPanelApi.js +1 -0
- package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/splitviewPanelApi.js +1 -5
- package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +3 -3
- package/dist/cjs/dnd/abstractDragHandler.js +15 -14
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
- package/dist/cjs/dnd/dataTransfer.js +1 -45
- package/dist/cjs/dnd/dataTransfer.js.map +1 -1
- package/dist/cjs/dnd/dnd.d.ts +1 -14
- package/dist/cjs/dnd/dnd.js +1 -79
- package/dist/cjs/dnd/dnd.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +4 -5
- package/dist/cjs/dnd/droptarget.js +70 -46
- 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/defaultGroupPanelView.js +3 -1
- package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +27 -19
- package/dist/cjs/dockview/dockviewComponent.js +67 -178
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +2 -5
- package/dist/cjs/dockview/dockviewGroupPanel.js +2 -31
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +2 -1
- package/dist/cjs/events.d.ts +7 -0
- package/dist/cjs/events.js +47 -5
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +9 -0
- package/dist/cjs/gridview/baseComponentGridview.js +20 -15
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts +5 -8
- package/dist/cjs/gridview/basePanelView.js +14 -8
- package/dist/cjs/gridview/basePanelView.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +19 -18
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +4 -0
- package/dist/cjs/gridview/gridviewComponent.js +5 -0
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
- package/dist/cjs/gridview/gridviewPanel.js +3 -6
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +1 -0
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +0 -7
- package/dist/cjs/groupview/groupview.d.ts +15 -8
- package/dist/cjs/groupview/groupview.js +38 -125
- 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 +6 -8
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/lifecycle.js +2 -1
- package/dist/cjs/lifecycle.js.map +1 -1
- package/dist/cjs/panel/types.d.ts +0 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneview.d.ts +1 -1
- package/dist/cjs/paneview/paneview.js +2 -5
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +6 -5
- package/dist/cjs/paneview/paneviewComponent.js +11 -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/dockview.d.ts +9 -9
- package/dist/cjs/react/dockview/dockview.js +14 -1
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.js +4 -4
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.js +1 -0
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
- package/dist/cjs/react/gridview/view.js +2 -2
- package/dist/cjs/react/gridview/view.js.map +1 -1
- package/dist/cjs/react/index.d.ts +1 -0
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/react.js +1 -2
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/view.js +2 -2
- package/dist/cjs/react/splitview/view.js.map +1 -1
- package/dist/cjs/splitview/core/splitview.js +1 -1
- 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 +11 -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 +480 -567
- package/dist/dockview.amd.min.js +2 -16
- package/dist/dockview.amd.min.noStyle.js +2 -16
- package/dist/dockview.amd.noStyle.js +479 -566
- package/dist/dockview.cjs.js +480 -567
- package/dist/dockview.esm.js +480 -563
- package/dist/dockview.esm.min.js +2 -16
- package/dist/dockview.js +480 -567
- package/dist/dockview.min.js +2 -16
- package/dist/dockview.min.noStyle.js +2 -16
- package/dist/dockview.noStyle.js +479 -566
- package/dist/esm/api/component.api.d.ts +32 -17
- package/dist/esm/api/component.api.js +71 -20
- package/dist/esm/api/gridviewPanelApi.js +1 -0
- package/dist/esm/api/groupPanelApi.d.ts +11 -14
- package/dist/esm/api/groupPanelApi.js +18 -13
- package/dist/esm/api/panelApi.d.ts +0 -25
- package/dist/esm/api/panelApi.js +1 -20
- package/dist/esm/api/paneviewPanelApi.js +1 -0
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
- package/dist/esm/api/splitviewPanelApi.js +1 -5
- package/dist/esm/dnd/abstractDragHandler.d.ts +3 -3
- package/dist/esm/dnd/abstractDragHandler.js +9 -8
- package/dist/esm/dnd/dataTransfer.d.ts +0 -25
- package/dist/esm/dnd/dataTransfer.js +0 -40
- package/dist/esm/dnd/dnd.d.ts +1 -14
- package/dist/esm/dnd/dnd.js +1 -69
- package/dist/esm/dnd/droptarget.d.ts +4 -5
- package/dist/esm/dnd/droptarget.js +70 -46
- 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/defaultGroupPanelView.js +3 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +27 -19
- package/dist/esm/dockview/dockviewComponent.js +54 -118
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +2 -5
- package/dist/esm/dockview/dockviewGroupPanel.js +2 -30
- package/dist/esm/dockview/options.d.ts +2 -1
- package/dist/esm/events.d.ts +7 -0
- package/dist/esm/events.js +20 -3
- package/dist/esm/gridview/baseComponentGridview.d.ts +9 -0
- package/dist/esm/gridview/baseComponentGridview.js +21 -16
- package/dist/esm/gridview/basePanelView.d.ts +5 -8
- package/dist/esm/gridview/basePanelView.js +10 -8
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.js +16 -16
- package/dist/esm/gridview/gridviewComponent.d.ts +4 -0
- package/dist/esm/gridview/gridviewComponent.js +5 -0
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
- package/dist/esm/gridview/gridviewPanel.js +3 -6
- package/dist/esm/gridview/leafNode.js +1 -0
- package/dist/esm/groupview/groupPanel.d.ts +0 -7
- package/dist/esm/groupview/groupview.d.ts +15 -8
- package/dist/esm/groupview/groupview.js +24 -58
- 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 +6 -8
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/lifecycle.js +2 -1
- package/dist/esm/panel/types.d.ts +0 -2
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/esm/paneview/paneview.d.ts +1 -1
- package/dist/esm/paneview/paneview.js +2 -5
- package/dist/esm/paneview/paneviewComponent.d.ts +6 -5
- package/dist/esm/paneview/paneviewComponent.js +11 -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 +15 -2
- package/dist/esm/react/dockview/reactContentPart.js +4 -4
- package/dist/esm/react/dockview/reactHeaderPart.js +1 -0
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/esm/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/esm/react/gridview/view.js +2 -2
- package/dist/esm/react/index.d.ts +1 -0
- package/dist/esm/react/react.js +1 -2
- package/dist/esm/react/splitview/view.js +2 -2
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +9 -6
- package/dist/esm/splitview/splitviewComponent.js +10 -2
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
- package/dist/esm/splitview/splitviewPanel.js +5 -3
- package/dist/styles/dockview.css +5 -9
- package/package.json +4 -4
- 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
|
@@ -42,7 +42,7 @@ export class TabsContainer extends CompositeDisposable {
|
|
|
42
42
|
});
|
|
43
43
|
this.addDisposables(this.voidDropTarget.onDrop((event) => {
|
|
44
44
|
this._onDrop.fire({
|
|
45
|
-
event: event.
|
|
45
|
+
event: event.nativeEvent,
|
|
46
46
|
index: this.tabs.length,
|
|
47
47
|
});
|
|
48
48
|
}), this.voidDropTarget, addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
@@ -155,16 +155,14 @@ 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({
|
|
167
|
-
event: event.
|
|
165
|
+
event: event.nativeEvent,
|
|
168
166
|
index: this.tabs.findIndex((x) => x.value === tabToAdd),
|
|
169
167
|
});
|
|
170
168
|
}));
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export * from './paneview/paneviewPanel';
|
|
|
21
21
|
export * from './groupview/groupPanel';
|
|
22
22
|
export * from './react';
|
|
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/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
|
}
|
|
@@ -12,6 +12,7 @@ export declare class Paneview extends CompositeDisposable implements IDisposable
|
|
|
12
12
|
private paneItems;
|
|
13
13
|
private _orientation;
|
|
14
14
|
private animationTimer;
|
|
15
|
+
private skipAnimation;
|
|
15
16
|
private readonly _onDidChange;
|
|
16
17
|
readonly onDidChange: Event<void>;
|
|
17
18
|
get onDidAddView(): Event<PaneviewPanel>;
|
|
@@ -29,7 +30,6 @@ export declare class Paneview extends CompositeDisposable implements IDisposable
|
|
|
29
30
|
getViewSize(index: number): number;
|
|
30
31
|
getPanes(): PaneviewPanel[];
|
|
31
32
|
removePane(index: number): PaneItem;
|
|
32
|
-
private skipAnimation;
|
|
33
33
|
moveView(from: number, to: number): void;
|
|
34
34
|
layout(size: number, orthogonalSize: number): void;
|
|
35
35
|
private setupAnimation;
|
|
@@ -7,9 +7,9 @@ export class Paneview extends CompositeDisposable {
|
|
|
7
7
|
var _a;
|
|
8
8
|
super();
|
|
9
9
|
this.paneItems = [];
|
|
10
|
+
this.skipAnimation = false;
|
|
10
11
|
this._onDidChange = new Emitter();
|
|
11
12
|
this.onDidChange = this._onDidChange.event;
|
|
12
|
-
this.skipAnimation = false;
|
|
13
13
|
this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
|
|
14
14
|
this.element = document.createElement('div');
|
|
15
15
|
this.element.className = 'pane-container';
|
|
@@ -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();
|
|
@@ -109,9 +109,6 @@ export class Paneview extends CompositeDisposable {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
layout(size, orthogonalSize) {
|
|
112
|
-
// for (const paneItem of this.paneItems) {
|
|
113
|
-
// paneItem.pane.orthogonalSize = orthogonalSize;
|
|
114
|
-
// }
|
|
115
112
|
this.splitview.layout(size, orthogonalSize);
|
|
116
113
|
}
|
|
117
114
|
setupAnimation() {
|
|
@@ -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;
|
|
@@ -63,6 +60,8 @@ export interface IPaneviewComponent extends IDisposable {
|
|
|
63
60
|
readonly height: number;
|
|
64
61
|
readonly minimumSize: number;
|
|
65
62
|
readonly maximumSize: number;
|
|
63
|
+
readonly onDidAddView: Event<PaneviewPanel>;
|
|
64
|
+
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
66
65
|
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
|
67
66
|
readonly onDidLayoutChange: Event<void>;
|
|
68
67
|
addPanel(options: AddPaneviewCompponentOptions): IDisposable;
|
|
@@ -85,8 +84,10 @@ export declare class PaneviewComponent extends CompositeDisposable implements IP
|
|
|
85
84
|
readonly onDidLayoutChange: Event<void>;
|
|
86
85
|
private readonly _onDidDrop;
|
|
87
86
|
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
private readonly _onDidAddView;
|
|
88
|
+
readonly onDidAddView: Event<PaneviewPanel>;
|
|
89
|
+
private readonly _onDidRemoveView;
|
|
90
|
+
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
90
91
|
set paneview(value: Paneview);
|
|
91
92
|
get paneview(): Paneview;
|
|
92
93
|
get minimumSize(): number;
|
|
@@ -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
|
},
|
|
@@ -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,6 +78,7 @@ export const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
74
78
|
}
|
|
75
79
|
dockviewRef.current = dockview;
|
|
76
80
|
return () => {
|
|
81
|
+
disposable.dispose();
|
|
77
82
|
dockview.dispose();
|
|
78
83
|
};
|
|
79
84
|
}, []);
|
|
@@ -85,6 +90,14 @@ export const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
85
90
|
frameworkComponents: props.components,
|
|
86
91
|
});
|
|
87
92
|
}, [props.components]);
|
|
93
|
+
React.useEffect(() => {
|
|
94
|
+
if (!dockviewRef.current) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
dockviewRef.current.updateOptions({
|
|
98
|
+
showDndOverlay: props.showDndOverlay,
|
|
99
|
+
});
|
|
100
|
+
}, [props.showDndOverlay]);
|
|
88
101
|
React.useEffect(() => {
|
|
89
102
|
if (!dockviewRef.current) {
|
|
90
103
|
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;
|
|
@@ -9,9 +9,9 @@ export class ReactGridPanelView extends GridviewPanel {
|
|
|
9
9
|
getComponent() {
|
|
10
10
|
var _a;
|
|
11
11
|
return new ReactPart(this.element, this.reactPortalStore, this.reactComponent, {
|
|
12
|
-
params: ((_a = this.
|
|
12
|
+
params: ((_a = this._params) === null || _a === void 0 ? void 0 : _a.params) || {},
|
|
13
13
|
api: this.api,
|
|
14
|
-
containerApi: this.
|
|
14
|
+
containerApi: this._params
|
|
15
15
|
.containerApi,
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -4,6 +4,7 @@ export * from './splitview/splitview';
|
|
|
4
4
|
export * from './gridview/gridview';
|
|
5
5
|
export * from './dockview/reactContentPart';
|
|
6
6
|
export * from './dockview/reactHeaderPart';
|
|
7
|
+
export { IWatermarkPanelProps } from './dockview/reactWatermarkPart';
|
|
7
8
|
export * from './paneview/paneview';
|
|
8
9
|
export * from './types';
|
|
9
10
|
export * from './react';
|
package/dist/esm/react/react.js
CHANGED
|
@@ -55,14 +55,13 @@ export class ReactPart {
|
|
|
55
55
|
if (this.disposed) {
|
|
56
56
|
throw new Error('invalid operation: resource is already disposed');
|
|
57
57
|
}
|
|
58
|
-
// TODO use a better check for isReactFunctionalComponent
|
|
59
58
|
if (typeof this.component !== 'function') {
|
|
60
59
|
/**
|
|
61
60
|
* we know this isn't a React.FunctionComponent so throw an error here.
|
|
62
61
|
* if we do not intercept this the React library will throw a very obsure error
|
|
63
62
|
* for the same reason, at least at this point we will emit a sensible stacktrace.
|
|
64
63
|
*/
|
|
65
|
-
throw new Error('
|
|
64
|
+
throw new Error('Invalid Operation. dockview only supports React Functional Components.');
|
|
66
65
|
}
|
|
67
66
|
const bridgeComponent = React.createElement(React.forwardRef(ReactComponentBridge), {
|
|
68
67
|
component: this
|
|
@@ -9,9 +9,9 @@ export class ReactPanelView extends SplitviewPanel {
|
|
|
9
9
|
getComponent() {
|
|
10
10
|
var _a;
|
|
11
11
|
return new ReactPart(this.element, this.reactPortalStore, this.reactComponent, {
|
|
12
|
-
params: ((_a = this.
|
|
12
|
+
params: ((_a = this._params) === null || _a === void 0 ? void 0 : _a.params) || {},
|
|
13
13
|
api: this.api,
|
|
14
|
-
containerApi: this.
|
|
14
|
+
containerApi: this._params
|
|
15
15
|
.containerApi,
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -51,7 +51,7 @@ export class Splitview {
|
|
|
51
51
|
this._onDidAddView = new Emitter();
|
|
52
52
|
this.onDidAddView = this._onDidAddView.event;
|
|
53
53
|
this._onDidRemoveView = new Emitter();
|
|
54
|
-
this.onDidRemoveView = this.
|
|
54
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
55
55
|
this._startSnappingEnabled = true;
|
|
56
56
|
this._endSnappingEnabled = true;
|
|
57
57
|
this.resize = (index, delta, sizes = this.views.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeDisposable, IDisposable } from '../lifecycle';
|
|
2
|
-
import { LayoutPriority, Orientation, Sizing, Splitview } from './core/splitview';
|
|
2
|
+
import { IView, LayoutPriority, Orientation, Sizing, Splitview } from './core/splitview';
|
|
3
3
|
import { SplitviewComponentOptions } from './core/options';
|
|
4
4
|
import { BaseComponentOptions } from '../panel/types';
|
|
5
5
|
import { Event } from '../events';
|
|
@@ -12,9 +12,6 @@ export interface SerializedSplitviewPanelData {
|
|
|
12
12
|
params?: {
|
|
13
13
|
[index: string]: any;
|
|
14
14
|
};
|
|
15
|
-
state?: {
|
|
16
|
-
[index: string]: any;
|
|
17
|
-
};
|
|
18
15
|
}
|
|
19
16
|
export interface SerializedSplitviewPanel {
|
|
20
17
|
snap?: boolean;
|
|
@@ -42,6 +39,8 @@ export interface ISplitviewComponent extends IDisposable {
|
|
|
42
39
|
readonly width: number;
|
|
43
40
|
readonly length: number;
|
|
44
41
|
readonly orientation: Orientation;
|
|
42
|
+
readonly onDidAddView: Event<IView>;
|
|
43
|
+
readonly onDidRemoveView: Event<IView>;
|
|
45
44
|
updateOptions(options: Partial<SplitviewComponentUpdateOptions>): void;
|
|
46
45
|
addPanel(options: AddSplitviewComponentOptions): void;
|
|
47
46
|
layout(width: number, height: number): void;
|
|
@@ -67,12 +66,16 @@ export declare class SplitviewComponent extends CompositeDisposable implements I
|
|
|
67
66
|
private _activePanel;
|
|
68
67
|
private panels;
|
|
69
68
|
private _options;
|
|
69
|
+
private readonly _onDidAddView;
|
|
70
|
+
readonly onDidAddView: Event<IView>;
|
|
71
|
+
private readonly _onDidRemoveView;
|
|
72
|
+
readonly onDidRemoveView: Event<IView>;
|
|
73
|
+
private readonly _onDidLayoutChange;
|
|
74
|
+
readonly onDidLayoutChange: Event<void>;
|
|
70
75
|
get options(): SplitviewComponentOptions;
|
|
71
76
|
get orientation(): Orientation;
|
|
72
77
|
get splitview(): Splitview;
|
|
73
78
|
set splitview(value: Splitview);
|
|
74
|
-
private readonly _onDidLayoutChange;
|
|
75
|
-
readonly onDidLayoutChange: Event<void>;
|
|
76
79
|
get minimumSize(): number;
|
|
77
80
|
get maximumSize(): number;
|
|
78
81
|
get height(): number;
|