diff --git a/packages/dockview-core/src/__tests__/dockview/dockviewComponent.spec.ts b/packages/dockview-core/src/__tests__/dockview/dockviewComponent.spec.ts index 6c7cf922c..c3f537aa7 100644 --- a/packages/dockview-core/src/__tests__/dockview/dockviewComponent.spec.ts +++ b/packages/dockview-core/src/__tests__/dockview/dockviewComponent.spec.ts @@ -4554,4 +4554,46 @@ describe('dockviewComponent', () => { expect(dockview.panels.length).toBe(3); }); }); + + describe('maximized group', () => { + test('that a maximzied group is set to active', () => { + const container = document.createElement('div'); + + const dockview = new DockviewComponent({ + parentElement: container, + components: { + default: PanelContentPartTest, + }, + tabComponents: { + test_tab_id: PanelTabPartTest, + }, + orientation: Orientation.HORIZONTAL, + }); + + dockview.layout(1000, 500); + + const panel1 = dockview.addPanel({ + id: 'panel_1', + component: 'default', + }); + + const panel2 = dockview.addPanel({ + id: 'panel_2', + component: 'default', + position: { direction: 'right' }, + }); + + expect(panel1.api.isActive).toBeFalsy(); + expect(panel1.group.api.isActive).toBeFalsy(); + expect(panel2.api.isActive).toBeTruthy(); + expect(panel2.group.api.isActive).toBeTruthy(); + + panel1.api.maximize(); + + expect(panel1.api.isActive).toBeTruthy(); + expect(panel1.group.api.isActive).toBeTruthy(); + expect(panel2.api.isActive).toBeFalsy(); + expect(panel2.group.api.isActive).toBeFalsy(); + }); + }); }); diff --git a/packages/dockview-core/src/gridview/baseComponentGridview.ts b/packages/dockview-core/src/gridview/baseComponentGridview.ts index 8131daf16..625c9b389 100644 --- a/packages/dockview-core/src/gridview/baseComponentGridview.ts +++ b/packages/dockview-core/src/gridview/baseComponentGridview.ts @@ -194,6 +194,7 @@ export abstract class BaseGrid maximizeGroup(panel: T): void { this.gridview.maximizeView(panel); + this.doSetGroupActive(panel); } isMaximizedGroup(panel: T): boolean {