支持关闭标签页
This commit is contained in:
@@ -126,6 +126,10 @@ const dragOperationCache = new Map();
|
|||||||
*/
|
*/
|
||||||
const shouldOperateAreaInsteadOfPanel = (areaId) => {
|
const shouldOperateAreaInsteadOfPanel = (areaId) => {
|
||||||
try {
|
try {
|
||||||
|
// 从floatingAreas中查找对应areaId的区域
|
||||||
|
const area = floatingAreas.value.find(a => a.id === areaId);
|
||||||
|
if (!area) return false;
|
||||||
|
|
||||||
// 检查区域的子元素结构
|
// 检查区域的子元素结构
|
||||||
// 如果有一个TabPage和任意数量的Panel,返回true
|
// 如果有一个TabPage和任意数量的Panel,返回true
|
||||||
const childrenArray = Array.isArray(area.children) ? area.children : [area.children];
|
const childrenArray = Array.isArray(area.children) ? area.children : [area.children];
|
||||||
@@ -261,7 +265,7 @@ const onPanelClose = (event) => {
|
|||||||
if (shouldOperateAreaInsteadOfPanel(areaId)) {
|
if (shouldOperateAreaInsteadOfPanel(areaId)) {
|
||||||
onCloseFloatingArea({ areaId });
|
onCloseFloatingArea({ areaId });
|
||||||
} else {
|
} else {
|
||||||
areaActions.closePanel(areaId, panelId);
|
panelActions.close(panelId, areaId);
|
||||||
const area = floatingAreas.value.find(a => a.id === areaId);
|
const area = floatingAreas.value.find(a => a.id === areaId);
|
||||||
if (area && area.children) {
|
if (area && area.children) {
|
||||||
for (const child of area.children) {
|
for (const child of area.children) {
|
||||||
|
|||||||
Reference in New Issue
Block a user