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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.10.
|
|
3
|
+
* @version 1.10.2
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -1448,6 +1448,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1448
1448
|
this._onDidChange.fire();
|
|
1449
1449
|
}));
|
|
1450
1450
|
}
|
|
1451
|
+
setViewVisible(index, visible) {
|
|
1452
|
+
this.splitview.setViewVisible(index, visible);
|
|
1453
|
+
}
|
|
1451
1454
|
addPane(pane, size, index = this.splitview.length, skipLayout = false) {
|
|
1452
1455
|
const disposable = pane.onDidChangeExpansionState(() => {
|
|
1453
1456
|
this.setupAnimation();
|
|
@@ -2952,19 +2955,27 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2952
2955
|
return this.component.onWillDrop;
|
|
2953
2956
|
}
|
|
2954
2957
|
/**
|
|
2958
|
+
* Invoked before an overlay is shown indicating a drop target.
|
|
2955
2959
|
*
|
|
2960
|
+
* Calling `event.preventDefault()` will prevent the overlay being shown and prevent
|
|
2961
|
+
* the any subsequent drop event.
|
|
2956
2962
|
*/
|
|
2957
2963
|
get onWillShowOverlay() {
|
|
2958
2964
|
return this.component.onWillShowOverlay;
|
|
2959
2965
|
}
|
|
2960
2966
|
/**
|
|
2961
|
-
* Invoked before a group is dragged.
|
|
2967
|
+
* Invoked before a group is dragged.
|
|
2968
|
+
*
|
|
2969
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the group drag starting.
|
|
2970
|
+
*
|
|
2962
2971
|
*/
|
|
2963
2972
|
get onWillDragGroup() {
|
|
2964
2973
|
return this.component.onWillDragGroup;
|
|
2965
2974
|
}
|
|
2966
2975
|
/**
|
|
2967
|
-
* Invoked before a panel is dragged.
|
|
2976
|
+
* Invoked before a panel is dragged.
|
|
2977
|
+
*
|
|
2978
|
+
* Calling `event.nativeEvent.preventDefault()` will prevent the panel drag starting.
|
|
2968
2979
|
*/
|
|
2969
2980
|
get onWillDragPanel() {
|
|
2970
2981
|
return this.component.onWillDragPanel;
|
|
@@ -3508,7 +3519,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3508
3519
|
data.groupId === this.group.id;
|
|
3509
3520
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
3510
3521
|
}
|
|
3511
|
-
return this.group.canDisplayOverlay(event, position, '
|
|
3522
|
+
return this.group.canDisplayOverlay(event, position, 'content');
|
|
3512
3523
|
},
|
|
3513
3524
|
});
|
|
3514
3525
|
this.addDisposables(this.dropTarget);
|
|
@@ -3831,7 +3842,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3831
3842
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
3832
3843
|
return ((_a = last(this.group.panels)) === null || _a === void 0 ? void 0 : _a.id) !== data.panelId;
|
|
3833
3844
|
}
|
|
3834
|
-
return group.model.canDisplayOverlay(event, position, '
|
|
3845
|
+
return group.model.canDisplayOverlay(event, position, 'header_space');
|
|
3835
3846
|
},
|
|
3836
3847
|
});
|
|
3837
3848
|
this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
|
|
@@ -4224,6 +4235,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4224
4235
|
this._width = 0;
|
|
4225
4236
|
this._height = 0;
|
|
4226
4237
|
this._panels = [];
|
|
4238
|
+
this._panelDisposables = new Map();
|
|
4227
4239
|
this._onMove = new Emitter();
|
|
4228
4240
|
this.onMove = this._onMove.event;
|
|
4229
4241
|
this._onDidDrop = new Emitter();
|
|
@@ -4238,6 +4250,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4238
4250
|
this.onGroupDragStart = this._onGroupDragStart.event;
|
|
4239
4251
|
this._onDidAddPanel = new Emitter();
|
|
4240
4252
|
this.onDidAddPanel = this._onDidAddPanel.event;
|
|
4253
|
+
this._onDidPanelTitleChange = new Emitter();
|
|
4254
|
+
this.onDidPanelTitleChange = this._onDidPanelTitleChange.event;
|
|
4255
|
+
this._onDidPanelParametersChange = new Emitter();
|
|
4256
|
+
this.onDidPanelParametersChange = this._onDidPanelParametersChange.event;
|
|
4241
4257
|
this._onDidRemovePanel = new Emitter();
|
|
4242
4258
|
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
4243
4259
|
this._onDidActivePanelChange = new Emitter();
|
|
@@ -4526,6 +4542,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4526
4542
|
if (this.mostRecentlyUsed.includes(panel)) {
|
|
4527
4543
|
this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
|
|
4528
4544
|
}
|
|
4545
|
+
const disposable = this._panelDisposables.get(panel.id);
|
|
4546
|
+
if (disposable) {
|
|
4547
|
+
disposable.dispose();
|
|
4548
|
+
this._panelDisposables.delete(panel.id);
|
|
4549
|
+
}
|
|
4529
4550
|
this._onDidRemovePanel.fire({ panel });
|
|
4530
4551
|
}
|
|
4531
4552
|
doAddPanel(panel, index = this.panels.length, options = { skipSetActive: false }) {
|
|
@@ -4543,6 +4564,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4543
4564
|
}
|
|
4544
4565
|
this.updateMru(panel);
|
|
4545
4566
|
this.panels.splice(index, 0, panel);
|
|
4567
|
+
this._panelDisposables.set(panel.id, new CompositeDisposable(panel.api.onDidTitleChange((event) => this._onDidPanelTitleChange.fire(event)), panel.api.onDidParametersChange((event) => this._onDidPanelParametersChange.fire(event))));
|
|
4546
4568
|
this._onDidAddPanel.fire({ panel });
|
|
4547
4569
|
}
|
|
4548
4570
|
doSetActivePanel(panel) {
|
|
@@ -4960,24 +4982,22 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4960
4982
|
get isVisible() {
|
|
4961
4983
|
return this._isVisible;
|
|
4962
4984
|
}
|
|
4963
|
-
get isHidden() {
|
|
4964
|
-
return this._isHidden;
|
|
4965
|
-
}
|
|
4966
4985
|
get width() {
|
|
4967
4986
|
return this._width;
|
|
4968
4987
|
}
|
|
4969
4988
|
get height() {
|
|
4970
4989
|
return this._height;
|
|
4971
4990
|
}
|
|
4972
|
-
constructor(id) {
|
|
4991
|
+
constructor(id, component) {
|
|
4973
4992
|
super();
|
|
4974
4993
|
this.id = id;
|
|
4994
|
+
this.component = component;
|
|
4975
4995
|
this._isFocused = false;
|
|
4976
4996
|
this._isActive = false;
|
|
4977
4997
|
this._isVisible = true;
|
|
4978
|
-
this._isHidden = false;
|
|
4979
4998
|
this._width = 0;
|
|
4980
4999
|
this._height = 0;
|
|
5000
|
+
this._parameters = {};
|
|
4981
5001
|
this.panelUpdatesDisposable = new MutableDisposable();
|
|
4982
5002
|
this._onDidDimensionChange = new Emitter();
|
|
4983
5003
|
this.onDidDimensionsChange = this._onDidDimensionChange.event;
|
|
@@ -4989,49 +5009,51 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4989
5009
|
//
|
|
4990
5010
|
this._onDidVisibilityChange = new Emitter();
|
|
4991
5011
|
this.onDidVisibilityChange = this._onDidVisibilityChange.event;
|
|
4992
|
-
this.
|
|
4993
|
-
this.
|
|
5012
|
+
this._onWillVisibilityChange = new Emitter();
|
|
5013
|
+
this.onWillVisibilityChange = this._onWillVisibilityChange.event;
|
|
4994
5014
|
this._onDidActiveChange = new Emitter();
|
|
4995
5015
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
4996
5016
|
this._onActiveChange = new Emitter();
|
|
4997
5017
|
this.onActiveChange = this._onActiveChange.event;
|
|
4998
|
-
this.
|
|
4999
|
-
this.
|
|
5018
|
+
this._onDidParametersChange = new Emitter();
|
|
5019
|
+
this.onDidParametersChange = this._onDidParametersChange.event;
|
|
5000
5020
|
this.addDisposables(this.onDidFocusChange((event) => {
|
|
5001
5021
|
this._isFocused = event.isFocused;
|
|
5002
5022
|
}), this.onDidActiveChange((event) => {
|
|
5003
5023
|
this._isActive = event.isActive;
|
|
5004
5024
|
}), this.onDidVisibilityChange((event) => {
|
|
5005
5025
|
this._isVisible = event.isVisible;
|
|
5006
|
-
}), this.onDidHiddenChange((event) => {
|
|
5007
|
-
this._isHidden = event.isHidden;
|
|
5008
5026
|
}), this.onDidDimensionsChange((event) => {
|
|
5009
5027
|
this._width = event.width;
|
|
5010
5028
|
this._height = event.height;
|
|
5011
|
-
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this.
|
|
5029
|
+
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this._onWillFocus, this._onWillVisibilityChange, this._onDidParametersChange);
|
|
5030
|
+
}
|
|
5031
|
+
getParameters() {
|
|
5032
|
+
return this._parameters;
|
|
5012
5033
|
}
|
|
5013
5034
|
initialize(panel) {
|
|
5014
|
-
this.panelUpdatesDisposable.value = this.
|
|
5035
|
+
this.panelUpdatesDisposable.value = this._onDidParametersChange.event((parameters) => {
|
|
5036
|
+
this._parameters = parameters;
|
|
5015
5037
|
panel.update({
|
|
5016
5038
|
params: parameters,
|
|
5017
5039
|
});
|
|
5018
5040
|
});
|
|
5019
5041
|
}
|
|
5020
|
-
|
|
5021
|
-
this.
|
|
5042
|
+
setVisible(isVisible) {
|
|
5043
|
+
this._onWillVisibilityChange.fire({ isVisible });
|
|
5022
5044
|
}
|
|
5023
5045
|
setActive() {
|
|
5024
5046
|
this._onActiveChange.fire();
|
|
5025
5047
|
}
|
|
5026
5048
|
updateParameters(parameters) {
|
|
5027
|
-
this.
|
|
5049
|
+
this._onDidParametersChange.fire(parameters);
|
|
5028
5050
|
}
|
|
5029
5051
|
}
|
|
5030
5052
|
|
|
5031
5053
|
class SplitviewPanelApiImpl extends PanelApiImpl {
|
|
5032
5054
|
//
|
|
5033
|
-
constructor(id) {
|
|
5034
|
-
super(id);
|
|
5055
|
+
constructor(id, component) {
|
|
5056
|
+
super(id, component);
|
|
5035
5057
|
this._onDidConstraintsChangeInternal = new Emitter();
|
|
5036
5058
|
this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
|
|
5037
5059
|
//
|
|
@@ -5056,8 +5078,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5056
5078
|
set pane(pane) {
|
|
5057
5079
|
this._pane = pane;
|
|
5058
5080
|
}
|
|
5059
|
-
constructor(id) {
|
|
5060
|
-
super(id);
|
|
5081
|
+
constructor(id, component) {
|
|
5082
|
+
super(id, component);
|
|
5061
5083
|
this._onDidExpansionChange = new Emitter({
|
|
5062
5084
|
replay: true,
|
|
5063
5085
|
});
|
|
@@ -5216,7 +5238,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5216
5238
|
this.header.style.display = value ? '' : 'none';
|
|
5217
5239
|
}
|
|
5218
5240
|
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
5219
|
-
super(id, component, new PaneviewPanelApiImpl(id));
|
|
5241
|
+
super(id, component, new PaneviewPanelApiImpl(id, component));
|
|
5220
5242
|
this.headerComponent = headerComponent;
|
|
5221
5243
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
5222
5244
|
this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
|
|
@@ -5236,7 +5258,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5236
5258
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
5237
5259
|
this._orientation = orientation;
|
|
5238
5260
|
this.element.classList.add('pane');
|
|
5239
|
-
this.addDisposables(this.api.
|
|
5261
|
+
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
5262
|
+
const { isVisible } = event;
|
|
5263
|
+
const { accessor } = this._params;
|
|
5264
|
+
accessor.setVisible(this, isVisible);
|
|
5265
|
+
}), this.api.onDidSizeChange((event) => {
|
|
5240
5266
|
this._onDidChange.fire({ size: event.size });
|
|
5241
5267
|
}), addDisposableListener(this.element, 'mouseenter', (ev) => {
|
|
5242
5268
|
this.api._onMouseEnter.fire(ev);
|
|
@@ -5443,8 +5469,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5443
5469
|
}
|
|
5444
5470
|
|
|
5445
5471
|
class GridviewPanelApiImpl extends PanelApiImpl {
|
|
5446
|
-
constructor(id, panel) {
|
|
5447
|
-
super(id);
|
|
5472
|
+
constructor(id, component, panel) {
|
|
5473
|
+
super(id, component);
|
|
5448
5474
|
this._onDidConstraintsChangeInternal = new Emitter();
|
|
5449
5475
|
this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
|
|
5450
5476
|
this._onDidConstraintsChange = new Emitter();
|
|
@@ -5515,7 +5541,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5515
5541
|
return this.api.isActive;
|
|
5516
5542
|
}
|
|
5517
5543
|
constructor(id, component, options, api) {
|
|
5518
|
-
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id));
|
|
5544
|
+
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5519
5545
|
this._evaluatedMinimumWidth = 0;
|
|
5520
5546
|
this._evaluatedMaximumWidth = Number.MAX_SAFE_INTEGER;
|
|
5521
5547
|
this._evaluatedMinimumHeight = 0;
|
|
@@ -5540,10 +5566,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5540
5566
|
this._maximumHeight = options.maximumHeight;
|
|
5541
5567
|
}
|
|
5542
5568
|
this.api.initialize(this); // TODO: required to by-pass 'super before this' requirement
|
|
5543
|
-
this.addDisposables(this.api.
|
|
5544
|
-
const {
|
|
5569
|
+
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
5570
|
+
const { isVisible } = event;
|
|
5545
5571
|
const { accessor } = this._params;
|
|
5546
|
-
accessor.setVisible(this,
|
|
5572
|
+
accessor.setVisible(this, isVisible);
|
|
5547
5573
|
}), this.api.onActiveChange(() => {
|
|
5548
5574
|
const { accessor } = this._params;
|
|
5549
5575
|
accessor.doSetGroupActive(this);
|
|
@@ -5623,7 +5649,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5623
5649
|
return this._group.model.location;
|
|
5624
5650
|
}
|
|
5625
5651
|
constructor(id, accessor) {
|
|
5626
|
-
super(id);
|
|
5652
|
+
super(id, '__dockviewgroup__');
|
|
5627
5653
|
this.accessor = accessor;
|
|
5628
5654
|
this._onDidLocationChange = new Emitter();
|
|
5629
5655
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
@@ -5784,32 +5810,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5784
5810
|
return this.panel.renderer;
|
|
5785
5811
|
}
|
|
5786
5812
|
set group(value) {
|
|
5787
|
-
const
|
|
5813
|
+
const oldGroup = this._group;
|
|
5788
5814
|
if (this._group !== value) {
|
|
5789
5815
|
this._group = value;
|
|
5790
5816
|
this._onDidGroupChange.fire({});
|
|
5791
|
-
|
|
5792
|
-
this.groupEventsDisposable.value = new CompositeDisposable(this.group.api.onDidLocationChange((event) => {
|
|
5793
|
-
if (this.group !== this.panel.group) {
|
|
5794
|
-
return;
|
|
5795
|
-
}
|
|
5796
|
-
this._onDidLocationChange.fire(event);
|
|
5797
|
-
}), this.group.api.onDidActiveChange(() => {
|
|
5798
|
-
if (this.group !== this.panel.group) {
|
|
5799
|
-
return;
|
|
5800
|
-
}
|
|
5801
|
-
if (_trackGroupActive !== this.isGroupActive) {
|
|
5802
|
-
_trackGroupActive = this.isGroupActive;
|
|
5803
|
-
this._onDidActiveGroupChange.fire({
|
|
5804
|
-
isActive: this.isGroupActive,
|
|
5805
|
-
});
|
|
5806
|
-
}
|
|
5807
|
-
}));
|
|
5808
|
-
// if (this.isGroupActive !== isOldGroupActive) {
|
|
5809
|
-
// this._onDidActiveGroupChange.fire({
|
|
5810
|
-
// isActive: this.isGroupActive,
|
|
5811
|
-
// });
|
|
5812
|
-
// }
|
|
5817
|
+
this.setupGroupEventListeners(oldGroup);
|
|
5813
5818
|
this._onDidLocationChange.fire({
|
|
5814
5819
|
location: this.group.api.location,
|
|
5815
5820
|
});
|
|
@@ -5818,8 +5823,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5818
5823
|
get group() {
|
|
5819
5824
|
return this._group;
|
|
5820
5825
|
}
|
|
5821
|
-
|
|
5822
|
-
|
|
5826
|
+
get tabComponent() {
|
|
5827
|
+
return this._tabComponent;
|
|
5828
|
+
}
|
|
5829
|
+
constructor(panel, group, accessor, component, tabComponent) {
|
|
5830
|
+
super(panel.id, component);
|
|
5823
5831
|
this.panel = panel;
|
|
5824
5832
|
this.accessor = accessor;
|
|
5825
5833
|
this._onDidTitleChange = new Emitter();
|
|
@@ -5833,8 +5841,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5833
5841
|
this._onDidLocationChange = new Emitter();
|
|
5834
5842
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
5835
5843
|
this.groupEventsDisposable = new MutableDisposable();
|
|
5844
|
+
this._tabComponent = tabComponent;
|
|
5836
5845
|
this.initialize(panel);
|
|
5837
5846
|
this._group = group;
|
|
5847
|
+
this.setupGroupEventListeners();
|
|
5838
5848
|
this.addDisposables(this.groupEventsDisposable, this._onDidRendererChange, this._onDidTitleChange, this._onDidGroupChange, this._onDidActiveGroupChange, this._onDidLocationChange);
|
|
5839
5849
|
}
|
|
5840
5850
|
getWindow() {
|
|
@@ -5869,6 +5879,35 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5869
5879
|
exitMaximized() {
|
|
5870
5880
|
this.group.api.exitMaximized();
|
|
5871
5881
|
}
|
|
5882
|
+
setupGroupEventListeners(previousGroup) {
|
|
5883
|
+
var _a;
|
|
5884
|
+
let _trackGroupActive = (_a = previousGroup === null || previousGroup === void 0 ? void 0 : previousGroup.isActive) !== null && _a !== void 0 ? _a : false; // prevent duplicate events with same state
|
|
5885
|
+
this.groupEventsDisposable.value = new CompositeDisposable(this.group.api.onDidVisibilityChange((event) => {
|
|
5886
|
+
if (!event.isVisible && this.isVisible) {
|
|
5887
|
+
this._onDidVisibilityChange.fire(event);
|
|
5888
|
+
}
|
|
5889
|
+
else if (event.isVisible &&
|
|
5890
|
+
!this.isVisible &&
|
|
5891
|
+
this.group.model.isPanelActive(this.panel)) {
|
|
5892
|
+
this._onDidVisibilityChange.fire(event);
|
|
5893
|
+
}
|
|
5894
|
+
}), this.group.api.onDidLocationChange((event) => {
|
|
5895
|
+
if (this.group !== this.panel.group) {
|
|
5896
|
+
return;
|
|
5897
|
+
}
|
|
5898
|
+
this._onDidLocationChange.fire(event);
|
|
5899
|
+
}), this.group.api.onDidActiveChange(() => {
|
|
5900
|
+
if (this.group !== this.panel.group) {
|
|
5901
|
+
return;
|
|
5902
|
+
}
|
|
5903
|
+
if (_trackGroupActive !== this.isGroupActive) {
|
|
5904
|
+
_trackGroupActive = this.isGroupActive;
|
|
5905
|
+
this._onDidActiveGroupChange.fire({
|
|
5906
|
+
isActive: this.isGroupActive,
|
|
5907
|
+
});
|
|
5908
|
+
}
|
|
5909
|
+
}));
|
|
5910
|
+
}
|
|
5872
5911
|
}
|
|
5873
5912
|
|
|
5874
5913
|
class DockviewPanel extends CompositeDisposable {
|
|
@@ -5885,7 +5924,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5885
5924
|
var _a;
|
|
5886
5925
|
return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
|
|
5887
5926
|
}
|
|
5888
|
-
constructor(id, accessor, containerApi, group, view, options) {
|
|
5927
|
+
constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
|
|
5889
5928
|
super();
|
|
5890
5929
|
this.id = id;
|
|
5891
5930
|
this.accessor = accessor;
|
|
@@ -5893,7 +5932,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5893
5932
|
this.view = view;
|
|
5894
5933
|
this._renderer = options.renderer;
|
|
5895
5934
|
this._group = group;
|
|
5896
|
-
this.api = new DockviewPanelApiImpl(this, this._group, accessor);
|
|
5935
|
+
this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
|
|
5897
5936
|
this.addDisposables(this.api.onActiveChange(() => {
|
|
5898
5937
|
accessor.setActivePanel(this);
|
|
5899
5938
|
}), this.api.onDidSizeChange((event) => {
|
|
@@ -6188,7 +6227,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6188
6227
|
? (_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id
|
|
6189
6228
|
: panelData.tabComponent;
|
|
6190
6229
|
const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
|
|
6191
|
-
const panel = new DockviewPanel(panelId, this.accessor, new DockviewApi(this.accessor), group, view, {
|
|
6230
|
+
const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
|
|
6192
6231
|
renderer: panelData.renderer,
|
|
6193
6232
|
});
|
|
6194
6233
|
panel.init({
|
|
@@ -7049,7 +7088,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7049
7088
|
acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
|
|
7050
7089
|
overlayModel: (_b = this.options.rootOverlayModel) !== null && _b !== void 0 ? _b : DEFAULT_ROOT_OVERLAY_MODEL,
|
|
7051
7090
|
});
|
|
7052
|
-
this.addDisposables(this._rootDropTarget.
|
|
7091
|
+
this.addDisposables(this._rootDropTarget, this._rootDropTarget.onWillShowOverlay((event) => {
|
|
7092
|
+
if (this.gridview.length > 0 && event.position === 'center') {
|
|
7093
|
+
// option only available when no panels in primary grid
|
|
7094
|
+
return;
|
|
7095
|
+
}
|
|
7096
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
7097
|
+
kind: 'edge',
|
|
7098
|
+
}));
|
|
7099
|
+
}), this._rootDropTarget.onDrop((event) => {
|
|
7053
7100
|
var _a;
|
|
7054
7101
|
const willDropEvent = new DockviewWillDropEvent({
|
|
7055
7102
|
nativeEvent: event.nativeEvent,
|
|
@@ -7058,7 +7105,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7058
7105
|
api: this._api,
|
|
7059
7106
|
group: undefined,
|
|
7060
7107
|
getData: getPanelData,
|
|
7061
|
-
kind: '
|
|
7108
|
+
kind: 'edge',
|
|
7062
7109
|
});
|
|
7063
7110
|
this._onWillDrop.fire(willDropEvent);
|
|
7064
7111
|
if (willDropEvent.defaultPrevented) {
|
|
@@ -7114,7 +7161,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7114
7161
|
const box = getBox();
|
|
7115
7162
|
const 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;
|
|
7116
7163
|
if (itemToPopout.api.location.type === 'grid') {
|
|
7117
|
-
itemToPopout.api.
|
|
7164
|
+
itemToPopout.api.setVisible(false);
|
|
7118
7165
|
}
|
|
7119
7166
|
const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
|
|
7120
7167
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
@@ -7165,7 +7212,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7165
7212
|
}));
|
|
7166
7213
|
switch (referenceLocation) {
|
|
7167
7214
|
case 'grid':
|
|
7168
|
-
referenceGroup.api.
|
|
7215
|
+
referenceGroup.api.setVisible(false);
|
|
7169
7216
|
break;
|
|
7170
7217
|
case 'floating':
|
|
7171
7218
|
case 'popout':
|
|
@@ -7219,8 +7266,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7219
7266
|
from: group,
|
|
7220
7267
|
to: referenceGroup,
|
|
7221
7268
|
}));
|
|
7222
|
-
if (referenceGroup.api.
|
|
7223
|
-
referenceGroup.api.
|
|
7269
|
+
if (!referenceGroup.api.isVisible) {
|
|
7270
|
+
referenceGroup.api.setVisible(true);
|
|
7224
7271
|
}
|
|
7225
7272
|
if (this.getPanel(group.id)) {
|
|
7226
7273
|
this.doRemoveGroup(group, {
|
|
@@ -7793,7 +7840,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7793
7840
|
}
|
|
7794
7841
|
updateWatermark() {
|
|
7795
7842
|
var _a, _b;
|
|
7796
|
-
if (this.groups.filter((x) => x.api.location.type === 'grid' &&
|
|
7843
|
+
if (this.groups.filter((x) => x.api.location.type === 'grid' && x.api.isVisible).length === 0) {
|
|
7797
7844
|
if (!this.watermark) {
|
|
7798
7845
|
this.watermark = this.createWatermarkComponent();
|
|
7799
7846
|
this.watermark.init({
|
|
@@ -8190,6 +8237,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8190
8237
|
if (this._onDidActivePanelChange.value !== event.panel) {
|
|
8191
8238
|
this._onDidActivePanelChange.fire(event.panel);
|
|
8192
8239
|
}
|
|
8240
|
+
}), exports.DockviewEvent.any(view.model.onDidPanelTitleChange, view.model.onDidPanelParametersChange)(() => {
|
|
8241
|
+
this._bufferOnDidLayoutChange.fire();
|
|
8193
8242
|
}));
|
|
8194
8243
|
this._groups.set(view.id, { value: view, disposable });
|
|
8195
8244
|
}
|
|
@@ -8202,7 +8251,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8202
8251
|
const contentComponent = options.component;
|
|
8203
8252
|
const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
|
|
8204
8253
|
const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
|
|
8205
|
-
const panel = new DockviewPanel(options.id, this, this._api, group, view, { renderer: options.renderer });
|
|
8254
|
+
const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
|
|
8206
8255
|
panel.init({
|
|
8207
8256
|
title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
|
|
8208
8257
|
params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
|
|
@@ -8576,19 +8625,19 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8576
8625
|
const index = this.panels.indexOf(panel);
|
|
8577
8626
|
this.splitview.setViewVisible(index, visible);
|
|
8578
8627
|
}
|
|
8579
|
-
setActive(
|
|
8580
|
-
this._activePanel =
|
|
8628
|
+
setActive(panel, skipFocus) {
|
|
8629
|
+
this._activePanel = panel;
|
|
8581
8630
|
this.panels
|
|
8582
|
-
.filter((v) => v !==
|
|
8631
|
+
.filter((v) => v !== panel)
|
|
8583
8632
|
.forEach((v) => {
|
|
8584
8633
|
v.api._onDidActiveChange.fire({ isActive: false });
|
|
8585
8634
|
if (!skipFocus) {
|
|
8586
8635
|
v.focus();
|
|
8587
8636
|
}
|
|
8588
8637
|
});
|
|
8589
|
-
|
|
8638
|
+
panel.api._onDidActiveChange.fire({ isActive: true });
|
|
8590
8639
|
if (!skipFocus) {
|
|
8591
|
-
|
|
8640
|
+
panel.focus();
|
|
8592
8641
|
}
|
|
8593
8642
|
}
|
|
8594
8643
|
removePanel(panel, sizing) {
|
|
@@ -8887,6 +8936,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8887
8936
|
});
|
|
8888
8937
|
this.addDisposables(this._disposable);
|
|
8889
8938
|
}
|
|
8939
|
+
setVisible(panel, visible) {
|
|
8940
|
+
const index = this.panels.indexOf(panel);
|
|
8941
|
+
this.paneview.setViewVisible(index, visible);
|
|
8942
|
+
}
|
|
8890
8943
|
focus() {
|
|
8891
8944
|
//noop
|
|
8892
8945
|
}
|
|
@@ -8933,6 +8986,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8933
8986
|
isExpanded: options.isExpanded,
|
|
8934
8987
|
title: options.title,
|
|
8935
8988
|
containerApi: new PaneviewApi(this),
|
|
8989
|
+
accessor: this,
|
|
8936
8990
|
});
|
|
8937
8991
|
this.paneview.addPane(view, size, index);
|
|
8938
8992
|
view.orientation = this.paneview.orientation;
|
|
@@ -9032,6 +9086,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
9032
9086
|
title: data.title,
|
|
9033
9087
|
isExpanded: !!view.expanded,
|
|
9034
9088
|
containerApi: new PaneviewApi(this),
|
|
9089
|
+
accessor: this,
|
|
9035
9090
|
});
|
|
9036
9091
|
panel.orientation = this.paneview.orientation;
|
|
9037
9092
|
});
|
|
@@ -9111,7 +9166,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
9111
9166
|
return this._snap;
|
|
9112
9167
|
}
|
|
9113
9168
|
constructor(id, componentName) {
|
|
9114
|
-
super(id, componentName, new SplitviewPanelApiImpl(id));
|
|
9169
|
+
super(id, componentName, new SplitviewPanelApiImpl(id, componentName));
|
|
9115
9170
|
this._evaluatedMinimumSize = 0;
|
|
9116
9171
|
this._evaluatedMaximumSize = Number.POSITIVE_INFINITY;
|
|
9117
9172
|
this._minimumSize = 0;
|
|
@@ -9120,10 +9175,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
9120
9175
|
this._onDidChange = new Emitter();
|
|
9121
9176
|
this.onDidChange = this._onDidChange.event;
|
|
9122
9177
|
this.api.initialize(this);
|
|
9123
|
-
this.addDisposables(this._onDidChange, this.api.
|
|
9124
|
-
const {
|
|
9178
|
+
this.addDisposables(this._onDidChange, this.api.onWillVisibilityChange((event) => {
|
|
9179
|
+
const { isVisible } = event;
|
|
9125
9180
|
const { accessor } = this._params;
|
|
9126
|
-
accessor.setVisible(this,
|
|
9181
|
+
accessor.setVisible(this, isVisible);
|
|
9127
9182
|
}), this.api.onActiveChange(() => {
|
|
9128
9183
|
const { accessor } = this._params;
|
|
9129
9184
|
accessor.setActive(this);
|