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
|
@@ -374,15 +374,23 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
374
374
|
*/
|
|
375
375
|
get onWillDrop(): Event<DockviewWillDropEvent>;
|
|
376
376
|
/**
|
|
377
|
+
* Invoked before an overlay is shown indicating a drop target.
|
|
377
378
|
*
|
|
379
|
+
* Calling `event.preventDefault()` will prevent the overlay being shown and prevent
|
|
380
|
+
* the any subsequent drop event.
|
|
378
381
|
*/
|
|
379
382
|
get onWillShowOverlay(): Event<WillShowOverlayLocationEvent>;
|
|
380
383
|
/**
|
|
381
|
-
* Invoked before a group is dragged.
|
|
384
|
+
* Invoked before a group is dragged.
|
|
385
|
+
*
|
|
386
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the group drag starting.
|
|
387
|
+
*
|
|
382
388
|
*/
|
|
383
389
|
get onWillDragGroup(): Event<GroupDragEvent>;
|
|
384
390
|
/**
|
|
385
|
-
* Invoked before a panel is dragged.
|
|
391
|
+
* Invoked before a panel is dragged.
|
|
392
|
+
*
|
|
393
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the panel drag starting.
|
|
386
394
|
*/
|
|
387
395
|
get onWillDragPanel(): Event<TabDragEvent>;
|
|
388
396
|
/**
|
|
@@ -754,7 +754,10 @@ var DockviewApi = /** @class */ (function () {
|
|
|
754
754
|
});
|
|
755
755
|
Object.defineProperty(DockviewApi.prototype, "onWillShowOverlay", {
|
|
756
756
|
/**
|
|
757
|
+
* Invoked before an overlay is shown indicating a drop target.
|
|
757
758
|
*
|
|
759
|
+
* Calling `event.preventDefault()` will prevent the overlay being shown and prevent
|
|
760
|
+
* the any subsequent drop event.
|
|
758
761
|
*/
|
|
759
762
|
get: function () {
|
|
760
763
|
return this.component.onWillShowOverlay;
|
|
@@ -764,7 +767,10 @@ var DockviewApi = /** @class */ (function () {
|
|
|
764
767
|
});
|
|
765
768
|
Object.defineProperty(DockviewApi.prototype, "onWillDragGroup", {
|
|
766
769
|
/**
|
|
767
|
-
* Invoked before a group is dragged.
|
|
770
|
+
* Invoked before a group is dragged.
|
|
771
|
+
*
|
|
772
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the group drag starting.
|
|
773
|
+
*
|
|
768
774
|
*/
|
|
769
775
|
get: function () {
|
|
770
776
|
return this.component.onWillDragGroup;
|
|
@@ -774,7 +780,9 @@ var DockviewApi = /** @class */ (function () {
|
|
|
774
780
|
});
|
|
775
781
|
Object.defineProperty(DockviewApi.prototype, "onWillDragPanel", {
|
|
776
782
|
/**
|
|
777
|
-
* Invoked before a panel is dragged.
|
|
783
|
+
* Invoked before a panel is dragged.
|
|
784
|
+
*
|
|
785
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the panel drag starting.
|
|
778
786
|
*/
|
|
779
787
|
get: function () {
|
|
780
788
|
return this.component.onWillDragPanel;
|
|
@@ -24,7 +24,7 @@ var NOT_INITIALIZED_MESSAGE = 'DockviewGroupPanelApiImpl not initialized';
|
|
|
24
24
|
var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
25
25
|
__extends(DockviewGroupPanelApiImpl, _super);
|
|
26
26
|
function DockviewGroupPanelApiImpl(id, accessor) {
|
|
27
|
-
var _this = _super.call(this, id) || this;
|
|
27
|
+
var _this = _super.call(this, id, '__dockviewgroup__') || this;
|
|
28
28
|
_this.accessor = accessor;
|
|
29
29
|
_this._onDidLocationChange = new events_1.Emitter();
|
|
30
30
|
_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;
|
|
@@ -78,4 +81,5 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
78
81
|
maximize(): void;
|
|
79
82
|
isMaximized(): boolean;
|
|
80
83
|
exitMaximized(): void;
|
|
84
|
+
private setupGroupEventListeners;
|
|
81
85
|
}
|
|
@@ -21,8 +21,8 @@ var gridviewPanelApi_1 = require("./gridviewPanelApi");
|
|
|
21
21
|
var lifecycle_1 = require("../lifecycle");
|
|
22
22
|
var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
23
23
|
__extends(DockviewPanelApiImpl, _super);
|
|
24
|
-
function DockviewPanelApiImpl(panel, group, accessor) {
|
|
25
|
-
var _this = _super.call(this, panel.id) || this;
|
|
24
|
+
function DockviewPanelApiImpl(panel, group, accessor, component, tabComponent) {
|
|
25
|
+
var _this = _super.call(this, panel.id, component) || this;
|
|
26
26
|
_this.panel = panel;
|
|
27
27
|
_this.accessor = accessor;
|
|
28
28
|
_this._onDidTitleChange = new events_1.Emitter();
|
|
@@ -36,8 +36,10 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
36
36
|
_this._onDidLocationChange = new events_1.Emitter();
|
|
37
37
|
_this.onDidLocationChange = _this._onDidLocationChange.event;
|
|
38
38
|
_this.groupEventsDisposable = new lifecycle_1.MutableDisposable();
|
|
39
|
+
_this._tabComponent = tabComponent;
|
|
39
40
|
_this.initialize(panel);
|
|
40
41
|
_this._group = group;
|
|
42
|
+
_this.setupGroupEventListeners();
|
|
41
43
|
_this.addDisposables(_this.groupEventsDisposable, _this._onDidRendererChange, _this._onDidTitleChange, _this._onDidGroupChange, _this._onDidActiveGroupChange, _this._onDidLocationChange);
|
|
42
44
|
return _this;
|
|
43
45
|
}
|
|
@@ -74,33 +76,11 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
74
76
|
return this._group;
|
|
75
77
|
},
|
|
76
78
|
set: function (value) {
|
|
77
|
-
var
|
|
78
|
-
var isOldGroupActive = this.isGroupActive;
|
|
79
|
+
var oldGroup = this._group;
|
|
79
80
|
if (this._group !== value) {
|
|
80
81
|
this._group = value;
|
|
81
82
|
this._onDidGroupChange.fire({});
|
|
82
|
-
|
|
83
|
-
this.groupEventsDisposable.value = new lifecycle_1.CompositeDisposable(this.group.api.onDidLocationChange(function (event) {
|
|
84
|
-
if (_this.group !== _this.panel.group) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
_this._onDidLocationChange.fire(event);
|
|
88
|
-
}), this.group.api.onDidActiveChange(function () {
|
|
89
|
-
if (_this.group !== _this.panel.group) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (_trackGroupActive_1 !== _this.isGroupActive) {
|
|
93
|
-
_trackGroupActive_1 = _this.isGroupActive;
|
|
94
|
-
_this._onDidActiveGroupChange.fire({
|
|
95
|
-
isActive: _this.isGroupActive,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}));
|
|
99
|
-
// if (this.isGroupActive !== isOldGroupActive) {
|
|
100
|
-
// this._onDidActiveGroupChange.fire({
|
|
101
|
-
// isActive: this.isGroupActive,
|
|
102
|
-
// });
|
|
103
|
-
// }
|
|
83
|
+
this.setupGroupEventListeners(oldGroup);
|
|
104
84
|
this._onDidLocationChange.fire({
|
|
105
85
|
location: this.group.api.location,
|
|
106
86
|
});
|
|
@@ -109,6 +89,13 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
109
89
|
enumerable: false,
|
|
110
90
|
configurable: true
|
|
111
91
|
});
|
|
92
|
+
Object.defineProperty(DockviewPanelApiImpl.prototype, "tabComponent", {
|
|
93
|
+
get: function () {
|
|
94
|
+
return this._tabComponent;
|
|
95
|
+
},
|
|
96
|
+
enumerable: false,
|
|
97
|
+
configurable: true
|
|
98
|
+
});
|
|
112
99
|
DockviewPanelApiImpl.prototype.getWindow = function () {
|
|
113
100
|
return this.group.api.getWindow();
|
|
114
101
|
};
|
|
@@ -141,6 +128,36 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
141
128
|
DockviewPanelApiImpl.prototype.exitMaximized = function () {
|
|
142
129
|
this.group.api.exitMaximized();
|
|
143
130
|
};
|
|
131
|
+
DockviewPanelApiImpl.prototype.setupGroupEventListeners = function (previousGroup) {
|
|
132
|
+
var _this = this;
|
|
133
|
+
var _a;
|
|
134
|
+
var _trackGroupActive = (_a = previousGroup === null || previousGroup === void 0 ? void 0 : previousGroup.isActive) !== null && _a !== void 0 ? _a : false; // prevent duplicate events with same state
|
|
135
|
+
this.groupEventsDisposable.value = new lifecycle_1.CompositeDisposable(this.group.api.onDidVisibilityChange(function (event) {
|
|
136
|
+
if (!event.isVisible && _this.isVisible) {
|
|
137
|
+
_this._onDidVisibilityChange.fire(event);
|
|
138
|
+
}
|
|
139
|
+
else if (event.isVisible &&
|
|
140
|
+
!_this.isVisible &&
|
|
141
|
+
_this.group.model.isPanelActive(_this.panel)) {
|
|
142
|
+
_this._onDidVisibilityChange.fire(event);
|
|
143
|
+
}
|
|
144
|
+
}), this.group.api.onDidLocationChange(function (event) {
|
|
145
|
+
if (_this.group !== _this.panel.group) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
_this._onDidLocationChange.fire(event);
|
|
149
|
+
}), this.group.api.onDidActiveChange(function () {
|
|
150
|
+
if (_this.group !== _this.panel.group) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (_trackGroupActive !== _this.isGroupActive) {
|
|
154
|
+
_trackGroupActive = _this.isGroupActive;
|
|
155
|
+
_this._onDidActiveGroupChange.fire({
|
|
156
|
+
isActive: _this.isGroupActive,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}));
|
|
160
|
+
};
|
|
144
161
|
return DockviewPanelApiImpl;
|
|
145
162
|
}(gridviewPanelApi_1.GridviewPanelApiImpl));
|
|
146
163
|
exports.DockviewPanelApiImpl = DockviewPanelApiImpl;
|
|
@@ -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
|
}
|
|
@@ -20,8 +20,8 @@ var events_1 = require("../events");
|
|
|
20
20
|
var panelApi_1 = require("./panelApi");
|
|
21
21
|
var GridviewPanelApiImpl = /** @class */ (function (_super) {
|
|
22
22
|
__extends(GridviewPanelApiImpl, _super);
|
|
23
|
-
function GridviewPanelApiImpl(id, panel) {
|
|
24
|
-
var _this = _super.call(this, id) || this;
|
|
23
|
+
function GridviewPanelApiImpl(id, component, panel) {
|
|
24
|
+
var _this = _super.call(this, id, component) || this;
|
|
25
25
|
_this._onDidConstraintsChangeInternal = new events_1.Emitter();
|
|
26
26
|
_this.onDidConstraintsChangeInternal = _this._onDidConstraintsChangeInternal.event;
|
|
27
27
|
_this._onDidConstraintsChange = new events_1.Emitter();
|
|
@@ -11,9 +11,6 @@ export interface PanelDimensionChangeEvent {
|
|
|
11
11
|
export interface VisibilityEvent {
|
|
12
12
|
readonly isVisible: boolean;
|
|
13
13
|
}
|
|
14
|
-
export interface HiddenEvent {
|
|
15
|
-
readonly isHidden: boolean;
|
|
16
|
-
}
|
|
17
14
|
export interface ActiveEvent {
|
|
18
15
|
readonly isActive: boolean;
|
|
19
16
|
}
|
|
@@ -22,8 +19,9 @@ export interface PanelApi {
|
|
|
22
19
|
readonly onDidFocusChange: Event<FocusEvent>;
|
|
23
20
|
readonly onDidVisibilityChange: Event<VisibilityEvent>;
|
|
24
21
|
readonly onDidActiveChange: Event<ActiveEvent>;
|
|
25
|
-
readonly
|
|
22
|
+
readonly onDidParametersChange: Event<Parameters>;
|
|
26
23
|
setActive(): void;
|
|
24
|
+
setVisible(isVisible: boolean): void;
|
|
27
25
|
updateParameters(parameters: Parameters): void;
|
|
28
26
|
/**
|
|
29
27
|
* The id of the panel that would have been assigned when the panel was created
|
|
@@ -41,10 +39,6 @@ export interface PanelApi {
|
|
|
41
39
|
* Whether the panel is visible
|
|
42
40
|
*/
|
|
43
41
|
readonly isVisible: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Whether the panel is hidden
|
|
46
|
-
*/
|
|
47
|
-
readonly isHidden: boolean;
|
|
48
42
|
/**
|
|
49
43
|
* The panel width in pixels
|
|
50
44
|
*/
|
|
@@ -54,6 +48,7 @@ export interface PanelApi {
|
|
|
54
48
|
*/
|
|
55
49
|
readonly height: number;
|
|
56
50
|
readonly onWillFocus: Event<WillFocusEvent>;
|
|
51
|
+
getParameters<T extends Parameters = Parameters>(): T;
|
|
57
52
|
}
|
|
58
53
|
export declare class WillFocusEvent extends DockviewEvent {
|
|
59
54
|
constructor();
|
|
@@ -63,12 +58,13 @@ export declare class WillFocusEvent extends DockviewEvent {
|
|
|
63
58
|
*/
|
|
64
59
|
export declare class PanelApiImpl extends CompositeDisposable implements PanelApi {
|
|
65
60
|
readonly id: string;
|
|
61
|
+
readonly component: string;
|
|
66
62
|
private _isFocused;
|
|
67
63
|
private _isActive;
|
|
68
64
|
private _isVisible;
|
|
69
|
-
private _isHidden;
|
|
70
65
|
private _width;
|
|
71
66
|
private _height;
|
|
67
|
+
private _parameters;
|
|
72
68
|
private readonly panelUpdatesDisposable;
|
|
73
69
|
readonly _onDidDimensionChange: Emitter<PanelDimensionChangeEvent>;
|
|
74
70
|
readonly onDidDimensionsChange: Event<PanelDimensionChangeEvent>;
|
|
@@ -78,23 +74,23 @@ export declare class PanelApiImpl extends CompositeDisposable implements PanelAp
|
|
|
78
74
|
readonly onWillFocus: Event<WillFocusEvent>;
|
|
79
75
|
readonly _onDidVisibilityChange: Emitter<VisibilityEvent>;
|
|
80
76
|
readonly onDidVisibilityChange: Event<VisibilityEvent>;
|
|
81
|
-
readonly
|
|
82
|
-
readonly
|
|
77
|
+
readonly _onWillVisibilityChange: Emitter<VisibilityEvent>;
|
|
78
|
+
readonly onWillVisibilityChange: Event<VisibilityEvent>;
|
|
83
79
|
readonly _onDidActiveChange: Emitter<ActiveEvent>;
|
|
84
80
|
readonly onDidActiveChange: Event<ActiveEvent>;
|
|
85
81
|
readonly _onActiveChange: Emitter<void>;
|
|
86
82
|
readonly onActiveChange: Event<void>;
|
|
87
|
-
readonly
|
|
88
|
-
readonly
|
|
83
|
+
readonly _onDidParametersChange: Emitter<Parameters>;
|
|
84
|
+
readonly onDidParametersChange: Event<Parameters>;
|
|
89
85
|
get isFocused(): boolean;
|
|
90
86
|
get isActive(): boolean;
|
|
91
87
|
get isVisible(): boolean;
|
|
92
|
-
get isHidden(): boolean;
|
|
93
88
|
get width(): number;
|
|
94
89
|
get height(): number;
|
|
95
|
-
constructor(id: string);
|
|
90
|
+
constructor(id: string, component: string);
|
|
91
|
+
getParameters<T extends Parameters = Parameters>(): T;
|
|
96
92
|
initialize(panel: IPanel): void;
|
|
97
|
-
|
|
93
|
+
setVisible(isVisible: boolean): void;
|
|
98
94
|
setActive(): void;
|
|
99
95
|
updateParameters(parameters: Parameters): void;
|
|
100
96
|
}
|
package/dist/cjs/api/panelApi.js
CHANGED
|
@@ -31,15 +31,16 @@ exports.WillFocusEvent = WillFocusEvent;
|
|
|
31
31
|
*/
|
|
32
32
|
var PanelApiImpl = /** @class */ (function (_super) {
|
|
33
33
|
__extends(PanelApiImpl, _super);
|
|
34
|
-
function PanelApiImpl(id) {
|
|
34
|
+
function PanelApiImpl(id, component) {
|
|
35
35
|
var _this = _super.call(this) || this;
|
|
36
36
|
_this.id = id;
|
|
37
|
+
_this.component = component;
|
|
37
38
|
_this._isFocused = false;
|
|
38
39
|
_this._isActive = false;
|
|
39
40
|
_this._isVisible = true;
|
|
40
|
-
_this._isHidden = false;
|
|
41
41
|
_this._width = 0;
|
|
42
42
|
_this._height = 0;
|
|
43
|
+
_this._parameters = {};
|
|
43
44
|
_this.panelUpdatesDisposable = new lifecycle_1.MutableDisposable();
|
|
44
45
|
_this._onDidDimensionChange = new events_1.Emitter();
|
|
45
46
|
_this.onDidDimensionsChange = _this._onDidDimensionChange.event;
|
|
@@ -51,26 +52,24 @@ var PanelApiImpl = /** @class */ (function (_super) {
|
|
|
51
52
|
//
|
|
52
53
|
_this._onDidVisibilityChange = new events_1.Emitter();
|
|
53
54
|
_this.onDidVisibilityChange = _this._onDidVisibilityChange.event;
|
|
54
|
-
_this.
|
|
55
|
-
_this.
|
|
55
|
+
_this._onWillVisibilityChange = new events_1.Emitter();
|
|
56
|
+
_this.onWillVisibilityChange = _this._onWillVisibilityChange.event;
|
|
56
57
|
_this._onDidActiveChange = new events_1.Emitter();
|
|
57
58
|
_this.onDidActiveChange = _this._onDidActiveChange.event;
|
|
58
59
|
_this._onActiveChange = new events_1.Emitter();
|
|
59
60
|
_this.onActiveChange = _this._onActiveChange.event;
|
|
60
|
-
_this.
|
|
61
|
-
_this.
|
|
61
|
+
_this._onDidParametersChange = new events_1.Emitter();
|
|
62
|
+
_this.onDidParametersChange = _this._onDidParametersChange.event;
|
|
62
63
|
_this.addDisposables(_this.onDidFocusChange(function (event) {
|
|
63
64
|
_this._isFocused = event.isFocused;
|
|
64
65
|
}), _this.onDidActiveChange(function (event) {
|
|
65
66
|
_this._isActive = event.isActive;
|
|
66
67
|
}), _this.onDidVisibilityChange(function (event) {
|
|
67
68
|
_this._isVisible = event.isVisible;
|
|
68
|
-
}), _this.onDidHiddenChange(function (event) {
|
|
69
|
-
_this._isHidden = event.isHidden;
|
|
70
69
|
}), _this.onDidDimensionsChange(function (event) {
|
|
71
70
|
_this._width = event.width;
|
|
72
71
|
_this._height = event.height;
|
|
73
|
-
}), _this.panelUpdatesDisposable, _this._onDidDimensionChange, _this._onDidChangeFocus, _this._onDidVisibilityChange, _this._onDidActiveChange, _this._onWillFocus, _this._onActiveChange, _this.
|
|
72
|
+
}), _this.panelUpdatesDisposable, _this._onDidDimensionChange, _this._onDidChangeFocus, _this._onDidVisibilityChange, _this._onDidActiveChange, _this._onWillFocus, _this._onActiveChange, _this._onWillFocus, _this._onWillVisibilityChange, _this._onDidParametersChange);
|
|
74
73
|
return _this;
|
|
75
74
|
}
|
|
76
75
|
Object.defineProperty(PanelApiImpl.prototype, "isFocused", {
|
|
@@ -94,13 +93,6 @@ var PanelApiImpl = /** @class */ (function (_super) {
|
|
|
94
93
|
enumerable: false,
|
|
95
94
|
configurable: true
|
|
96
95
|
});
|
|
97
|
-
Object.defineProperty(PanelApiImpl.prototype, "isHidden", {
|
|
98
|
-
get: function () {
|
|
99
|
-
return this._isHidden;
|
|
100
|
-
},
|
|
101
|
-
enumerable: false,
|
|
102
|
-
configurable: true
|
|
103
|
-
});
|
|
104
96
|
Object.defineProperty(PanelApiImpl.prototype, "width", {
|
|
105
97
|
get: function () {
|
|
106
98
|
return this._width;
|
|
@@ -115,21 +107,26 @@ var PanelApiImpl = /** @class */ (function (_super) {
|
|
|
115
107
|
enumerable: false,
|
|
116
108
|
configurable: true
|
|
117
109
|
});
|
|
110
|
+
PanelApiImpl.prototype.getParameters = function () {
|
|
111
|
+
return this._parameters;
|
|
112
|
+
};
|
|
118
113
|
PanelApiImpl.prototype.initialize = function (panel) {
|
|
119
|
-
|
|
114
|
+
var _this = this;
|
|
115
|
+
this.panelUpdatesDisposable.value = this._onDidParametersChange.event(function (parameters) {
|
|
116
|
+
_this._parameters = parameters;
|
|
120
117
|
panel.update({
|
|
121
118
|
params: parameters,
|
|
122
119
|
});
|
|
123
120
|
});
|
|
124
121
|
};
|
|
125
|
-
PanelApiImpl.prototype.
|
|
126
|
-
this.
|
|
122
|
+
PanelApiImpl.prototype.setVisible = function (isVisible) {
|
|
123
|
+
this._onWillVisibilityChange.fire({ isVisible: isVisible });
|
|
127
124
|
};
|
|
128
125
|
PanelApiImpl.prototype.setActive = function () {
|
|
129
126
|
this._onActiveChange.fire();
|
|
130
127
|
};
|
|
131
128
|
PanelApiImpl.prototype.updateParameters = function (parameters) {
|
|
132
|
-
this.
|
|
129
|
+
this._onDidParametersChange.fire(parameters);
|
|
133
130
|
};
|
|
134
131
|
return PanelApiImpl;
|
|
135
132
|
}(lifecycle_1.CompositeDisposable));
|
|
@@ -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
|
}
|
|
@@ -20,8 +20,8 @@ var events_1 = require("../events");
|
|
|
20
20
|
var splitviewPanelApi_1 = require("./splitviewPanelApi");
|
|
21
21
|
var PaneviewPanelApiImpl = /** @class */ (function (_super) {
|
|
22
22
|
__extends(PaneviewPanelApiImpl, _super);
|
|
23
|
-
function PaneviewPanelApiImpl(id) {
|
|
24
|
-
var _this = _super.call(this, id) || this;
|
|
23
|
+
function PaneviewPanelApiImpl(id, component) {
|
|
24
|
+
var _this = _super.call(this, id, component) || this;
|
|
25
25
|
_this._onDidExpansionChange = new events_1.Emitter({
|
|
26
26
|
replay: true,
|
|
27
27
|
});
|
|
@@ -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
|
}
|
|
@@ -21,8 +21,8 @@ var panelApi_1 = require("./panelApi");
|
|
|
21
21
|
var SplitviewPanelApiImpl = /** @class */ (function (_super) {
|
|
22
22
|
__extends(SplitviewPanelApiImpl, _super);
|
|
23
23
|
//
|
|
24
|
-
function SplitviewPanelApiImpl(id) {
|
|
25
|
-
var _this = _super.call(this, id) || this;
|
|
24
|
+
function SplitviewPanelApiImpl(id, component) {
|
|
25
|
+
var _this = _super.call(this, id, component) || this;
|
|
26
26
|
_this._onDidConstraintsChangeInternal = new events_1.Emitter();
|
|
27
27
|
_this.onDidConstraintsChangeInternal = _this._onDidConstraintsChangeInternal.event;
|
|
28
28
|
//
|
|
@@ -64,7 +64,7 @@ var ContentContainer = /** @class */ (function (_super) {
|
|
|
64
64
|
data.groupId === _this.group.id;
|
|
65
65
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
66
66
|
}
|
|
67
|
-
return _this.group.canDisplayOverlay(event, position, '
|
|
67
|
+
return _this.group.canDisplayOverlay(event, position, 'content');
|
|
68
68
|
},
|
|
69
69
|
});
|
|
70
70
|
_this.addDisposables(_this.dropTarget);
|
|
@@ -54,7 +54,7 @@ var VoidContainer = /** @class */ (function (_super) {
|
|
|
54
54
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
55
55
|
return ((_a = (0, array_1.last)(_this.group.panels)) === null || _a === void 0 ? void 0 : _a.id) !== data.panelId;
|
|
56
56
|
}
|
|
57
|
-
return group.model.canDisplayOverlay(event, position, '
|
|
57
|
+
return group.model.canDisplayOverlay(event, position, 'header_space');
|
|
58
58
|
},
|
|
59
59
|
});
|
|
60
60
|
_this.onWillShowOverlay = _this.dropTraget.onWillShowOverlay;
|
|
@@ -21,7 +21,7 @@ var DefaultDockviewDeserialzier = /** @class */ (function () {
|
|
|
21
21
|
? (_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id
|
|
22
22
|
: panelData.tabComponent;
|
|
23
23
|
var view = new dockviewPanelModel_1.DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
|
|
24
|
-
var panel = new dockviewPanel_1.DockviewPanel(panelId, this.accessor, new component_api_1.DockviewApi(this.accessor), group, view, {
|
|
24
|
+
var panel = new dockviewPanel_1.DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new component_api_1.DockviewApi(this.accessor), group, view, {
|
|
25
25
|
renderer: panelData.renderer,
|
|
26
26
|
});
|
|
27
27
|
panel.init({
|
|
@@ -335,7 +335,15 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
335
335
|
acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
|
|
336
336
|
overlayModel: (_b = _this.options.rootOverlayModel) !== null && _b !== void 0 ? _b : DEFAULT_ROOT_OVERLAY_MODEL,
|
|
337
337
|
});
|
|
338
|
-
_this.addDisposables(_this._rootDropTarget.
|
|
338
|
+
_this.addDisposables(_this._rootDropTarget, _this._rootDropTarget.onWillShowOverlay(function (event) {
|
|
339
|
+
if (_this.gridview.length > 0 && event.position === 'center') {
|
|
340
|
+
// option only available when no panels in primary grid
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
_this._onWillShowOverlay.fire(new dockviewGroupPanelModel_1.WillShowOverlayLocationEvent(event, {
|
|
344
|
+
kind: 'edge',
|
|
345
|
+
}));
|
|
346
|
+
}), _this._rootDropTarget.onDrop(function (event) {
|
|
339
347
|
var _a;
|
|
340
348
|
var willDropEvent = new dockviewGroupPanelModel_1.DockviewWillDropEvent({
|
|
341
349
|
nativeEvent: event.nativeEvent,
|
|
@@ -344,7 +352,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
344
352
|
api: _this._api,
|
|
345
353
|
group: undefined,
|
|
346
354
|
getData: dataTransfer_1.getPanelData,
|
|
347
|
-
kind: '
|
|
355
|
+
kind: 'edge',
|
|
348
356
|
});
|
|
349
357
|
_this._onWillDrop.fire(willDropEvent);
|
|
350
358
|
if (willDropEvent.defaultPrevented) {
|
|
@@ -449,7 +457,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
449
457
|
var box = getBox();
|
|
450
458
|
var groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId(); //item.id;
|
|
451
459
|
if (itemToPopout.api.location.type === 'grid') {
|
|
452
|
-
itemToPopout.api.
|
|
460
|
+
itemToPopout.api.setVisible(false);
|
|
453
461
|
}
|
|
454
462
|
var _window = new popoutWindow_1.PopoutWindow("".concat(this.id, "-").concat(groupId), // unique id
|
|
455
463
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
@@ -502,7 +510,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
502
510
|
});
|
|
503
511
|
switch (referenceLocation) {
|
|
504
512
|
case 'grid':
|
|
505
|
-
referenceGroup.api.
|
|
513
|
+
referenceGroup.api.setVisible(false);
|
|
506
514
|
break;
|
|
507
515
|
case 'floating':
|
|
508
516
|
case 'popout':
|
|
@@ -558,8 +566,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
558
566
|
to: referenceGroup,
|
|
559
567
|
});
|
|
560
568
|
});
|
|
561
|
-
if (referenceGroup.api.
|
|
562
|
-
referenceGroup.api.
|
|
569
|
+
if (!referenceGroup.api.isVisible) {
|
|
570
|
+
referenceGroup.api.setVisible(true);
|
|
563
571
|
}
|
|
564
572
|
if (_this.getPanel(group.id)) {
|
|
565
573
|
_this.doRemoveGroup(group, {
|
|
@@ -1269,7 +1277,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1269
1277
|
};
|
|
1270
1278
|
DockviewComponent.prototype.updateWatermark = function () {
|
|
1271
1279
|
var _a, _b;
|
|
1272
|
-
if (this.groups.filter(function (x) { return x.api.location.type === 'grid' &&
|
|
1280
|
+
if (this.groups.filter(function (x) { return x.api.location.type === 'grid' && x.api.isVisible; }).length === 0) {
|
|
1273
1281
|
if (!this.watermark) {
|
|
1274
1282
|
this.watermark = this.createWatermarkComponent();
|
|
1275
1283
|
this.watermark.init({
|
|
@@ -1705,6 +1713,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1705
1713
|
if (_this._onDidActivePanelChange.value !== event.panel) {
|
|
1706
1714
|
_this._onDidActivePanelChange.fire(event.panel);
|
|
1707
1715
|
}
|
|
1716
|
+
}), events_1.Event.any(view.model.onDidPanelTitleChange, view.model.onDidPanelParametersChange)(function () {
|
|
1717
|
+
_this._bufferOnDidLayoutChange.fire();
|
|
1708
1718
|
}));
|
|
1709
1719
|
this._groups.set(view.id, { value: view, disposable: disposable });
|
|
1710
1720
|
}
|
|
@@ -1717,7 +1727,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1717
1727
|
var contentComponent = options.component;
|
|
1718
1728
|
var tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
|
|
1719
1729
|
var view = new dockviewPanelModel_1.DockviewPanelModel(this, options.id, contentComponent, tabComponent);
|
|
1720
|
-
var panel = new dockviewPanel_1.DockviewPanel(options.id, this, this._api, group, view, { renderer: options.renderer });
|
|
1730
|
+
var panel = new dockviewPanel_1.DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
|
|
1721
1731
|
panel.init({
|
|
1722
1732
|
title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
|
|
1723
1733
|
params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
|
|
@@ -5,12 +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
|
-
import { DockviewDropTargets } from './types';
|
|
11
10
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
12
11
|
import { IDockviewPanel } from './dockviewPanel';
|
|
13
12
|
import { OverlayRenderContainer } from '../overlayRenderContainer';
|
|
13
|
+
import { TitleEvent } from '../api/dockviewPanelApi';
|
|
14
14
|
interface GroupMoveEvent {
|
|
15
15
|
groupId: string;
|
|
16
16
|
itemId?: string;
|
|
@@ -69,7 +69,7 @@ export interface IHeader {
|
|
|
69
69
|
hidden: boolean;
|
|
70
70
|
}
|
|
71
71
|
export type DockviewGroupPanelLocked = boolean | 'no-drop-target';
|
|
72
|
-
export type DockviewGroupDropLocation = 'tab' | 'header_space' | 'content';
|
|
72
|
+
export type DockviewGroupDropLocation = 'tab' | 'header_space' | 'content' | 'edge';
|
|
73
73
|
export interface IDockviewGroupPanelModel extends IPanel {
|
|
74
74
|
readonly isActive: boolean;
|
|
75
75
|
readonly size: number;
|
|
@@ -106,7 +106,7 @@ export interface IDockviewGroupPanelModel extends IPanel {
|
|
|
106
106
|
panel?: IDockviewPanel;
|
|
107
107
|
suppressRoll?: boolean;
|
|
108
108
|
}): void;
|
|
109
|
-
canDisplayOverlay(event: DragEvent, position: Position, target:
|
|
109
|
+
canDisplayOverlay(event: DragEvent, position: Position, target: DockviewGroupDropLocation): boolean;
|
|
110
110
|
}
|
|
111
111
|
export type DockviewGroupLocation = {
|
|
112
112
|
type: 'grid';
|
|
@@ -150,6 +150,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
150
150
|
private _width;
|
|
151
151
|
private _height;
|
|
152
152
|
private _panels;
|
|
153
|
+
private readonly _panelDisposables;
|
|
153
154
|
private readonly _onMove;
|
|
154
155
|
readonly onMove: Event<GroupMoveEvent>;
|
|
155
156
|
private readonly _onDidDrop;
|
|
@@ -164,6 +165,10 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
164
165
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
165
166
|
private readonly _onDidAddPanel;
|
|
166
167
|
readonly onDidAddPanel: Event<DockviewGroupChangeEvent>;
|
|
168
|
+
private readonly _onDidPanelTitleChange;
|
|
169
|
+
readonly onDidPanelTitleChange: Event<TitleEvent>;
|
|
170
|
+
private readonly _onDidPanelParametersChange;
|
|
171
|
+
readonly onDidPanelParametersChange: Event<Parameters>;
|
|
167
172
|
private readonly _onDidRemovePanel;
|
|
168
173
|
readonly onDidRemovePanel: Event<DockviewGroupChangeEvent>;
|
|
169
174
|
private readonly _onDidActivePanelChange;
|
|
@@ -225,7 +230,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
225
230
|
private doSetActivePanel;
|
|
226
231
|
private updateMru;
|
|
227
232
|
private updateContainer;
|
|
228
|
-
canDisplayOverlay(event: DragEvent, position: Position, target:
|
|
233
|
+
canDisplayOverlay(event: DragEvent, position: Position, target: DockviewGroupDropLocation): boolean;
|
|
229
234
|
private handleDropEvent;
|
|
230
235
|
dispose(): void;
|
|
231
236
|
}
|