dockview-core 1.10.1 → 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/dockviewGroupPanelApi.js +1 -1
- package/dist/cjs/api/dockviewPanelApi.d.ts +4 -1
- package/dist/cjs/api/dockviewPanelApi.js +10 -2
- package/dist/cjs/api/gridviewPanelApi.d.ts +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +2 -2
- package/dist/cjs/api/panelApi.d.ts +8 -3
- package/dist/cjs/api/panelApi.js +13 -6
- 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/deserializer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.js +3 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +7 -1
- 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/gridview/gridviewPanel.js +1 -1
- package/dist/cjs/paneview/paneviewPanel.js +1 -1
- package/dist/cjs/splitview/splitviewPanel.js +1 -1
- package/dist/dockview-core.amd.js +46 -23
- 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 +46 -23
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +46 -23
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +46 -23
- 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 +46 -23
- 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 +46 -23
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/dockviewGroupPanelApi.js +1 -1
- package/dist/esm/api/dockviewPanelApi.d.ts +4 -1
- package/dist/esm/api/dockviewPanelApi.js +6 -2
- package/dist/esm/api/gridviewPanelApi.d.ts +1 -1
- package/dist/esm/api/gridviewPanelApi.js +2 -2
- package/dist/esm/api/panelApi.d.ts +8 -3
- package/dist/esm/api/panelApi.js +12 -6
- 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/deserializer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.js +3 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +7 -1
- 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/gridview/gridviewPanel.js +1 -1
- package/dist/esm/paneview/paneviewPanel.js +1 -1
- package/dist/esm/splitview/splitviewPanel.js +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ export class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
11
11
|
return this._group.model.location;
|
|
12
12
|
}
|
|
13
13
|
constructor(id, accessor) {
|
|
14
|
-
super(id);
|
|
14
|
+
super(id, '__dockviewgroup__');
|
|
15
15
|
this.accessor = accessor;
|
|
16
16
|
this._onDidLocationChange = new Emitter();
|
|
17
17
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
@@ -25,6 +25,7 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
|
|
|
25
25
|
readonly title: string | undefined;
|
|
26
26
|
readonly onDidActiveGroupChange: Event<ActiveGroupEvent>;
|
|
27
27
|
readonly onDidGroupChange: Event<GroupChangedEvent>;
|
|
28
|
+
readonly onDidTitleChange: Event<TitleEvent>;
|
|
28
29
|
readonly onDidRendererChange: Event<RendererChangedEvent>;
|
|
29
30
|
readonly location: DockviewGroupLocation;
|
|
30
31
|
readonly onDidLocationChange: Event<DockviewGroupPanelFloatingChangeEvent>;
|
|
@@ -48,6 +49,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
48
49
|
private panel;
|
|
49
50
|
private readonly accessor;
|
|
50
51
|
private _group;
|
|
52
|
+
private _tabComponent;
|
|
51
53
|
readonly _onDidTitleChange: Emitter<TitleEvent>;
|
|
52
54
|
readonly onDidTitleChange: Event<TitleEvent>;
|
|
53
55
|
private readonly _onDidActiveGroupChange;
|
|
@@ -65,7 +67,8 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
65
67
|
get renderer(): DockviewPanelRenderer;
|
|
66
68
|
set group(value: DockviewGroupPanel);
|
|
67
69
|
get group(): DockviewGroupPanel;
|
|
68
|
-
|
|
70
|
+
get tabComponent(): string | undefined;
|
|
71
|
+
constructor(panel: DockviewPanel, group: DockviewGroupPanel, accessor: DockviewComponent, component: string, tabComponent?: string);
|
|
69
72
|
getWindow(): Window;
|
|
70
73
|
moveTo(options: {
|
|
71
74
|
group: DockviewGroupPanel;
|
|
@@ -28,8 +28,11 @@ export class DockviewPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
28
28
|
get group() {
|
|
29
29
|
return this._group;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
get tabComponent() {
|
|
32
|
+
return this._tabComponent;
|
|
33
|
+
}
|
|
34
|
+
constructor(panel, group, accessor, component, tabComponent) {
|
|
35
|
+
super(panel.id, component);
|
|
33
36
|
this.panel = panel;
|
|
34
37
|
this.accessor = accessor;
|
|
35
38
|
this._onDidTitleChange = new Emitter();
|
|
@@ -43,6 +46,7 @@ export class DockviewPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
43
46
|
this._onDidLocationChange = new Emitter();
|
|
44
47
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
45
48
|
this.groupEventsDisposable = new MutableDisposable();
|
|
49
|
+
this._tabComponent = tabComponent;
|
|
46
50
|
this.initialize(panel);
|
|
47
51
|
this._group = group;
|
|
48
52
|
this.setupGroupEventListeners();
|
|
@@ -30,7 +30,7 @@ export declare class GridviewPanelApiImpl extends PanelApiImpl implements Gridvi
|
|
|
30
30
|
readonly onDidConstraintsChange: Event<GridConstraintChangeEvent>;
|
|
31
31
|
private readonly _onDidSizeChange;
|
|
32
32
|
readonly onDidSizeChange: Event<SizeEvent>;
|
|
33
|
-
constructor(id: string, panel?: IPanel);
|
|
33
|
+
constructor(id: string, component: string, panel?: IPanel);
|
|
34
34
|
setConstraints(value: GridConstraintChangeEvent): void;
|
|
35
35
|
setSize(event: SizeEvent): void;
|
|
36
36
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Emitter } from '../events';
|
|
2
2
|
import { PanelApiImpl } from './panelApi';
|
|
3
3
|
export class GridviewPanelApiImpl extends PanelApiImpl {
|
|
4
|
-
constructor(id, panel) {
|
|
5
|
-
super(id);
|
|
4
|
+
constructor(id, component, panel) {
|
|
5
|
+
super(id, component);
|
|
6
6
|
this._onDidConstraintsChangeInternal = new Emitter();
|
|
7
7
|
this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
|
|
8
8
|
this._onDidConstraintsChange = new Emitter();
|
|
@@ -19,6 +19,7 @@ export interface PanelApi {
|
|
|
19
19
|
readonly onDidFocusChange: Event<FocusEvent>;
|
|
20
20
|
readonly onDidVisibilityChange: Event<VisibilityEvent>;
|
|
21
21
|
readonly onDidActiveChange: Event<ActiveEvent>;
|
|
22
|
+
readonly onDidParametersChange: Event<Parameters>;
|
|
22
23
|
setActive(): void;
|
|
23
24
|
setVisible(isVisible: boolean): void;
|
|
24
25
|
updateParameters(parameters: Parameters): void;
|
|
@@ -47,6 +48,7 @@ export interface PanelApi {
|
|
|
47
48
|
*/
|
|
48
49
|
readonly height: number;
|
|
49
50
|
readonly onWillFocus: Event<WillFocusEvent>;
|
|
51
|
+
getParameters<T extends Parameters = Parameters>(): T;
|
|
50
52
|
}
|
|
51
53
|
export declare class WillFocusEvent extends DockviewEvent {
|
|
52
54
|
constructor();
|
|
@@ -56,11 +58,13 @@ export declare class WillFocusEvent extends DockviewEvent {
|
|
|
56
58
|
*/
|
|
57
59
|
export declare class PanelApiImpl extends CompositeDisposable implements PanelApi {
|
|
58
60
|
readonly id: string;
|
|
61
|
+
readonly component: string;
|
|
59
62
|
private _isFocused;
|
|
60
63
|
private _isActive;
|
|
61
64
|
private _isVisible;
|
|
62
65
|
private _width;
|
|
63
66
|
private _height;
|
|
67
|
+
private _parameters;
|
|
64
68
|
private readonly panelUpdatesDisposable;
|
|
65
69
|
readonly _onDidDimensionChange: Emitter<PanelDimensionChangeEvent>;
|
|
66
70
|
readonly onDidDimensionsChange: Event<PanelDimensionChangeEvent>;
|
|
@@ -76,14 +80,15 @@ export declare class PanelApiImpl extends CompositeDisposable implements PanelAp
|
|
|
76
80
|
readonly onDidActiveChange: Event<ActiveEvent>;
|
|
77
81
|
readonly _onActiveChange: Emitter<void>;
|
|
78
82
|
readonly onActiveChange: Event<void>;
|
|
79
|
-
readonly
|
|
80
|
-
readonly
|
|
83
|
+
readonly _onDidParametersChange: Emitter<Parameters>;
|
|
84
|
+
readonly onDidParametersChange: Event<Parameters>;
|
|
81
85
|
get isFocused(): boolean;
|
|
82
86
|
get isActive(): boolean;
|
|
83
87
|
get isVisible(): boolean;
|
|
84
88
|
get width(): number;
|
|
85
89
|
get height(): number;
|
|
86
|
-
constructor(id: string);
|
|
90
|
+
constructor(id: string, component: string);
|
|
91
|
+
getParameters<T extends Parameters = Parameters>(): T;
|
|
87
92
|
initialize(panel: IPanel): void;
|
|
88
93
|
setVisible(isVisible: boolean): void;
|
|
89
94
|
setActive(): void;
|
package/dist/esm/api/panelApi.js
CHANGED
|
@@ -24,14 +24,16 @@ export class PanelApiImpl extends CompositeDisposable {
|
|
|
24
24
|
get height() {
|
|
25
25
|
return this._height;
|
|
26
26
|
}
|
|
27
|
-
constructor(id) {
|
|
27
|
+
constructor(id, component) {
|
|
28
28
|
super();
|
|
29
29
|
this.id = id;
|
|
30
|
+
this.component = component;
|
|
30
31
|
this._isFocused = false;
|
|
31
32
|
this._isActive = false;
|
|
32
33
|
this._isVisible = true;
|
|
33
34
|
this._width = 0;
|
|
34
35
|
this._height = 0;
|
|
36
|
+
this._parameters = {};
|
|
35
37
|
this.panelUpdatesDisposable = new MutableDisposable();
|
|
36
38
|
this._onDidDimensionChange = new Emitter();
|
|
37
39
|
this.onDidDimensionsChange = this._onDidDimensionChange.event;
|
|
@@ -49,8 +51,8 @@ export class PanelApiImpl extends CompositeDisposable {
|
|
|
49
51
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
50
52
|
this._onActiveChange = new Emitter();
|
|
51
53
|
this.onActiveChange = this._onActiveChange.event;
|
|
52
|
-
this.
|
|
53
|
-
this.
|
|
54
|
+
this._onDidParametersChange = new Emitter();
|
|
55
|
+
this.onDidParametersChange = this._onDidParametersChange.event;
|
|
54
56
|
this.addDisposables(this.onDidFocusChange((event) => {
|
|
55
57
|
this._isFocused = event.isFocused;
|
|
56
58
|
}), this.onDidActiveChange((event) => {
|
|
@@ -60,10 +62,14 @@ export class PanelApiImpl extends CompositeDisposable {
|
|
|
60
62
|
}), this.onDidDimensionsChange((event) => {
|
|
61
63
|
this._width = event.width;
|
|
62
64
|
this._height = event.height;
|
|
63
|
-
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this.
|
|
65
|
+
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this._onWillFocus, this._onWillVisibilityChange, this._onDidParametersChange);
|
|
66
|
+
}
|
|
67
|
+
getParameters() {
|
|
68
|
+
return this._parameters;
|
|
64
69
|
}
|
|
65
70
|
initialize(panel) {
|
|
66
|
-
this.panelUpdatesDisposable.value = this.
|
|
71
|
+
this.panelUpdatesDisposable.value = this._onDidParametersChange.event((parameters) => {
|
|
72
|
+
this._parameters = parameters;
|
|
67
73
|
panel.update({
|
|
68
74
|
params: parameters,
|
|
69
75
|
});
|
|
@@ -76,6 +82,6 @@ export class PanelApiImpl extends CompositeDisposable {
|
|
|
76
82
|
this._onActiveChange.fire();
|
|
77
83
|
}
|
|
78
84
|
updateParameters(parameters) {
|
|
79
|
-
this.
|
|
85
|
+
this._onDidParametersChange.fire(parameters);
|
|
80
86
|
}
|
|
81
87
|
}
|
|
@@ -20,7 +20,7 @@ export declare class PaneviewPanelApiImpl extends SplitviewPanelApiImpl implemen
|
|
|
20
20
|
readonly onMouseLeave: Event<MouseEvent>;
|
|
21
21
|
private _pane;
|
|
22
22
|
set pane(pane: PaneviewPanel);
|
|
23
|
-
constructor(id: string);
|
|
23
|
+
constructor(id: string, component: string);
|
|
24
24
|
setExpanded(isExpanded: boolean): void;
|
|
25
25
|
get isExpanded(): boolean;
|
|
26
26
|
}
|
|
@@ -4,8 +4,8 @@ export class PaneviewPanelApiImpl extends SplitviewPanelApiImpl {
|
|
|
4
4
|
set pane(pane) {
|
|
5
5
|
this._pane = pane;
|
|
6
6
|
}
|
|
7
|
-
constructor(id) {
|
|
8
|
-
super(id);
|
|
7
|
+
constructor(id, component) {
|
|
8
|
+
super(id, component);
|
|
9
9
|
this._onDidExpansionChange = new Emitter({
|
|
10
10
|
replay: true,
|
|
11
11
|
});
|
|
@@ -25,7 +25,7 @@ export declare class SplitviewPanelApiImpl extends PanelApiImpl implements Split
|
|
|
25
25
|
readonly onDidConstraintsChange: Event<PanelConstraintChangeEvent>;
|
|
26
26
|
readonly _onDidSizeChange: Emitter<PanelSizeEvent>;
|
|
27
27
|
readonly onDidSizeChange: Event<PanelSizeEvent>;
|
|
28
|
-
constructor(id: string);
|
|
28
|
+
constructor(id: string, component: string);
|
|
29
29
|
setConstraints(value: PanelConstraintChangeEvent2): void;
|
|
30
30
|
setSize(event: PanelSizeEvent): void;
|
|
31
31
|
}
|
|
@@ -2,8 +2,8 @@ import { Emitter } from '../events';
|
|
|
2
2
|
import { PanelApiImpl } from './panelApi';
|
|
3
3
|
export class SplitviewPanelApiImpl extends PanelApiImpl {
|
|
4
4
|
//
|
|
5
|
-
constructor(id) {
|
|
6
|
-
super(id);
|
|
5
|
+
constructor(id, component) {
|
|
6
|
+
super(id, component);
|
|
7
7
|
this._onDidConstraintsChangeInternal = new Emitter();
|
|
8
8
|
this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
|
|
9
9
|
//
|
|
@@ -18,7 +18,7 @@ export class DefaultDockviewDeserialzier {
|
|
|
18
18
|
? (_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id
|
|
19
19
|
: panelData.tabComponent;
|
|
20
20
|
const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
|
|
21
|
-
const panel = new DockviewPanel(panelId, this.accessor, new DockviewApi(this.accessor), group, view, {
|
|
21
|
+
const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
|
|
22
22
|
renderer: panelData.renderer,
|
|
23
23
|
});
|
|
24
24
|
panel.init({
|
|
@@ -1420,6 +1420,8 @@ export class DockviewComponent extends BaseGrid {
|
|
|
1420
1420
|
if (this._onDidActivePanelChange.value !== event.panel) {
|
|
1421
1421
|
this._onDidActivePanelChange.fire(event.panel);
|
|
1422
1422
|
}
|
|
1423
|
+
}), Event.any(view.model.onDidPanelTitleChange, view.model.onDidPanelParametersChange)(() => {
|
|
1424
|
+
this._bufferOnDidLayoutChange.fire();
|
|
1423
1425
|
}));
|
|
1424
1426
|
this._groups.set(view.id, { value: view, disposable });
|
|
1425
1427
|
}
|
|
@@ -1432,7 +1434,7 @@ export class DockviewComponent extends BaseGrid {
|
|
|
1432
1434
|
const contentComponent = options.component;
|
|
1433
1435
|
const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
|
|
1434
1436
|
const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
|
|
1435
|
-
const panel = new DockviewPanel(options.id, this, this._api, group, view, { renderer: options.renderer });
|
|
1437
|
+
const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
|
|
1436
1438
|
panel.init({
|
|
1437
1439
|
title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
|
|
1438
1440
|
params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
|
|
@@ -5,11 +5,12 @@ import { DockviewComponent } from './dockviewComponent';
|
|
|
5
5
|
import { DockviewEvent, Event, IDockviewEvent } from '../events';
|
|
6
6
|
import { IViewSize } from '../gridview/gridview';
|
|
7
7
|
import { CompositeDisposable } from '../lifecycle';
|
|
8
|
-
import { IPanel, PanelInitParameters, PanelUpdateEvent } from '../panel/types';
|
|
8
|
+
import { IPanel, PanelInitParameters, PanelUpdateEvent, Parameters } from '../panel/types';
|
|
9
9
|
import { GroupDragEvent, TabDragEvent } from './components/titlebar/tabsContainer';
|
|
10
10
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
11
11
|
import { IDockviewPanel } from './dockviewPanel';
|
|
12
12
|
import { OverlayRenderContainer } from '../overlayRenderContainer';
|
|
13
|
+
import { TitleEvent } from '../api/dockviewPanelApi';
|
|
13
14
|
interface GroupMoveEvent {
|
|
14
15
|
groupId: string;
|
|
15
16
|
itemId?: string;
|
|
@@ -149,6 +150,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
149
150
|
private _width;
|
|
150
151
|
private _height;
|
|
151
152
|
private _panels;
|
|
153
|
+
private readonly _panelDisposables;
|
|
152
154
|
private readonly _onMove;
|
|
153
155
|
readonly onMove: Event<GroupMoveEvent>;
|
|
154
156
|
private readonly _onDidDrop;
|
|
@@ -163,6 +165,10 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
163
165
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
164
166
|
private readonly _onDidAddPanel;
|
|
165
167
|
readonly onDidAddPanel: Event<DockviewGroupChangeEvent>;
|
|
168
|
+
private readonly _onDidPanelTitleChange;
|
|
169
|
+
readonly onDidPanelTitleChange: Event<TitleEvent>;
|
|
170
|
+
private readonly _onDidPanelParametersChange;
|
|
171
|
+
readonly onDidPanelParametersChange: Event<Parameters>;
|
|
166
172
|
private readonly _onDidRemovePanel;
|
|
167
173
|
readonly onDidRemovePanel: Event<DockviewGroupChangeEvent>;
|
|
168
174
|
private readonly _onDidActivePanelChange;
|
|
@@ -147,6 +147,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
147
147
|
this._width = 0;
|
|
148
148
|
this._height = 0;
|
|
149
149
|
this._panels = [];
|
|
150
|
+
this._panelDisposables = new Map();
|
|
150
151
|
this._onMove = new Emitter();
|
|
151
152
|
this.onMove = this._onMove.event;
|
|
152
153
|
this._onDidDrop = new Emitter();
|
|
@@ -161,6 +162,10 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
161
162
|
this.onGroupDragStart = this._onGroupDragStart.event;
|
|
162
163
|
this._onDidAddPanel = new Emitter();
|
|
163
164
|
this.onDidAddPanel = this._onDidAddPanel.event;
|
|
165
|
+
this._onDidPanelTitleChange = new Emitter();
|
|
166
|
+
this.onDidPanelTitleChange = this._onDidPanelTitleChange.event;
|
|
167
|
+
this._onDidPanelParametersChange = new Emitter();
|
|
168
|
+
this.onDidPanelParametersChange = this._onDidPanelParametersChange.event;
|
|
164
169
|
this._onDidRemovePanel = new Emitter();
|
|
165
170
|
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
166
171
|
this._onDidActivePanelChange = new Emitter();
|
|
@@ -449,6 +454,11 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
449
454
|
if (this.mostRecentlyUsed.includes(panel)) {
|
|
450
455
|
this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
|
|
451
456
|
}
|
|
457
|
+
const disposable = this._panelDisposables.get(panel.id);
|
|
458
|
+
if (disposable) {
|
|
459
|
+
disposable.dispose();
|
|
460
|
+
this._panelDisposables.delete(panel.id);
|
|
461
|
+
}
|
|
452
462
|
this._onDidRemovePanel.fire({ panel });
|
|
453
463
|
}
|
|
454
464
|
doAddPanel(panel, index = this.panels.length, options = { skipSetActive: false }) {
|
|
@@ -466,6 +476,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
466
476
|
}
|
|
467
477
|
this.updateMru(panel);
|
|
468
478
|
this.panels.splice(index, 0, panel);
|
|
479
|
+
this._panelDisposables.set(panel.id, new CompositeDisposable(panel.api.onDidTitleChange((event) => this._onDidPanelTitleChange.fire(event)), panel.api.onDidParametersChange((event) => this._onDidPanelParametersChange.fire(event))));
|
|
469
480
|
this._onDidAddPanel.fire({ panel });
|
|
470
481
|
}
|
|
471
482
|
doSetActivePanel(panel) {
|
|
@@ -36,7 +36,7 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
|
|
|
36
36
|
get title(): string | undefined;
|
|
37
37
|
get group(): DockviewGroupPanel;
|
|
38
38
|
get renderer(): DockviewPanelRenderer;
|
|
39
|
-
constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi, group: DockviewGroupPanel, view: IDockviewPanelModel, options: {
|
|
39
|
+
constructor(id: string, component: string, tabComponent: string | undefined, accessor: DockviewComponent, containerApi: DockviewApi, group: DockviewGroupPanel, view: IDockviewPanelModel, options: {
|
|
40
40
|
renderer?: DockviewPanelRenderer;
|
|
41
41
|
});
|
|
42
42
|
init(params: IGroupPanelInitParameters): void;
|
|
@@ -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) => {
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|