dockview-angular 4.11.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lib/dockview/dockview-angular.component.js +2 -1
- package/dist/cjs/lib/dockview-angular.module.js +2 -4
- package/dist/cjs/lib/gridview/gridview-angular.component.js +2 -1
- package/dist/cjs/lib/paneview/paneview-angular.component.js +2 -1
- package/dist/cjs/lib/splitview/splitview-angular.component.js +2 -1
- package/dist/cjs/lib/utils/angular-renderer.js +11 -3
- package/dist/cjs/lib/utils/component-factory.js +1 -0
- package/dist/dockview-angular.amd.js +141 -45
- package/dist/dockview-angular.amd.js.map +1 -1
- package/dist/dockview-angular.amd.min.js +2 -2
- package/dist/dockview-angular.amd.min.js.map +1 -1
- package/dist/dockview-angular.amd.min.noStyle.js +2 -2
- package/dist/dockview-angular.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-angular.amd.noStyle.js +141 -45
- package/dist/dockview-angular.amd.noStyle.js.map +1 -1
- package/dist/dockview-angular.cjs.js +141 -45
- package/dist/dockview-angular.cjs.js.map +1 -1
- package/dist/dockview-angular.esm.js +141 -45
- package/dist/dockview-angular.esm.js.map +1 -1
- package/dist/dockview-angular.esm.min.js +2 -2
- package/dist/dockview-angular.esm.min.js.map +1 -1
- package/dist/dockview-angular.js +141 -45
- package/dist/dockview-angular.js.map +1 -1
- package/dist/dockview-angular.min.js +2 -2
- package/dist/dockview-angular.min.js.map +1 -1
- package/dist/dockview-angular.min.noStyle.js +2 -2
- package/dist/dockview-angular.min.noStyle.js.map +1 -1
- package/dist/dockview-angular.noStyle.js +141 -45
- package/dist/dockview-angular.noStyle.js.map +1 -1
- package/dist/esm/lib/dockview/dockview-angular.component.js +2 -1
- package/dist/esm/lib/dockview-angular.module.js +2 -4
- package/dist/esm/lib/gridview/gridview-angular.component.js +2 -1
- package/dist/esm/lib/paneview/paneview-angular.component.js +2 -1
- package/dist/esm/lib/splitview/splitview-angular.component.js +2 -1
- package/dist/esm/lib/utils/angular-renderer.js +11 -3
- package/dist/esm/lib/utils/component-factory.js +1 -0
- package/package.json +2 -2
package/dist/dockview-angular.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-angular
|
|
3
|
-
* @version 4.
|
|
3
|
+
* @version 4.12.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -3785,8 +3785,8 @@
|
|
|
3785
3785
|
/**
|
|
3786
3786
|
* Create a component from a serialized object.
|
|
3787
3787
|
*/
|
|
3788
|
-
fromJSON(data) {
|
|
3789
|
-
this.component.fromJSON(data);
|
|
3788
|
+
fromJSON(data, options) {
|
|
3789
|
+
this.component.fromJSON(data, options);
|
|
3790
3790
|
}
|
|
3791
3791
|
/**
|
|
3792
3792
|
* Create a serialized object of the current component.
|
|
@@ -5017,6 +5017,7 @@
|
|
|
5017
5017
|
}
|
|
5018
5018
|
if (doRender) {
|
|
5019
5019
|
const focusTracker = trackFocus(container);
|
|
5020
|
+
this.focusTracker = focusTracker;
|
|
5020
5021
|
const disposable = new CompositeDisposable();
|
|
5021
5022
|
disposable.addDisposables(focusTracker, focusTracker.onDidFocus(() => this._onDidFocus.fire()), focusTracker.onDidBlur(() => this._onDidBlur.fire()));
|
|
5022
5023
|
this.disposable.value = disposable;
|
|
@@ -5044,6 +5045,16 @@
|
|
|
5044
5045
|
this.disposable.dispose();
|
|
5045
5046
|
super.dispose();
|
|
5046
5047
|
}
|
|
5048
|
+
/**
|
|
5049
|
+
* Refresh the focus tracker state to handle cases where focus state
|
|
5050
|
+
* gets out of sync due to programmatic panel activation
|
|
5051
|
+
*/
|
|
5052
|
+
refreshFocusState() {
|
|
5053
|
+
var _a;
|
|
5054
|
+
if ((_a = this.focusTracker) === null || _a === void 0 ? void 0 : _a.refreshState) {
|
|
5055
|
+
this.focusTracker.refreshState();
|
|
5056
|
+
}
|
|
5057
|
+
}
|
|
5047
5058
|
}
|
|
5048
5059
|
|
|
5049
5060
|
function addGhostImage(dataTransfer, ghostElement, options) {
|
|
@@ -6370,8 +6381,11 @@
|
|
|
6370
6381
|
this._activePanel = panel;
|
|
6371
6382
|
if (panel) {
|
|
6372
6383
|
this.tabsContainer.setActivePanel(panel);
|
|
6384
|
+
this.contentContainer.openPanel(panel);
|
|
6373
6385
|
panel.layout(this._width, this._height);
|
|
6374
6386
|
this.updateMru(panel);
|
|
6387
|
+
// Refresh focus state to handle programmatic activation without DOM focus change
|
|
6388
|
+
this.contentContainer.refreshFocusState();
|
|
6375
6389
|
this._onDidActivePanelChange.fire({
|
|
6376
6390
|
panel,
|
|
6377
6391
|
});
|
|
@@ -7201,6 +7215,18 @@
|
|
|
7201
7215
|
params: this._params,
|
|
7202
7216
|
});
|
|
7203
7217
|
}
|
|
7218
|
+
updateFromStateModel(state) {
|
|
7219
|
+
var _a, _b, _c;
|
|
7220
|
+
this._maximumHeight = state.maximumHeight;
|
|
7221
|
+
this._minimumHeight = state.minimumHeight;
|
|
7222
|
+
this._maximumWidth = state.maximumWidth;
|
|
7223
|
+
this._minimumWidth = state.minimumWidth;
|
|
7224
|
+
this.update({ params: (_a = state.params) !== null && _a !== void 0 ? _a : {} });
|
|
7225
|
+
this.setTitle((_b = state.title) !== null && _b !== void 0 ? _b : this.id);
|
|
7226
|
+
this.setRenderer((_c = state.renderer) !== null && _c !== void 0 ? _c : this.accessor.renderer);
|
|
7227
|
+
// state.contentComponent;
|
|
7228
|
+
// state.tabComponent;
|
|
7229
|
+
}
|
|
7204
7230
|
updateParentGroup(group, options) {
|
|
7205
7231
|
this._group = group;
|
|
7206
7232
|
this.api.group = this._group;
|
|
@@ -8964,7 +8990,7 @@
|
|
|
8964
8990
|
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
8965
8991
|
const el = group.element.querySelector('.dv-void-container');
|
|
8966
8992
|
if (!el) {
|
|
8967
|
-
throw new Error('failed to find drag handle');
|
|
8993
|
+
throw new Error('dockview: failed to find drag handle');
|
|
8968
8994
|
}
|
|
8969
8995
|
overlay.setupDrag(el, {
|
|
8970
8996
|
inDragMode: typeof (options === null || options === void 0 ? void 0 : options.inDragMode) === 'boolean'
|
|
@@ -9036,7 +9062,7 @@
|
|
|
9036
9062
|
case 'right':
|
|
9037
9063
|
return this.createGroupAtLocation([this.gridview.length], undefined, options); // insert into last position
|
|
9038
9064
|
default:
|
|
9039
|
-
throw new Error(`unsupported position ${position}`);
|
|
9065
|
+
throw new Error(`dockview: unsupported position ${position}`);
|
|
9040
9066
|
}
|
|
9041
9067
|
}
|
|
9042
9068
|
updateOptions(options) {
|
|
@@ -9182,15 +9208,48 @@
|
|
|
9182
9208
|
}
|
|
9183
9209
|
return result;
|
|
9184
9210
|
}
|
|
9185
|
-
fromJSON(data) {
|
|
9211
|
+
fromJSON(data, options) {
|
|
9186
9212
|
var _a, _b;
|
|
9213
|
+
const existingPanels = new Map();
|
|
9214
|
+
let tempGroup;
|
|
9215
|
+
if (options === null || options === void 0 ? void 0 : options.reuseExistingPanels) {
|
|
9216
|
+
/**
|
|
9217
|
+
* What are we doing here?
|
|
9218
|
+
*
|
|
9219
|
+
* 1. Create a temporary group to hold any panels that currently exist and that also exist in the new layout
|
|
9220
|
+
* 2. Remove that temporary group from the group mapping so that it doesn't get cleared when we clear the layout
|
|
9221
|
+
*/
|
|
9222
|
+
tempGroup = this.createGroup();
|
|
9223
|
+
this._groups.delete(tempGroup.api.id);
|
|
9224
|
+
const newPanels = Object.keys(data.panels);
|
|
9225
|
+
for (const panel of this.panels) {
|
|
9226
|
+
if (newPanels.includes(panel.api.id)) {
|
|
9227
|
+
existingPanels.set(panel.api.id, panel);
|
|
9228
|
+
}
|
|
9229
|
+
}
|
|
9230
|
+
this.movingLock(() => {
|
|
9231
|
+
Array.from(existingPanels.values()).forEach((panel) => {
|
|
9232
|
+
this.moveGroupOrPanel({
|
|
9233
|
+
from: {
|
|
9234
|
+
groupId: panel.api.group.api.id,
|
|
9235
|
+
panelId: panel.api.id,
|
|
9236
|
+
},
|
|
9237
|
+
to: {
|
|
9238
|
+
group: tempGroup,
|
|
9239
|
+
position: 'center',
|
|
9240
|
+
},
|
|
9241
|
+
keepEmptyGroups: true,
|
|
9242
|
+
});
|
|
9243
|
+
});
|
|
9244
|
+
});
|
|
9245
|
+
}
|
|
9187
9246
|
this.clear();
|
|
9188
9247
|
if (typeof data !== 'object' || data === null) {
|
|
9189
|
-
throw new Error('serialized layout must be a non-null object');
|
|
9248
|
+
throw new Error('dockview: serialized layout must be a non-null object');
|
|
9190
9249
|
}
|
|
9191
9250
|
const { grid, panels, activeGroup } = data;
|
|
9192
9251
|
if (grid.root.type !== 'branch' || !Array.isArray(grid.root.data)) {
|
|
9193
|
-
throw new Error('root must be of type branch');
|
|
9252
|
+
throw new Error('dockview: root must be of type branch');
|
|
9194
9253
|
}
|
|
9195
9254
|
try {
|
|
9196
9255
|
// take note of the existing dimensions
|
|
@@ -9199,7 +9258,7 @@
|
|
|
9199
9258
|
const createGroupFromSerializedState = (data) => {
|
|
9200
9259
|
const { id, locked, hideHeader, views, activeView } = data;
|
|
9201
9260
|
if (typeof id !== 'string') {
|
|
9202
|
-
throw new Error('group id must be of type string');
|
|
9261
|
+
throw new Error('dockview: group id must be of type string');
|
|
9203
9262
|
}
|
|
9204
9263
|
const group = this.createGroup({
|
|
9205
9264
|
id,
|
|
@@ -9214,17 +9273,38 @@
|
|
|
9214
9273
|
* In running this section first we avoid firing lots of 'add' events in the event of a failure
|
|
9215
9274
|
* due to a corruption of input data.
|
|
9216
9275
|
*/
|
|
9217
|
-
const
|
|
9218
|
-
|
|
9276
|
+
const existingPanel = existingPanels.get(child);
|
|
9277
|
+
if (tempGroup && existingPanel) {
|
|
9278
|
+
this.movingLock(() => {
|
|
9279
|
+
tempGroup.model.removePanel(existingPanel);
|
|
9280
|
+
});
|
|
9281
|
+
createdPanels.push(existingPanel);
|
|
9282
|
+
existingPanel.updateFromStateModel(panels[child]);
|
|
9283
|
+
}
|
|
9284
|
+
else {
|
|
9285
|
+
const panel = this._deserializer.fromJSON(panels[child], group);
|
|
9286
|
+
createdPanels.push(panel);
|
|
9287
|
+
}
|
|
9219
9288
|
}
|
|
9220
9289
|
for (let i = 0; i < views.length; i++) {
|
|
9221
9290
|
const panel = createdPanels[i];
|
|
9222
9291
|
const isActive = typeof activeView === 'string' &&
|
|
9223
9292
|
activeView === panel.id;
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9293
|
+
const hasExisting = existingPanels.has(panel.api.id);
|
|
9294
|
+
if (hasExisting) {
|
|
9295
|
+
this.movingLock(() => {
|
|
9296
|
+
group.model.openPanel(panel, {
|
|
9297
|
+
skipSetActive: !isActive,
|
|
9298
|
+
skipSetGroupActive: true,
|
|
9299
|
+
});
|
|
9300
|
+
});
|
|
9301
|
+
}
|
|
9302
|
+
else {
|
|
9303
|
+
group.model.openPanel(panel, {
|
|
9304
|
+
skipSetActive: !isActive,
|
|
9305
|
+
skipSetGroupActive: true,
|
|
9306
|
+
});
|
|
9307
|
+
}
|
|
9228
9308
|
}
|
|
9229
9309
|
if (!group.activePanel && group.panels.length > 0) {
|
|
9230
9310
|
group.model.openPanel(group.panels[group.panels.length - 1], {
|
|
@@ -9263,7 +9343,9 @@
|
|
|
9263
9343
|
setTimeout(() => {
|
|
9264
9344
|
this.addPopoutGroup(group, {
|
|
9265
9345
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
9266
|
-
overridePopoutGroup: gridReferenceGroup
|
|
9346
|
+
overridePopoutGroup: gridReferenceGroup
|
|
9347
|
+
? group
|
|
9348
|
+
: undefined,
|
|
9267
9349
|
referenceGroup: gridReferenceGroup
|
|
9268
9350
|
? this.getPanel(gridReferenceGroup)
|
|
9269
9351
|
: undefined,
|
|
@@ -9349,11 +9431,11 @@
|
|
|
9349
9431
|
addPanel(options) {
|
|
9350
9432
|
var _a, _b;
|
|
9351
9433
|
if (this.panels.find((_) => _.id === options.id)) {
|
|
9352
|
-
throw new Error(`panel with id ${options.id} already exists`);
|
|
9434
|
+
throw new Error(`dockview: panel with id ${options.id} already exists`);
|
|
9353
9435
|
}
|
|
9354
9436
|
let referenceGroup;
|
|
9355
9437
|
if (options.position && options.floating) {
|
|
9356
|
-
throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
|
|
9438
|
+
throw new Error('dockview: you can only provide one of: position, floating as arguments to .addPanel(...)');
|
|
9357
9439
|
}
|
|
9358
9440
|
const initial = {
|
|
9359
9441
|
width: options.initialWidth,
|
|
@@ -9367,7 +9449,7 @@
|
|
|
9367
9449
|
: options.position.referencePanel;
|
|
9368
9450
|
index = options.position.index;
|
|
9369
9451
|
if (!referencePanel) {
|
|
9370
|
-
throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
|
|
9452
|
+
throw new Error(`dockview: referencePanel '${options.position.referencePanel}' does not exist`);
|
|
9371
9453
|
}
|
|
9372
9454
|
referenceGroup = this.findGroup(referencePanel);
|
|
9373
9455
|
}
|
|
@@ -9378,7 +9460,7 @@
|
|
|
9378
9460
|
: options.position.referenceGroup;
|
|
9379
9461
|
index = options.position.index;
|
|
9380
9462
|
if (!referenceGroup) {
|
|
9381
|
-
throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
|
|
9463
|
+
throw new Error(`dockview: referenceGroup '${options.position.referenceGroup}' does not exist`);
|
|
9382
9464
|
}
|
|
9383
9465
|
}
|
|
9384
9466
|
else {
|
|
@@ -9490,7 +9572,7 @@
|
|
|
9490
9572
|
}) {
|
|
9491
9573
|
const group = panel.group;
|
|
9492
9574
|
if (!group) {
|
|
9493
|
-
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
9575
|
+
throw new Error(`dockview: cannot remove panel ${panel.id}. it's missing a group.`);
|
|
9494
9576
|
}
|
|
9495
9577
|
group.model.removePanel(panel, {
|
|
9496
9578
|
skipSetActiveGroup: options.skipSetActiveGroup,
|
|
@@ -9539,11 +9621,11 @@
|
|
|
9539
9621
|
? this.panels.find((panel) => panel.id === options.referencePanel)
|
|
9540
9622
|
: options.referencePanel;
|
|
9541
9623
|
if (!referencePanel) {
|
|
9542
|
-
throw new Error(`reference panel ${options.referencePanel} does not exist`);
|
|
9624
|
+
throw new Error(`dockview: reference panel ${options.referencePanel} does not exist`);
|
|
9543
9625
|
}
|
|
9544
9626
|
referenceGroup = this.findGroup(referencePanel);
|
|
9545
9627
|
if (!referenceGroup) {
|
|
9546
|
-
throw new Error(`reference group for reference panel ${options.referencePanel} does not exist`);
|
|
9628
|
+
throw new Error(`dockview: reference group for reference panel ${options.referencePanel} does not exist`);
|
|
9547
9629
|
}
|
|
9548
9630
|
}
|
|
9549
9631
|
else if (isGroupOptionsWithGroup(options)) {
|
|
@@ -9552,7 +9634,7 @@
|
|
|
9552
9634
|
? (_a = this._groups.get(options.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
|
|
9553
9635
|
: options.referenceGroup;
|
|
9554
9636
|
if (!referenceGroup) {
|
|
9555
|
-
throw new Error(`reference group ${options.referenceGroup} does not exist`);
|
|
9637
|
+
throw new Error(`dockview: reference group ${options.referenceGroup} does not exist`);
|
|
9556
9638
|
}
|
|
9557
9639
|
}
|
|
9558
9640
|
else {
|
|
@@ -9620,7 +9702,7 @@
|
|
|
9620
9702
|
}
|
|
9621
9703
|
return floatingGroup.group;
|
|
9622
9704
|
}
|
|
9623
|
-
throw new Error('failed to find floating group');
|
|
9705
|
+
throw new Error('dockview: failed to find floating group');
|
|
9624
9706
|
}
|
|
9625
9707
|
if (group.api.location.type === 'popout') {
|
|
9626
9708
|
const selectedGroup = this._popoutGroups.find((_) => _.popoutGroup === group);
|
|
@@ -9651,7 +9733,7 @@
|
|
|
9651
9733
|
this.updateWatermark();
|
|
9652
9734
|
return selectedGroup.popoutGroup;
|
|
9653
9735
|
}
|
|
9654
|
-
throw new Error('failed to find popout group');
|
|
9736
|
+
throw new Error('dockview: failed to find popout group');
|
|
9655
9737
|
}
|
|
9656
9738
|
const re = super.doRemoveGroup(group, options);
|
|
9657
9739
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive)) {
|
|
@@ -9682,7 +9764,7 @@
|
|
|
9682
9764
|
? (_a = this._groups.get(sourceGroupId)) === null || _a === void 0 ? void 0 : _a.value
|
|
9683
9765
|
: undefined;
|
|
9684
9766
|
if (!sourceGroup) {
|
|
9685
|
-
throw new Error(`Failed to find group id ${sourceGroupId}`);
|
|
9767
|
+
throw new Error(`dockview: Failed to find group id ${sourceGroupId}`);
|
|
9686
9768
|
}
|
|
9687
9769
|
if (sourceItemId === undefined) {
|
|
9688
9770
|
/**
|
|
@@ -9707,9 +9789,9 @@
|
|
|
9707
9789
|
skipSetActiveGroup: true,
|
|
9708
9790
|
}));
|
|
9709
9791
|
if (!removedPanel) {
|
|
9710
|
-
throw new Error(`No panel with id ${sourceItemId}`);
|
|
9792
|
+
throw new Error(`dockview: No panel with id ${sourceItemId}`);
|
|
9711
9793
|
}
|
|
9712
|
-
if (sourceGroup.model.size === 0) {
|
|
9794
|
+
if (!options.keepEmptyGroups && sourceGroup.model.size === 0) {
|
|
9713
9795
|
// remove the group and do not set a new group as active
|
|
9714
9796
|
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
9715
9797
|
}
|
|
@@ -9719,7 +9801,8 @@
|
|
|
9719
9801
|
var _a;
|
|
9720
9802
|
return destinationGroup.model.openPanel(removedPanel, {
|
|
9721
9803
|
index: destinationIndex,
|
|
9722
|
-
skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) &&
|
|
9804
|
+
skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) &&
|
|
9805
|
+
!isDestinationGroupEmpty,
|
|
9723
9806
|
skipSetGroupActive: true,
|
|
9724
9807
|
});
|
|
9725
9808
|
});
|
|
@@ -9774,7 +9857,9 @@
|
|
|
9774
9857
|
}));
|
|
9775
9858
|
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
9776
9859
|
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
9777
|
-
this.movingLock(() => newGroup.model.openPanel(removedPanel
|
|
9860
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
9861
|
+
skipSetActive: true,
|
|
9862
|
+
}));
|
|
9778
9863
|
this.doSetGroupAndPanelActive(newGroup);
|
|
9779
9864
|
this._onDidMovePanel.fire({
|
|
9780
9865
|
panel: this.getGroupPanel(sourceItemId),
|
|
@@ -9807,7 +9892,7 @@
|
|
|
9807
9892
|
skipSetActiveGroup: true,
|
|
9808
9893
|
}));
|
|
9809
9894
|
if (!removedPanel) {
|
|
9810
|
-
throw new Error(`No panel with id ${sourceItemId}`);
|
|
9895
|
+
throw new Error(`dockview: No panel with id ${sourceItemId}`);
|
|
9811
9896
|
}
|
|
9812
9897
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, destinationTarget);
|
|
9813
9898
|
const group = this.createGroupAtLocation(dropLocation);
|
|
@@ -9862,7 +9947,7 @@
|
|
|
9862
9947
|
case 'floating': {
|
|
9863
9948
|
const selectedFloatingGroup = this._floatingGroups.find((x) => x.group === from);
|
|
9864
9949
|
if (!selectedFloatingGroup) {
|
|
9865
|
-
throw new Error('failed to find floating group');
|
|
9950
|
+
throw new Error('dockview: failed to find floating group');
|
|
9866
9951
|
}
|
|
9867
9952
|
selectedFloatingGroup.dispose();
|
|
9868
9953
|
break;
|
|
@@ -9870,7 +9955,7 @@
|
|
|
9870
9955
|
case 'popout': {
|
|
9871
9956
|
const selectedPopoutGroup = this._popoutGroups.find((x) => x.popoutGroup === from);
|
|
9872
9957
|
if (!selectedPopoutGroup) {
|
|
9873
|
-
throw new Error('failed to find popout group');
|
|
9958
|
+
throw new Error('dockview: failed to find popout group');
|
|
9874
9959
|
}
|
|
9875
9960
|
// Remove from popout groups list to prevent automatic restoration
|
|
9876
9961
|
const index = this._popoutGroups.indexOf(selectedPopoutGroup);
|
|
@@ -11319,12 +11404,19 @@
|
|
|
11319
11404
|
return this._element;
|
|
11320
11405
|
}
|
|
11321
11406
|
init(parameters) {
|
|
11322
|
-
|
|
11407
|
+
// If already initialized, just update the parameters
|
|
11408
|
+
if (this.componentRef) {
|
|
11409
|
+
this.update(parameters);
|
|
11410
|
+
}
|
|
11411
|
+
else {
|
|
11412
|
+
this.render(parameters);
|
|
11413
|
+
}
|
|
11323
11414
|
}
|
|
11324
11415
|
update(params) {
|
|
11325
11416
|
if (this.componentRef) {
|
|
11326
11417
|
Object.keys(params).forEach(key => {
|
|
11327
|
-
|
|
11418
|
+
// Use 'in' operator instead of hasOwnProperty to support getter/setter properties
|
|
11419
|
+
if (key in this.componentRef.instance) {
|
|
11328
11420
|
this.componentRef.instance[key] = params[key];
|
|
11329
11421
|
}
|
|
11330
11422
|
});
|
|
@@ -11340,7 +11432,8 @@
|
|
|
11340
11432
|
});
|
|
11341
11433
|
// Set initial parameters
|
|
11342
11434
|
Object.keys(parameters).forEach(key => {
|
|
11343
|
-
|
|
11435
|
+
// Use 'in' operator instead of hasOwnProperty to support getter/setter properties
|
|
11436
|
+
if (key in this.componentRef.instance) {
|
|
11344
11437
|
this.componentRef.instance[key] = parameters[key];
|
|
11345
11438
|
}
|
|
11346
11439
|
});
|
|
@@ -11511,6 +11604,7 @@
|
|
|
11511
11604
|
injector: this.injector,
|
|
11512
11605
|
environmentInjector: this.environmentInjector
|
|
11513
11606
|
});
|
|
11607
|
+
// Initialize with empty props - dockview-core will call init() again with actual IGroupHeaderProps
|
|
11514
11608
|
renderer.init({});
|
|
11515
11609
|
return renderer;
|
|
11516
11610
|
}
|
|
@@ -12568,6 +12662,7 @@
|
|
|
12568
12662
|
exports.DockviewAngularComponent = __decorate([
|
|
12569
12663
|
core.Component({
|
|
12570
12664
|
selector: 'dv-dockview',
|
|
12665
|
+
standalone: true,
|
|
12571
12666
|
template: '<div #dockviewContainer class="dockview-container"></div>',
|
|
12572
12667
|
styles: [`
|
|
12573
12668
|
:host {
|
|
@@ -12575,7 +12670,7 @@
|
|
|
12575
12670
|
width: 100%;
|
|
12576
12671
|
height: 100%;
|
|
12577
12672
|
}
|
|
12578
|
-
|
|
12673
|
+
|
|
12579
12674
|
.dockview-container {
|
|
12580
12675
|
width: 100%;
|
|
12581
12676
|
height: 100%;
|
|
@@ -12691,6 +12786,7 @@
|
|
|
12691
12786
|
exports.GridviewAngularComponent = __decorate([
|
|
12692
12787
|
core.Component({
|
|
12693
12788
|
selector: 'dv-gridview',
|
|
12789
|
+
standalone: true,
|
|
12694
12790
|
template: '<div #gridviewContainer class="gridview-container"></div>',
|
|
12695
12791
|
styles: [`
|
|
12696
12792
|
:host {
|
|
@@ -12698,7 +12794,7 @@
|
|
|
12698
12794
|
width: 100%;
|
|
12699
12795
|
height: 100%;
|
|
12700
12796
|
}
|
|
12701
|
-
|
|
12797
|
+
|
|
12702
12798
|
.gridview-container {
|
|
12703
12799
|
width: 100%;
|
|
12704
12800
|
height: 100%;
|
|
@@ -12839,6 +12935,7 @@
|
|
|
12839
12935
|
exports.PaneviewAngularComponent = __decorate([
|
|
12840
12936
|
core.Component({
|
|
12841
12937
|
selector: 'dv-paneview',
|
|
12938
|
+
standalone: true,
|
|
12842
12939
|
template: '<div #paneviewContainer class="paneview-container"></div>',
|
|
12843
12940
|
styles: [`
|
|
12844
12941
|
:host {
|
|
@@ -12846,7 +12943,7 @@
|
|
|
12846
12943
|
width: 100%;
|
|
12847
12944
|
height: 100%;
|
|
12848
12945
|
}
|
|
12849
|
-
|
|
12946
|
+
|
|
12850
12947
|
.paneview-container {
|
|
12851
12948
|
width: 100%;
|
|
12852
12949
|
height: 100%;
|
|
@@ -12962,6 +13059,7 @@
|
|
|
12962
13059
|
exports.SplitviewAngularComponent = __decorate([
|
|
12963
13060
|
core.Component({
|
|
12964
13061
|
selector: 'dv-splitview',
|
|
13062
|
+
standalone: true,
|
|
12965
13063
|
template: '<div #splitviewContainer class="splitview-container"></div>',
|
|
12966
13064
|
styles: [`
|
|
12967
13065
|
:host {
|
|
@@ -12969,7 +13067,7 @@
|
|
|
12969
13067
|
width: 100%;
|
|
12970
13068
|
height: 100%;
|
|
12971
13069
|
}
|
|
12972
|
-
|
|
13070
|
+
|
|
12973
13071
|
.splitview-container {
|
|
12974
13072
|
width: 100%;
|
|
12975
13073
|
height: 100%;
|
|
@@ -12983,15 +13081,13 @@
|
|
|
12983
13081
|
};
|
|
12984
13082
|
exports.DockviewAngularModule = __decorate([
|
|
12985
13083
|
core.NgModule({
|
|
12986
|
-
|
|
13084
|
+
imports: [
|
|
13085
|
+
common.CommonModule,
|
|
12987
13086
|
exports.DockviewAngularComponent,
|
|
12988
13087
|
exports.GridviewAngularComponent,
|
|
12989
13088
|
exports.PaneviewAngularComponent,
|
|
12990
13089
|
exports.SplitviewAngularComponent
|
|
12991
13090
|
],
|
|
12992
|
-
imports: [
|
|
12993
|
-
common.CommonModule
|
|
12994
|
-
],
|
|
12995
13091
|
exports: [
|
|
12996
13092
|
exports.DockviewAngularComponent,
|
|
12997
13093
|
exports.GridviewAngularComponent,
|