mirror of
https://github.com/mathuo/dockview
synced 2025-02-03 06:55:46 +00:00
Merge pull request #796 from mathuo/795-popout-groups-bug
bug: only dispose of ref group if empty
This commit is contained in:
commit
ff0bf75632
@ -4867,6 +4867,51 @@ describe('dockviewComponent', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('move popout group of 1 panel inside grid', async () => {
|
||||||
|
const container = document.createElement('div');
|
||||||
|
|
||||||
|
window.open = () => setupMockWindow();
|
||||||
|
|
||||||
|
const dockview = new DockviewComponent(container, {
|
||||||
|
createComponent(options) {
|
||||||
|
switch (options.name) {
|
||||||
|
case 'default':
|
||||||
|
return new PanelContentPartTest(
|
||||||
|
options.id,
|
||||||
|
options.name
|
||||||
|
);
|
||||||
|
default:
|
||||||
|
throw new Error(`unsupported`);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
dockview.layout(1000, 500);
|
||||||
|
|
||||||
|
const panel1 = dockview.addPanel({
|
||||||
|
id: 'panel_1',
|
||||||
|
component: 'default',
|
||||||
|
});
|
||||||
|
|
||||||
|
const panel2 = dockview.addPanel({
|
||||||
|
id: 'panel_2',
|
||||||
|
component: 'default',
|
||||||
|
});
|
||||||
|
|
||||||
|
const panel3 = dockview.addPanel({
|
||||||
|
id: 'panel_3',
|
||||||
|
component: 'default',
|
||||||
|
position: { direction: 'right' },
|
||||||
|
});
|
||||||
|
|
||||||
|
await dockview.addPopoutGroup(panel2);
|
||||||
|
|
||||||
|
panel2.api.moveTo({ position: 'top', group: panel3.group });
|
||||||
|
|
||||||
|
expect(dockview.panels.length).toBe(3);
|
||||||
|
expect(dockview.groups.length).toBe(3);
|
||||||
|
});
|
||||||
|
|
||||||
test('add a popout group', async () => {
|
test('add a popout group', async () => {
|
||||||
const container = document.createElement('div');
|
const container = document.createElement('div');
|
||||||
|
|
||||||
|
@ -1885,7 +1885,7 @@ export class DockviewComponent
|
|||||||
const refGroup = selectedGroup.referenceGroup
|
const refGroup = selectedGroup.referenceGroup
|
||||||
? this.getPanel(selectedGroup.referenceGroup)
|
? this.getPanel(selectedGroup.referenceGroup)
|
||||||
: undefined;
|
: undefined;
|
||||||
if (refGroup) {
|
if (refGroup && refGroup.panels.length === 0) {
|
||||||
this.removeGroup(refGroup);
|
this.removeGroup(refGroup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user