Merge pull request #785 from mathuo/782-dockview-fails-or-crashes-when-attempting-to-make-a-floating-group-from-a-popout-group

bug: wrong event ordering
This commit is contained in:
mathuo 2024-12-09 20:03:36 +00:00 committed by GitHub
commit 32e759ef75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -673,20 +673,23 @@ export class DockviewComponent
const isGroupAddedToDom = const isGroupAddedToDom =
referenceGroup.element.parentElement !== null; referenceGroup.element.parentElement !== null;
const group = !isGroupAddedToDom let group: DockviewGroupPanel;
? referenceGroup
: options?.overridePopoutGroup ?? if (!isGroupAddedToDom) {
this.createGroup({ id: groupId }); group = referenceGroup;
} else if (options?.overridePopoutGroup) {
group = options.overridePopoutGroup;
} else {
group = this.createGroup({ id: groupId });
this._onDidAddGroup.fire(group);
}
group.model.renderContainer = overlayRenderContainer; group.model.renderContainer = overlayRenderContainer;
group.layout( group.layout(
_window.window!.innerWidth, _window.window!.innerWidth,
_window.window!.innerHeight _window.window!.innerHeight
); );
if (!this._groups.has(group.api.id)) {
this._onDidAddGroup.fire(group);
}
if (!options?.overridePopoutGroup && isGroupAddedToDom) { if (!options?.overridePopoutGroup && isGroupAddedToDom) {
if (itemToPopout instanceof DockviewPanel) { if (itemToPopout instanceof DockviewPanel) {
this.movingLock(() => { this.movingLock(() => {