dockview-core 1.10.0 → 1.10.2
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/dist/cjs/api/component.api.d.ts +10 -2
- package/dist/cjs/api/component.api.js +10 -2
- package/dist/cjs/api/dockviewGroupPanelApi.js +1 -1
- package/dist/cjs/api/dockviewPanelApi.d.ts +5 -1
- package/dist/cjs/api/dockviewPanelApi.js +43 -26
- package/dist/cjs/api/gridviewPanelApi.d.ts +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +2 -2
- package/dist/cjs/api/panelApi.d.ts +12 -16
- package/dist/cjs/api/panelApi.js +17 -20
- package/dist/cjs/api/paneviewPanelApi.d.ts +1 -1
- package/dist/cjs/api/paneviewPanelApi.js +2 -2
- package/dist/cjs/api/splitviewPanelApi.d.ts +1 -1
- package/dist/cjs/api/splitviewPanelApi.js +2 -2
- package/dist/cjs/dockview/components/panel/content.js +1 -1
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/cjs/dockview/deserializer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.js +18 -8
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +10 -5
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +16 -0
- package/dist/cjs/dockview/dockviewPanel.d.ts +1 -1
- package/dist/cjs/dockview/dockviewPanel.js +2 -2
- package/dist/cjs/dockview/options.d.ts +3 -3
- package/dist/cjs/dockview/types.d.ts +0 -1
- package/dist/cjs/gridview/gridviewPanel.js +4 -4
- package/dist/cjs/lifecycle.d.ts +1 -1
- package/dist/cjs/paneview/paneview.d.ts +1 -0
- package/dist/cjs/paneview/paneview.js +3 -0
- package/dist/cjs/paneview/paneviewComponent.d.ts +2 -0
- package/dist/cjs/paneview/paneviewComponent.js +6 -0
- package/dist/cjs/paneview/paneviewPanel.d.ts +2 -0
- package/dist/cjs/paneview/paneviewPanel.js +6 -2
- package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
- package/dist/cjs/splitview/splitviewComponent.js +5 -5
- package/dist/cjs/splitview/splitviewPanel.js +4 -4
- package/dist/dockview-core.amd.js +134 -79
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +134 -79
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +134 -79
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +134 -79
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +134 -79
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +134 -79
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +10 -2
- package/dist/esm/api/component.api.js +10 -2
- package/dist/esm/api/dockviewGroupPanelApi.js +1 -1
- package/dist/esm/api/dockviewPanelApi.d.ts +5 -1
- package/dist/esm/api/dockviewPanelApi.js +38 -25
- package/dist/esm/api/gridviewPanelApi.d.ts +1 -1
- package/dist/esm/api/gridviewPanelApi.js +2 -2
- package/dist/esm/api/panelApi.d.ts +12 -16
- package/dist/esm/api/panelApi.js +16 -16
- package/dist/esm/api/paneviewPanelApi.d.ts +1 -1
- package/dist/esm/api/paneviewPanelApi.js +2 -2
- package/dist/esm/api/splitviewPanelApi.d.ts +1 -1
- package/dist/esm/api/splitviewPanelApi.js +2 -2
- package/dist/esm/dockview/components/panel/content.js +1 -1
- package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/esm/dockview/deserializer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.js +19 -9
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +10 -5
- package/dist/esm/dockview/dockviewGroupPanelModel.js +11 -0
- package/dist/esm/dockview/dockviewPanel.d.ts +1 -1
- package/dist/esm/dockview/dockviewPanel.js +2 -2
- package/dist/esm/dockview/options.d.ts +3 -3
- package/dist/esm/dockview/types.d.ts +0 -1
- package/dist/esm/gridview/gridviewPanel.js +4 -4
- package/dist/esm/lifecycle.d.ts +1 -1
- package/dist/esm/paneview/paneview.d.ts +1 -0
- package/dist/esm/paneview/paneview.js +3 -0
- package/dist/esm/paneview/paneviewComponent.d.ts +2 -0
- package/dist/esm/paneview/paneviewComponent.js +6 -0
- package/dist/esm/paneview/paneviewPanel.d.ts +2 -0
- package/dist/esm/paneview/paneviewPanel.js +6 -2
- package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
- package/dist/esm/splitview/splitviewComponent.js +5 -5
- package/dist/esm/splitview/splitviewPanel.js +4 -4
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export class DockviewPanel extends CompositeDisposable {
|
|
|
15
15
|
var _a;
|
|
16
16
|
return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
|
|
17
17
|
}
|
|
18
|
-
constructor(id, accessor, containerApi, group, view, options) {
|
|
18
|
+
constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
|
|
19
19
|
super();
|
|
20
20
|
this.id = id;
|
|
21
21
|
this.accessor = accessor;
|
|
@@ -23,7 +23,7 @@ export class DockviewPanel extends CompositeDisposable {
|
|
|
23
23
|
this.view = view;
|
|
24
24
|
this._renderer = options.renderer;
|
|
25
25
|
this._group = group;
|
|
26
|
-
this.api = new DockviewPanelApiImpl(this, this._group, accessor);
|
|
26
|
+
this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
|
|
27
27
|
this.addDisposables(this.api.onActiveChange(() => {
|
|
28
28
|
accessor.setActivePanel(this);
|
|
29
29
|
}), this.api.onDidSizeChange((event) => {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { DockviewApi } from '../api/component.api';
|
|
2
2
|
import { Direction } from '../gridview/baseComponentGridview';
|
|
3
3
|
import { IGridView } from '../gridview/gridview';
|
|
4
|
-
import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer
|
|
4
|
+
import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from './types';
|
|
5
5
|
import { Parameters } from '../panel/types';
|
|
6
6
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
7
7
|
import { ISplitviewStyles, Orientation } from '../splitview/splitview';
|
|
8
8
|
import { PanelTransfer } from '../dnd/dataTransfer';
|
|
9
9
|
import { IDisposable } from '../lifecycle';
|
|
10
10
|
import { DroptargetOverlayModel, Position } from '../dnd/droptarget';
|
|
11
|
-
import { GroupOptions } from './dockviewGroupPanelModel';
|
|
11
|
+
import { DockviewGroupDropLocation, GroupOptions } from './dockviewGroupPanelModel';
|
|
12
12
|
import { IDockviewPanel } from './dockviewPanel';
|
|
13
13
|
import { ComponentConstructor, FrameworkFactory } from '../panel/componentFactory';
|
|
14
14
|
import { DockviewGroupPanelApi } from '../api/dockviewGroupPanelApi';
|
|
@@ -50,7 +50,7 @@ export interface ViewFactoryData {
|
|
|
50
50
|
}
|
|
51
51
|
export interface DockviewDndOverlayEvent {
|
|
52
52
|
nativeEvent: DragEvent;
|
|
53
|
-
target:
|
|
53
|
+
target: DockviewGroupDropLocation;
|
|
54
54
|
position: Position;
|
|
55
55
|
group?: DockviewGroupPanel;
|
|
56
56
|
getData: () => PanelTransfer | undefined;
|
|
@@ -6,7 +6,6 @@ import { Event } from '../events';
|
|
|
6
6
|
import { Optional } from '../types';
|
|
7
7
|
import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
|
|
8
8
|
import { DockviewPanelRenderer } from '../overlayRenderContainer';
|
|
9
|
-
export type DockviewDropTargets = 'tab' | 'panel' | 'tabContainer' | 'edge';
|
|
10
9
|
export interface HeaderPartInitParameters {
|
|
11
10
|
title: string;
|
|
12
11
|
}
|
|
@@ -52,7 +52,7 @@ export class GridviewPanel extends BasePanelView {
|
|
|
52
52
|
return this.api.isActive;
|
|
53
53
|
}
|
|
54
54
|
constructor(id, component, options, api) {
|
|
55
|
-
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id));
|
|
55
|
+
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
56
56
|
this._evaluatedMinimumWidth = 0;
|
|
57
57
|
this._evaluatedMaximumWidth = Number.MAX_SAFE_INTEGER;
|
|
58
58
|
this._evaluatedMinimumHeight = 0;
|
|
@@ -77,10 +77,10 @@ export class GridviewPanel extends BasePanelView {
|
|
|
77
77
|
this._maximumHeight = options.maximumHeight;
|
|
78
78
|
}
|
|
79
79
|
this.api.initialize(this); // TODO: required to by-pass 'super before this' requirement
|
|
80
|
-
this.addDisposables(this.api.
|
|
81
|
-
const {
|
|
80
|
+
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
81
|
+
const { isVisible } = event;
|
|
82
82
|
const { accessor } = this._params;
|
|
83
|
-
accessor.setVisible(this,
|
|
83
|
+
accessor.setVisible(this, isVisible);
|
|
84
84
|
}), this.api.onActiveChange(() => {
|
|
85
85
|
const { accessor } = this._params;
|
|
86
86
|
accessor.doSetGroupActive(this);
|
package/dist/esm/lifecycle.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare class Paneview extends CompositeDisposable implements IDisposable
|
|
|
26
26
|
orientation: Orientation;
|
|
27
27
|
descriptor?: ISplitViewDescriptor;
|
|
28
28
|
});
|
|
29
|
+
setViewVisible(index: number, visible: boolean): void;
|
|
29
30
|
addPane(pane: PaneviewPanel, size?: number | Sizing, index?: number, skipLayout?: boolean): void;
|
|
30
31
|
getViewSize(index: number): number;
|
|
31
32
|
getPanes(): PaneviewPanel[];
|
|
@@ -66,6 +66,9 @@ export class Paneview extends CompositeDisposable {
|
|
|
66
66
|
this._onDidChange.fire();
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
|
+
setViewVisible(index, visible) {
|
|
70
|
+
this.splitview.setViewVisible(index, visible);
|
|
71
|
+
}
|
|
69
72
|
addPane(pane, size, index = this.splitview.length, skipLayout = false) {
|
|
70
73
|
const disposable = pane.onDidChangeExpansionState(() => {
|
|
71
74
|
this.setupAnimation();
|
|
@@ -84,6 +84,7 @@ export interface IPaneviewComponent extends IDisposable {
|
|
|
84
84
|
getPanel(id: string): IPaneviewPanel | undefined;
|
|
85
85
|
movePanel(from: number, to: number): void;
|
|
86
86
|
updateOptions(options: Partial<PaneviewComponentOptions>): void;
|
|
87
|
+
setVisible(panel: IPaneviewPanel, visible: boolean): void;
|
|
87
88
|
clear(): void;
|
|
88
89
|
}
|
|
89
90
|
export declare class PaneviewComponent extends Resizable implements IPaneviewComponent {
|
|
@@ -112,6 +113,7 @@ export declare class PaneviewComponent extends Resizable implements IPaneviewCom
|
|
|
112
113
|
get width(): number;
|
|
113
114
|
get options(): PaneviewComponentOptions;
|
|
114
115
|
constructor(options: PaneviewComponentOptions);
|
|
116
|
+
setVisible(panel: PaneviewPanel, visible: boolean): void;
|
|
115
117
|
focus(): void;
|
|
116
118
|
updateOptions(options: Partial<PaneviewComponentOptions>): void;
|
|
117
119
|
addPanel<T extends object = Parameters>(options: AddPaneviewComponentOptions<T>): IPaneviewPanel;
|
|
@@ -85,6 +85,10 @@ export class PaneviewComponent extends Resizable {
|
|
|
85
85
|
});
|
|
86
86
|
this.addDisposables(this._disposable);
|
|
87
87
|
}
|
|
88
|
+
setVisible(panel, visible) {
|
|
89
|
+
const index = this.panels.indexOf(panel);
|
|
90
|
+
this.paneview.setViewVisible(index, visible);
|
|
91
|
+
}
|
|
88
92
|
focus() {
|
|
89
93
|
//noop
|
|
90
94
|
}
|
|
@@ -131,6 +135,7 @@ export class PaneviewComponent extends Resizable {
|
|
|
131
135
|
isExpanded: options.isExpanded,
|
|
132
136
|
title: options.title,
|
|
133
137
|
containerApi: new PaneviewApi(this),
|
|
138
|
+
accessor: this,
|
|
134
139
|
});
|
|
135
140
|
this.paneview.addPane(view, size, index);
|
|
136
141
|
view.orientation = this.paneview.orientation;
|
|
@@ -230,6 +235,7 @@ export class PaneviewComponent extends Resizable {
|
|
|
230
235
|
title: data.title,
|
|
231
236
|
isExpanded: !!view.expanded,
|
|
232
237
|
containerApi: new PaneviewApi(this),
|
|
238
|
+
accessor: this,
|
|
233
239
|
});
|
|
234
240
|
panel.orientation = this.paneview.orientation;
|
|
235
241
|
});
|
|
@@ -5,6 +5,7 @@ import { BasePanelView, BasePanelViewExported, BasePanelViewState } from '../gri
|
|
|
5
5
|
import { IDisposable } from '../lifecycle';
|
|
6
6
|
import { IFrameworkPart, PanelInitParameters, PanelUpdateEvent } from '../panel/types';
|
|
7
7
|
import { IView, Orientation } from '../splitview/splitview';
|
|
8
|
+
import { PaneviewComponent } from './paneviewComponent';
|
|
8
9
|
export interface PanePanelViewState extends BasePanelViewState {
|
|
9
10
|
headerComponent?: string;
|
|
10
11
|
title: string;
|
|
@@ -15,6 +16,7 @@ export interface PanePanelInitParameter extends PanelInitParameters {
|
|
|
15
16
|
isExpanded?: boolean;
|
|
16
17
|
title: string;
|
|
17
18
|
containerApi: PaneviewApi;
|
|
19
|
+
accessor: PaneviewComponent;
|
|
18
20
|
}
|
|
19
21
|
export interface PanePanelComponentInitParameter extends PanePanelInitParameter {
|
|
20
22
|
api: PaneviewPanelApiImpl;
|
|
@@ -52,7 +52,7 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
52
52
|
this.header.style.display = value ? '' : 'none';
|
|
53
53
|
}
|
|
54
54
|
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
55
|
-
super(id, component, new PaneviewPanelApiImpl(id));
|
|
55
|
+
super(id, component, new PaneviewPanelApiImpl(id, component));
|
|
56
56
|
this.headerComponent = headerComponent;
|
|
57
57
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
58
58
|
this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
|
|
@@ -72,7 +72,11 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
72
72
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
73
73
|
this._orientation = orientation;
|
|
74
74
|
this.element.classList.add('pane');
|
|
75
|
-
this.addDisposables(this.api.
|
|
75
|
+
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
76
|
+
const { isVisible } = event;
|
|
77
|
+
const { accessor } = this._params;
|
|
78
|
+
accessor.setVisible(this, isVisible);
|
|
79
|
+
}), this.api.onDidSizeChange((event) => {
|
|
76
80
|
this._onDidChange.fire({ size: event.size });
|
|
77
81
|
}), addDisposableListener(this.element, 'mouseenter', (ev) => {
|
|
78
82
|
this.api._onMouseEnter.fire(ev);
|
|
@@ -88,7 +88,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
|
|
|
88
88
|
focus(): void;
|
|
89
89
|
movePanel(from: number, to: number): void;
|
|
90
90
|
setVisible(panel: SplitviewPanel, visible: boolean): void;
|
|
91
|
-
setActive(
|
|
91
|
+
setActive(panel: SplitviewPanel, skipFocus?: boolean): void;
|
|
92
92
|
removePanel(panel: SplitviewPanel, sizing?: Sizing): void;
|
|
93
93
|
getPanel(id: string): SplitviewPanel | undefined;
|
|
94
94
|
addPanel<T extends object = Parameters>(options: AddSplitviewComponentOptions<T>): SplitviewPanel;
|
|
@@ -86,19 +86,19 @@ export class SplitviewComponent extends Resizable {
|
|
|
86
86
|
const index = this.panels.indexOf(panel);
|
|
87
87
|
this.splitview.setViewVisible(index, visible);
|
|
88
88
|
}
|
|
89
|
-
setActive(
|
|
90
|
-
this._activePanel =
|
|
89
|
+
setActive(panel, skipFocus) {
|
|
90
|
+
this._activePanel = panel;
|
|
91
91
|
this.panels
|
|
92
|
-
.filter((v) => v !==
|
|
92
|
+
.filter((v) => v !== panel)
|
|
93
93
|
.forEach((v) => {
|
|
94
94
|
v.api._onDidActiveChange.fire({ isActive: false });
|
|
95
95
|
if (!skipFocus) {
|
|
96
96
|
v.focus();
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
|
-
|
|
99
|
+
panel.api._onDidActiveChange.fire({ isActive: true });
|
|
100
100
|
if (!skipFocus) {
|
|
101
|
-
|
|
101
|
+
panel.focus();
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
removePanel(panel, sizing) {
|
|
@@ -36,7 +36,7 @@ export class SplitviewPanel extends BasePanelView {
|
|
|
36
36
|
return this._snap;
|
|
37
37
|
}
|
|
38
38
|
constructor(id, componentName) {
|
|
39
|
-
super(id, componentName, new SplitviewPanelApiImpl(id));
|
|
39
|
+
super(id, componentName, new SplitviewPanelApiImpl(id, componentName));
|
|
40
40
|
this._evaluatedMinimumSize = 0;
|
|
41
41
|
this._evaluatedMaximumSize = Number.POSITIVE_INFINITY;
|
|
42
42
|
this._minimumSize = 0;
|
|
@@ -45,10 +45,10 @@ export class SplitviewPanel extends BasePanelView {
|
|
|
45
45
|
this._onDidChange = new Emitter();
|
|
46
46
|
this.onDidChange = this._onDidChange.event;
|
|
47
47
|
this.api.initialize(this);
|
|
48
|
-
this.addDisposables(this._onDidChange, this.api.
|
|
49
|
-
const {
|
|
48
|
+
this.addDisposables(this._onDidChange, this.api.onWillVisibilityChange((event) => {
|
|
49
|
+
const { isVisible } = event;
|
|
50
50
|
const { accessor } = this._params;
|
|
51
|
-
accessor.setVisible(this,
|
|
51
|
+
accessor.setVisible(this, isVisible);
|
|
52
52
|
}), this.api.onActiveChange(() => {
|
|
53
53
|
const { accessor } = this._params;
|
|
54
54
|
accessor.setActive(this);
|