在一个浮动Area,一个tabpage,两个Panel的场景下。点击面板的最大化按钮,应该相当于点击Area的最大化按钮

This commit is contained in:
zqm
2026-01-07 10:13:35 +08:00
parent 23474a7882
commit f80da7682c

View File

@@ -236,7 +236,18 @@ const onMaximize = (event) => {
const panelId = event.panelId; const panelId = event.panelId;
const areaId = event.areaId; const areaId = event.areaId;
if (shouldOperateAreaInsteadOfPanel(areaId)) { // 检查是否应该操作区域而非面板
// 1. 只有一个面板时,操作区域
// 2. 有一个TabPage和多个Panel时也操作区域
const shouldOperateArea = shouldOperateAreaInsteadOfPanelFromData(event);
// 从AreaHandler获取区域状态检查是否有一个TabPage和多个Panel
const areaState = areaHandler.getAreaState(areaId);
const hasOneTabPageWithMultiplePanels = areaState?.children?.type === 'TabPage' &&
Array.isArray(areaState.children.children) &&
areaState.children.children.length > 1;
if (shouldOperateArea || hasOneTabPageWithMultiplePanels) {
areaActions.toggleMaximize(areaId); areaActions.toggleMaximize(areaId);
} else { } else {
panelActions.maximize(panelId); panelActions.maximize(panelId);