去掉日志

This commit is contained in:
zqm
2025-11-19 16:06:50 +08:00
parent bb6248b4fa
commit 986c659195
5 changed files with 205 additions and 211 deletions

View File

@@ -258,19 +258,18 @@ const emit = defineEmits(['close', 'update:windowState', 'update:position', 'dra
// 处理Panel的最大化事件
const onPanelMaximize = (panelId) => {
console.log('🔸 Area接收最大化事件 - Panel ID:', panelId)
// // console.log('🔸 Area接收最大化事件 - Panel ID:', panelId)
// 检查内容区是否只有一个Panel
const panelChildren = $slots.default ? $slots.default() : []
const isSinglePanel = panelChildren.length === 1
console.log('🔸 检查是否单Panel模式:', { panelChildren: panelChildren.length, isSinglePanel })
// // console.log('🔸 检查是否单Panel模式:', { panelChildren: panelChildren.length, isSinglePanel })
if (isSinglePanel) {
console.log('🔸 单Panel模式切换Area最大化状态')
// // console.log('🔸 单Panel模式切换Area最大化状态')
onToggleMaximize()
} else {
console.log('🔸 非单Panel模式转发到父组件')
// // console.log('🔸 非单Panel模式转发到父组件')
// 如果不是单Panel转发给父组件处理
emit('maximize', panelId)
}
@@ -571,12 +570,12 @@ onMounted(() => {
// 合并Area内容的方法,只保留合并逻辑
// 处理Area合并内容
const mergeAreaContent = (sourceArea) => {
console.log(`[Area] ${props.id} 接收到Area合并请求:`, sourceArea)
// console.log(`[Area] ${props.id} 接收到Area合并请求:`, sourceArea)
if (!sourceArea) {
console.warn('[Area] 源Area为空无法合并内容')
// console.warn('[Area] 源Area为空无法合并内容')
return false
}
@@ -585,7 +584,7 @@ const mergeAreaContent = (sourceArea) => {
if (isEmpty) {
// 4.2.1 如果目标Area内容区为空将源Area内容区的子组件添加到目标Area内容区
console.log('[Area] 目标Area为空添加源Area的子组件')
// console.log('[Area] 目标Area为空添加源Area的子组件')
// 处理源Area的所有tabPages
if (sourceArea.tabPages && sourceArea.tabPages.length > 0) {
@@ -594,7 +593,7 @@ const mergeAreaContent = (sourceArea) => {
const tabPageId = `merged-tabpage-${tabPage.id}`
const newPanels = (tabPage.panels || []).map((panel, panelIndex) => {
// 保持原有Panel ID不变确保Vue响应式和状态稳定性
console.log(`[Area] 添加Panel: ${panel.id}`)
// console.log(`[Area] 添加Panel: ${panel.id}`)
return {
...panel,
maximized: true
@@ -612,7 +611,7 @@ const mergeAreaContent = (sourceArea) => {
panels: newPanels
})
console.log(`[Area] 成功添加TabPage: ${tabPage.title} (${newPanels.length} 个Panel)`)
// console.log(`[Area] 成功添加TabPage: ${tabPage.title} (${newPanels.length} 个Panel)`)
})
}
@@ -628,13 +627,13 @@ const mergeAreaContent = (sourceArea) => {
return true
} else {
// 4.2.2 如果目标Area内容区已包含TabPage将源Area的每个TabPage添加到目标Area的TabPage中
console.log('[Area] 目标Area已有TabPage合并TabPage标签页')
// 4.2.3 如果目标Area已有TabPage合并TabPage标签页
// console.log('[Area] 目标Area已有TabPage合并TabPage标签页')
// 获取第一个现有的TabPage作为合并目标
const existingTabPage = receivedContent.value[0]
if (!existingTabPage) {
console.error('[Area] 现有TabPage不存在')
// console.error('[Area] 现有TabPage不存在')
return false
}
@@ -643,8 +642,8 @@ const mergeAreaContent = (sourceArea) => {
sourceArea.tabPages.forEach((sourceTabPage, tabIndex) => {
if (sourceTabPage && sourceTabPage.panels) {
// 保持原有Panel ID不变避免Vue组件重新创建和状态丢失
const newPanels = sourceTabPage.panels.map((panel, panelIndex) => {
console.log(`[Area] 合并Panel到现有TabPage: ${panel.id}`)
const newPanels = sourceTabPage.panels.map((panel, panelIndex) => {
// // console.log(`[Area] 合并Panel到现有TabPage: ${panel.id}`)
return {
...panel,
maximized: true
@@ -652,10 +651,9 @@ const mergeAreaContent = (sourceArea) => {
})
// 将新的Panel添加到现有TabPage保持ID连续性
existingTabPage.tabPage.panels.push(...newPanels)
// existingTabPage.panels 是旧引用,保持结构一致性但避免重复添加
console.log(`[Area] 成功合并 ${newPanels.length} 个Panel到现有TabPage`)
existingTabPage.tabPage.panels.push(...newPanels)
// existingTabPage.panels 是旧引用,保持结构一致性但避免重复添加
// // console.log(`[Area] 成功合并 ${newPanels.length} 个Panel到现有TabPage`)
}
})
}
@@ -668,13 +666,13 @@ const mergeAreaContent = (sourceArea) => {
operation: 'merge-tabpages',
sourceTabPages: sourceArea.tabPages || []
})
console.log(`[Area] 合并完成现有TabPage共有 ${existingTabPage.tabPage.panels.length} 个Panel`)
// 更新完成
// // console.log(`[Area] 合并完成现有TabPage共有 ${existingTabPage.tabPage.panels.length} 个Panel`)
return true
}
} catch (error) {
console.error('[Area] 合并Area内容时出错:', error)
// console.error('[Area] 合并Area内容时出错:', error)
return false
}
}

View File

@@ -539,7 +539,7 @@ const detectMouseArea = (mouseX, mouseY) => {
return null
} catch (error) {
console.warn('检测鼠标区域时出错:', error)
// console.warn('检测鼠标区域时出错:', error)
return null
}
}

View File

@@ -147,21 +147,21 @@ const tabDragState = ref({
// 处理从TabPage转发来的Panel拖拽事件
const onPanelDragStartFromTabPage = (areaId, event) => {
console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽事件:', { areaId, event })
// console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽事件:', { areaId, event })
// 直接调用原始的onPanelDragStart处理函数
onPanelDragStart(areaId, event)
}
// 处理从TabPage转发来的Panel拖拽移动事件
const onPanelDragMoveFromTabPage = (areaId, event) => {
console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽移动事件:', { areaId, event })
// console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽移动事件:', { areaId, event })
// 直接调用原始的onPanelDragMove处理函数
onPanelDragMove(areaId, event)
}
// 处理从TabPage转发来的Panel拖拽结束事件
const onPanelDragEndFromTabPage = () => {
console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽结束事件')
// console.log('🔸 DockLayout收到从TabPage转发的Panel拖拽结束事件')
// 直接调用原始的onPanelDragEnd处理函数
onPanelDragEnd()
}
@@ -196,7 +196,7 @@ const checkMainContentForAreas = () => {
} catch (error) {
console.error('检查主区域内容时出错:', error)
// console.error('检查主区域内容时出错:', error)
hasAreasInMainContent.value = false
}
}
@@ -304,12 +304,12 @@ const addFloatingPanel = () => {
}
floatingAreas.value.push(newArea)
console.log('✅ 创建浮动面板成功:', newArea.id, 'z-index:', newZIndex)
console.log('🔍 浮动面板数据结构:', JSON.stringify(newArea, null, 2))
// console.log('✅ 创建浮动面板成功:', newArea.id, 'z-index:', newZIndex)
// console.log('🔍 浮动面板数据结构:', JSON.stringify(newArea, null, 2))
// 使用nextTick确保DOM更新后再进行后续操作
nextTick(() => {
console.log('🔍 浮动面板已添加到DOMfloatingAreas长度:', floatingAreas.value.length)
// console.log('🔍 浮动面板已添加到DOMfloatingAreas长度:', floatingAreas.value.length)
})
}
// 更新区域位置
@@ -434,36 +434,36 @@ const addAreaToHiddenList = (area) => {
...area,
hiddenAt: new Date().toISOString()
})
console.log('Area已添加到隐藏列表:', area.id)
// console.log('Area已添加到隐藏列表:', area.id)
} else {
console.warn('Area已在隐藏列表中:', area.id)
// console.warn('Area已在隐藏列表中:', area.id)
}
}
// 处理Area合并事件
const onAreaMerged = (eventData) => {
console.log('处理Area合并事件:', eventData)
// console.log('处理Area合并事件:', eventData)
const { sourceArea, targetAreaHasContent } = eventData
// 获取源Area对象
const sourceAreaObj = floatingAreas.value.find(a => a.id === sourceArea.id)
if (!sourceAreaObj) {
console.warn('找不到源Area:', sourceArea.id)
// console.warn('找不到源Area:', sourceArea.id)
return
}
// 根据目标Area内容状态执行不同的隐藏逻辑
if (targetAreaHasContent) {
// 目标Area已有内容保存源Area及其TabPage组件到隐藏列表
console.log('目标Area已有内容保存源Area和TabPage组件到隐藏列表')
// console.log('目标Area已有内容保存源Area和TabPage组件到隐藏列表')
addAreaToHiddenList({
...sourceAreaObj,
tabPages: [...sourceAreaObj.tabPages] // 深拷贝TabPages
})
} else {
// 目标Area为空仅保存源Area到隐藏列表
console.log('目标Area为空保存源Area到隐藏列表')
// console.log('目标Area为空保存源Area到隐藏列表')
addAreaToHiddenList(sourceAreaObj)
}
@@ -471,23 +471,23 @@ const onAreaMerged = (eventData) => {
const sourceIndex = floatingAreas.value.findIndex(a => a.id === sourceArea.id)
if (sourceIndex !== -1) {
floatingAreas.value.splice(sourceIndex, 1)
console.log('源Area已从浮动区域移除:', sourceArea.id)
// console.log('源Area已从浮动区域移除:', sourceArea.id)
}
}
// Panel拖拽开始
const onPanelDragStart = (areaId, event) => {
console.log('=== PANEL拖拽开始调试 ===')
console.log('areaId:', areaId)
console.log('event:', event)
console.log('event.clientX:', event?.clientX)
console.log('event.clientY:', event?.clientY)
console.log('event.panelId:', event?.panelId)
// console.log('=== PANEL拖拽开始调试 ===')
// console.log('areaId:', areaId)
// console.log('event:', event)
// console.log('event.clientX:', event?.clientX)
// console.log('event.clientY:', event?.clientY)
// console.log('event.panelId:', event?.panelId)
const area = floatingAreas.value.find(a => a.id === areaId)
console.log('找到的area:', area)
console.log('area.tabPages.length:', area?.tabPages?.length)
console.log('area.tabPages[0].panels.length:', area?.tabPages?.[0]?.panels?.length)
// console.log('找到的area:', area)
// console.log('area.tabPages.length:', area?.tabPages?.length)
// console.log('area.tabPages[0].panels.length:', area?.tabPages?.[0]?.panels?.length)
// 只有当Area中只有一个TabPage且该TabPage中只有一个Panel时才允许通过Panel标题栏移动Area
if (area && area.tabPages && area.tabPages.length === 1 && area.tabPages[0].panels && area.tabPages[0].panels.length === 1) {
@@ -496,7 +496,7 @@ const onPanelDragStart = (areaId, event) => {
const clientY = event.clientY || (typeof event === 'object' ? event.clientY : event?.clientY)
if (clientX === undefined || clientY === undefined) {
console.error('无法获取有效的鼠标位置信息:', event)
// console.error('无法获取有效的鼠标位置信息:', event)
return
}
@@ -542,13 +542,13 @@ const onPanelDragStart = (areaId, event) => {
// Panel拖拽移动
const onPanelDragMove = (areaId, event) => {
console.log('=== PANEL拖拽移动调试 ===')
console.log('areaId:', areaId)
console.log('panelDragState.isDragging:', panelDragState.value.isDragging)
console.log('panelDragState.currentAreaId:', panelDragState.value.currentAreaId)
console.log('event:', event)
console.log('event.clientX:', event?.clientX)
console.log('event.clientY:', event?.clientY)
// console.log('=== PANEL拖拽移动调试 ===')
// console.log('areaId:', areaId)
// console.log('panelDragState.isDragging:', panelDragState.value.isDragging)
// console.log('panelDragState.currentAreaId:', panelDragState.value.currentAreaId)
// console.log('event:', event)
// console.log('event.clientX:', event?.clientX)
// console.log('event.clientY:', event?.clientY)
if (panelDragState.value.isDragging && panelDragState.value.currentAreaId === areaId) {
const area = floatingAreas.value.find(a => a.id === areaId)
@@ -591,7 +591,7 @@ const onPanelDragMove = (areaId, event) => {
// 根据鼠标位置动态更新停靠区域
updateDockZoneByMousePosition(clientX, clientY)
// 调试信息
// 调试信息(已注释)
}
}
@@ -599,11 +599,11 @@ const onPanelDragMove = (areaId, event) => {
// Panel拖拽结束
const onPanelDragEnd = () => {
console.log('=== PANEL拖拽结束调试 ===')
console.log('panelDragState.isDragging:', panelDragState.value.isDragging)
console.log('panelDragState.currentAreaId:', panelDragState.value.currentAreaId)
console.log('activeDockZone:', activeDockZone.value)
console.log('currentMousePosition:', currentMousePosition.value)
// console.log('=== PANEL拖拽结束调试 ===')
// console.log('panelDragState.isDragging:', panelDragState.value.isDragging)
// console.log('panelDragState.currentAreaId:', panelDragState.value.currentAreaId)
// console.log('activeDockZone:', activeDockZone.value)
// console.log('currentMousePosition:', currentMousePosition.value)
panelDragState.value.isDragging = false
const currentAreaId = panelDragState.value.currentAreaId
@@ -615,9 +615,9 @@ const onPanelDragEnd = () => {
// 处理中心停靠
const result = handleCenterDocking(currentAreaId)
if (!result.success) {
console.warn('中心停靠失败:', result.message)
// console.warn('中心停靠失败:', result.message)
} else {
console.log('中心停靠成功:', result.message)
// console.log('中心停靠成功:', result.message)
}
}
@@ -684,7 +684,7 @@ const onAreaDragMove = (areaId, event) => {
// Area拖拽结束
const onAreaDragEnd = (areaId, event) => {
console.log('[DockLayout] Area拖拽结束:', { areaId, event, activeDockZone: activeDockZone.value })
// console.log('[DockLayout] Area拖拽结束:', { areaId, event, activeDockZone: activeDockZone.value })
// 清理拖拽状态
panelDragState.value.isDragging = false
@@ -693,20 +693,20 @@ const onAreaDragEnd = (areaId, event) => {
// 3.1 在onAreaDragEnd方法中添加中心停靠检测
// 确保只有在独立中心指示器区域内释放才执行停靠
if (activeDockZone.value === 'center' && isMouseInCenterIndicator(currentMousePosition.value.x, currentMousePosition.value.y)) {
console.log('[DockLayout] 检测到中心停靠区域,鼠标位置:', currentMousePosition.value)
// console.log('[DockLayout] 检测到中心停靠区域,鼠标位置:', currentMousePosition.value)
// 处理中心停靠
const result = handleCenterDocking(areaId)
if (!result.success) {
console.warn('Area中心停靠失败:', result.message)
// console.warn('Area中心停靠失败:', result.message)
} else {
console.log('Area中心停靠成功:', result.message)
// console.log('Area中心停靠成功:', result.message)
}
} else {
console.log('[DockLayout] 未检测到有效的中心停靠:', {
activeDockZone: activeDockZone.value,
mousePosition: currentMousePosition.value,
isInCenter: isMouseInCenterIndicator(currentMousePosition.value?.x || 0, currentMousePosition.value?.y || 0)
})
// console.log('[DockLayout] 未检测到有效的中心停靠:', {
// activeDockZone: activeDockZone.value,
// mousePosition: currentMousePosition.value,
// isInCenter: isMouseInCenterIndicator(currentMousePosition.value?.x || 0, currentMousePosition.value?.y || 0)
// })
}
// 隐藏停靠指示器
@@ -724,7 +724,7 @@ const onTabDragStart = (areaId, event) => {
const clientY = event.clientY || (typeof event === 'object' ? event.y : event?.y)
if (clientX === undefined || clientY === undefined) {
console.error('无法获取有效的鼠标位置信息:', event)
// console.error('无法获取有效的鼠标位置信息:', event)
return
}
@@ -830,9 +830,9 @@ const onTabDragEnd = () => {
// 处理中心停靠
const result = handleCenterDocking(currentAreaId)
if (!result.success) {
console.warn('中心停靠失败:', result.message)
// console.warn('中心停靠失败:', result.message)
} else {
console.log('中心停靠成功:', result.message)
// console.log('中心停靠成功:', result.message)
}
}
@@ -928,14 +928,14 @@ const updateDockZoneByMousePosition = (mouseX, mouseY) => {
if (centerDistance <= centerRadius) {
newActiveZone = 'center'
console.log('[DockLayout] 主区域为空,检测到中心停靠区域:', {
mouseX, mouseY,
relativeX: relativeX.toFixed(3),
relativeY: relativeY.toFixed(3),
centerDistance: centerDistance.toFixed(3),
centerRadius: centerRadius,
newActiveZone
})
// console.log('[DockLayout] 主区域为空,检测到中心停靠区域:', {
// mouseX, mouseY,
// relativeX: relativeX.toFixed(3),
// relativeY: relativeY.toFixed(3),
// centerDistance: centerDistance.toFixed(3),
// centerRadius: centerRadius,
// newActiveZone
// })
}
} else {
// 主区域不为空时:显示所有指示器选项
@@ -958,7 +958,7 @@ const updateDockZoneByMousePosition = (mouseX, mouseY) => {
if (activeDockZone.value !== newActiveZone) {
const oldZone = activeDockZone.value
activeDockZone.value = newActiveZone
console.log('[DockLayout] 停靠区域更新:', { from: oldZone, to: newActiveZone })
// console.log('[DockLayout] 停靠区域更新:', { from: oldZone, to: newActiveZone })
// 如果激活的区域不为空,显示指示器;如果为空,隐藏指示器
// 但在拖拽过程中,始终保持中心指示器显示
@@ -970,7 +970,7 @@ const updateDockZoneByMousePosition = (mouseX, mouseY) => {
}
}
} catch (error) {
console.warn('更新停靠区域时出错:', error)
// console.warn('更新停靠区域时出错:', error)
}
}
@@ -1101,14 +1101,14 @@ const isMouseInCenterIndicator = (mouseX, mouseY) => {
// 查找独立中心指示器元素
const centerIndicator = dockLayoutRef.value.querySelector('.center-main-indicator')
if (!centerIndicator) {
console.log('未找到.center-main-indicator元素')
// console.log('未找到.center-main-indicator元素')
return false
}
// 检查元素是否可见
const style = window.getComputedStyle(centerIndicator)
if (style.display === 'none' || style.visibility === 'hidden' || style.opacity === '0') {
console.log('独立中心指示器被隐藏')
// console.log('独立中心指示器被隐藏')
return false
}
@@ -1116,17 +1116,17 @@ const isMouseInCenterIndicator = (mouseX, mouseY) => {
const isInIndicator = mouseX >= rect.left && mouseX <= rect.right &&
mouseY >= rect.top && mouseY <= rect.bottom
console.log('独立中心指示器检测:', {
mouseX, mouseY,
indicatorRect: rect,
isInIndicator,
showDockIndicator: showDockIndicator.value,
activeDockZone: activeDockZone.value
})
// console.log('独立中心指示器检测:', {
// mouseX, mouseY,
// indicatorRect: rect,
// isInIndicator,
// showDockIndicator: showDockIndicator.value,
// activeDockZone: activeDockZone.value
// })
return isInIndicator
} catch (error) {
console.warn('检查独立中心指示器区域时出错:', error)
// console.warn('检查独立中心指示器区域时出错:', error)
return false
}
}
@@ -1157,7 +1157,7 @@ const canDockToCenter = (sourceArea, targetArea) => {
if (targetArea === mainAreaRef.value) {
// Area级别停靠支持将源Area的内容移动到主区域
// 不再要求主区域完全为空允许Area停靠
console.log('Area级别停靠源Area可停靠到主区域')
// console.log('Area级别停靠源Area可停靠到主区域')
} else {
// 对于其他目标Area的验证逻辑可以后续扩展
return {
@@ -1221,7 +1221,7 @@ const canDockToCenter = (sourceArea, targetArea) => {
* @returns {Object} 处理结果 {success: boolean, message: string}
*/
const handleCenterDocking = (sourceAreaId) => {
console.log('开始处理中心停靠:', sourceAreaId)
// console.log('开始处理中心停靠:', sourceAreaId)
// 1. 查找源Area
const sourceArea = floatingAreas.value.find(a => a.id === sourceAreaId)
@@ -1241,7 +1241,7 @@ const handleCenterDocking = (sourceAreaId) => {
}
}
console.log('停靠验证通过:', validationResult.reason)
// console.log('停靠验证通过:', validationResult.reason)
try {
// 3. 根据策略执行停靠逻辑
@@ -1253,7 +1253,7 @@ const handleCenterDocking = (sourceAreaId) => {
return handleSimpleAreaDocking(sourceArea)
}
} catch (error) {
console.error('停靠处理过程中发生错误:', error)
// console.error('停靠处理过程中发生错误:', error)
return {
success: false,
message: `停靠过程中发生错误: ${error.message}`
@@ -1270,29 +1270,29 @@ const handleCenterDocking = (sourceAreaId) => {
*/
// 合并TabPage标签页的核心处理函数
const handleMergeTabpagesDocking = (sourceArea) => {
console.log(`[DockLayout] 开始合并TabPage标签页源Area:`, sourceArea)
// console.log(`[DockLayout] 开始合并TabPage标签页源Area:`, sourceArea)
try {
// 验证源Area是否有效
if (!sourceArea || !sourceArea.tabPages || sourceArea.tabPages.length === 0) {
console.warn('[DockLayout] 源Area无效或没有TabPage无法执行合并操作')
// console.warn('[DockLayout] 源Area无效或没有TabPage无法执行合并操作')
return null
}
// 查找主区域的Area组件
const mainArea = mainAreaRef.value
if (!mainArea) {
console.error('[DockLayout] 找不到主区域引用')
// console.error('[DockLayout] 找不到主区域引用')
return null
}
console.log('[DockLayout] 使用新的mergeAreaContent方法合并TabPage')
// console.log('[DockLayout] 使用新的mergeAreaContent方法合并TabPage')
const success = mainArea.mergeAreaContent(sourceArea)
if (success) {
const newTabPageId = `merged-${Date.now()}`
const panelsCount = sourceArea.tabPages[0]?.panels?.length || 0
console.log(`[DockLayout] 成功合并 ${panelsCount} 个Panel到主区域TabPage: ${newTabPageId}`)
// console.log(`[DockLayout] 成功合并 ${panelsCount} 个Panel到主区域TabPage: ${newTabPageId}`)
return {
success: true,
@@ -1301,11 +1301,11 @@ const handleMergeTabpagesDocking = (sourceArea) => {
}
}
console.error('[DockLayout] mergeAreaContent方法执行失败')
// console.error('[DockLayout] mergeAreaContent方法执行失败')
return null
} catch (error) {
console.error('[DockLayout] 合并TabPage时发生错误:', error)
// console.error('[DockLayout] 合并TabPage时发生错误:', error)
return null
}
}
@@ -1319,12 +1319,12 @@ const findOrCreateMainAreaTabPage = () => {
// 检查主区域是否已经接收了内容
if (mainAreaRef.value && mainAreaRef.value.receivedContent) {
const existingContent = mainAreaRef.value.receivedContent
console.log('检查主区域已接收内容数量:', existingContent.length)
// console.log('检查主区域已接收内容数量:', existingContent.length)
if (existingContent.length > 0) {
// 找到现有的TabPage内容
const existingTabPage = existingContent[0] // 只使用第一个TabPage
console.log('找到现有的TabPage:', existingTabPage.title)
// console.log('找到现有的TabPage:', existingTabPage.title)
return {
success: true,
@@ -1337,7 +1337,7 @@ const findOrCreateMainAreaTabPage = () => {
// 如果主区域没有内容现在不再主动创建空TabPage
// 因为在合并逻辑中Area会自动根据需要创建TabPage
console.log('主区域没有现有TabPage将通过合并操作自动创建')
// console.log('主区域没有现有TabPage将通过合并操作自动创建')
return {
success: true,
@@ -1347,7 +1347,7 @@ const findOrCreateMainAreaTabPage = () => {
}
} catch (error) {
console.error('查找TabPage时发生错误:', error)
// console.error('查找TabPage时发生错误:', error)
return {
success: false,
message: `查找TabPage失败: ${error.message}`
@@ -1363,7 +1363,7 @@ const findOrCreateMainAreaTabPage = () => {
* @returns {Object} 处理结果 {success: boolean, message: string}
*/
const handleSimpleAreaDocking = (sourceArea) => {
console.log('执行简单Area停靠策略使用合并逻辑')
// console.log('执行简单Area停靠策略使用合并逻辑')
try {
// 1. 验证源Area结构
@@ -1374,15 +1374,15 @@ const handleSimpleAreaDocking = (sourceArea) => {
}
}
console.log('源Area结构验证通过包含', sourceArea.tabPages.length, '个TabPage')
// console.log('源Area结构验证通过包含', sourceArea.tabPages.length, '个TabPage')
// 2. 使用mergeAreaContent方法将源Area合并到主区域
if (mainAreaRef.value && typeof mainAreaRef.value.mergeAreaContent === 'function') {
console.log('通过mergeAreaContent方法合并源Area到主区域')
// console.log('通过mergeAreaContent方法合并源Area到主区域')
const result = mainAreaRef.value.mergeAreaContent(sourceArea)
if (result) {
console.log('源Area成功合并到主区域area-merged事件将处理隐藏列表操作')
// console.log('源Area成功合并到主区域area-merged事件将处理隐藏列表操作')
// 3. 更新主区域状态(合并完成后由事件处理函数处理隐藏列表)
nextTick(() => {
@@ -1390,7 +1390,7 @@ const handleSimpleAreaDocking = (sourceArea) => {
// 确保主区域最大化显示还原按钮
if (mainAreaRef.value) {
mainAreaRef.value.WindowState = '最大化'
console.log('主区域状态已设置为最大化')
// console.log('主区域状态已设置为最大化')
}
})
@@ -1405,7 +1405,7 @@ const handleSimpleAreaDocking = (sourceArea) => {
}
}
} else {
console.error('主区域不支持mergeAreaContent方法')
// console.error('主区域不支持mergeAreaContent方法')
return {
success: false,
message: '主区域不支持合并操作'
@@ -1413,7 +1413,7 @@ const handleSimpleAreaDocking = (sourceArea) => {
}
} catch (error) {
console.error('简单Area停靠策略执行时发生错误:', error)
// console.error('简单Area停靠策略执行时发生错误:', error)
return {
success: false,
message: `简单Area停靠失败: ${error.message}`
@@ -1471,7 +1471,7 @@ const restoreAreaFromHidden = (areaId) => {
}
} catch (error) {
console.error('恢复Area时出错:', error)
// console.error('恢复Area时出错:', error)
return {
success: false,
message: `恢复失败:${error.message}`
@@ -1503,7 +1503,7 @@ const removeFromHiddenList = (areaId) => {
}
} catch (error) {
console.error('移除Area时出错:', error)
// console.error('移除Area时出错:', error)
return {
success: false,
message: `移除失败:${error.message}`
@@ -1527,7 +1527,7 @@ const clearHiddenList = () => {
}
} catch (error) {
console.error('清空隐藏列表时出错:', error)
// console.error('清空隐藏列表时出错:', error)
return {
success: false,
message: `清空失败:${error.message}`,
@@ -1545,7 +1545,7 @@ const clearHiddenList = () => {
* @returns {Object} 处理结果 {success: boolean, message: string, strategy?: string}
*/
const handleDockingEnding = (dragType, sourceAreaId, options = {}) => {
console.log(`[DockLayout] 处理停靠结束事件: type=${dragType}, areaId=${sourceAreaId}`)
// console.log(`[DockLayout] 处理停靠结束事件: type=${dragType}, areaId=${sourceAreaId}`)
try {
// 确保只有在正确的区域内释放才执行停靠
@@ -1562,9 +1562,9 @@ const handleDockingEnding = (dragType, sourceAreaId, options = {}) => {
// 中心停靠
const centerResult = handleCenterDocking(sourceAreaId)
if (!centerResult.success) {
console.warn('中心停靠失败:', centerResult.message)
// console.warn('中心停靠失败:', centerResult.message)
} else {
console.log('中心停靠成功:', centerResult.message)
// console.log('中心停靠成功:', centerResult.message)
}
return centerResult
@@ -1575,9 +1575,9 @@ const handleDockingEnding = (dragType, sourceAreaId, options = {}) => {
// 外部边缘停靠
const edgeResult = handleEdgeDocking(sourceAreaId, activeDockZone.value)
if (!edgeResult.success) {
console.warn('外部边缘停靠失败:', edgeResult.message)
// console.warn('外部边缘停靠失败:', edgeResult.message)
} else {
console.log('外部边缘停靠成功:', edgeResult.message)
// console.log('外部边缘停靠成功:', edgeResult.message)
}
return edgeResult
@@ -1589,7 +1589,7 @@ const handleDockingEnding = (dragType, sourceAreaId, options = {}) => {
}
} catch (error) {
console.error('[DockLayout] 停靠处理过程中发生错误:', error)
// console.error('[DockLayout] 停靠处理过程中发生错误:', error)
return {
success: false,
message: `停靠过程中发生错误: ${error.message}`
@@ -1604,7 +1604,7 @@ const handleDockingEnding = (dragType, sourceAreaId, options = {}) => {
* @returns {Object} 处理结果 {success: boolean, message: string, strategy?: string}
*/
const handleEdgeDocking = (sourceAreaId, dockZone) => {
console.log(`[DockLayout] 开始外部边缘停靠: areaId=${sourceAreaId}, zone=${dockZone}`)
// console.log(`[DockLayout] 开始外部边缘停靠: areaId=${sourceAreaId}, zone=${dockZone}`)
try {
// 1. 查找源Area
@@ -1625,7 +1625,7 @@ const handleEdgeDocking = (sourceAreaId, dockZone) => {
}
}
console.log('边缘停靠验证通过:', validationResult.reason)
// console.log('边缘停靠验证通过:', validationResult.reason)
// 3. 根据主区域状态选择处理策略
if (validationResult.strategy === 'side-by-side') {
@@ -1639,7 +1639,7 @@ const handleEdgeDocking = (sourceAreaId, dockZone) => {
}
} catch (error) {
console.error('[DockLayout] 外部边缘停靠处理过程中发生错误:', error)
// console.error('[DockLayout] 外部边缘停靠处理过程中发生错误:', error)
return {
success: false,
message: `外部边缘停靠过程中发生错误: ${error.message}`
@@ -1706,7 +1706,7 @@ const canDockToEdge = (sourceArea, dockZone) => {
* @returns {Object} 处理结果 {success: boolean, message: string}
*/
const handleSideBySideDocking = (sourceArea, dockZone) => {
console.log(`[DockLayout] 开始并排停靠: areaId=${sourceArea.id}, zone=${dockZone}`)
// console.log(`[DockLayout] 开始并排停靠: areaId=${sourceArea.id}, zone=${dockZone}`)
try {
// 1. 检查主区域内是否有现有Area
@@ -1717,10 +1717,10 @@ const handleSideBySideDocking = (sourceArea, dockZone) => {
if (hasAreasInMainContent.value) {
// 主区域内已有Area找到第一个作为目标
targetArea = findFirstMainArea()
console.log('[DockLayout] 找到现有目标Area:', targetArea?.id)
// console.log('[DockLayout] 找到现有目标Area:', targetArea?.id)
} else {
// 主区域内无Area从隐藏列表获取或创建新的目标Area
console.log('[DockLayout] 主区域内无现有Area创建目标Area')
// console.log('[DockLayout] 主区域内无现有Area创建目标Area')
const restoreResult = getOrCreateTargetArea()
if (!restoreResult.success) {
@@ -1745,10 +1745,10 @@ const handleSideBySideDocking = (sourceArea, dockZone) => {
// 3. 添加ResizeBar支持
const resizeBarResult = addResizeBarForSideBySideLayout(sourceArea, targetArea, dockZone)
if (!resizeBarResult.success) {
console.warn('[DockLayout] ResizeBar添加失败:', resizeBarResult.message)
// console.warn('[DockLayout] ResizeBar添加失败:', resizeBarResult.message)
// ResizeBar失败不影响核心功能继续执行
} else {
console.log('[DockLayout] ResizeBar添加成功')
// console.log('[DockLayout] ResizeBar添加成功')
}
// 4. 更新源Area状态
@@ -1756,11 +1756,11 @@ const handleSideBySideDocking = (sourceArea, dockZone) => {
if (sourceIndex !== -1) {
// 将源Area从浮动区域移除添加到主区域
const [removedArea] = floatingAreas.value.splice(sourceIndex, 1)
console.log('[DockLayout] 源Area已从浮动区域移除')
// console.log('[DockLayout] 源Area已从浮动区域移除')
// 将源Area添加到主区域的并排布局中
// 这里需要根据实际的布局结构进行调整
console.log('[DockLayout] 源Area将添加到主区域并排布局')
// console.log('[DockLayout] 源Area将添加到主区域并排布局')
}
// 5. 更新主区域状态
@@ -1777,7 +1777,7 @@ const handleSideBySideDocking = (sourceArea, dockZone) => {
}
} catch (error) {
console.error('[DockLayout] 并排停靠处理过程中发生错误:', error)
// console.error('[DockLayout] 并排停靠处理过程中发生错误:', error)
return {
success: false,
message: `并排停靠过程中发生错误: ${error.message}`
@@ -1793,14 +1793,14 @@ const handleSideBySideDocking = (sourceArea, dockZone) => {
* @returns {Object} 处理结果 {success: boolean, message: string}
*/
const addResizeBarForSideBySideLayout = (sourceArea, targetArea, dockZone) => {
console.log(`[DockLayout] 为并排布局添加ResizeBar: ${dockZone}`)
// console.log(`[DockLayout] 为并排布局添加ResizeBar: ${dockZone}`)
try {
// 根据停靠方向确定ResizeBar的方向
const isHorizontal = ['left', 'right'].includes(dockZone)
const resizeBarDirection = isHorizontal ? 'vertical' : 'horizontal'
console.log(`[DockLayout] ResizeBar方向设置: ${resizeBarDirection}`)
// console.log(`[DockLayout] ResizeBar方向设置: ${resizeBarDirection}`)
// 创建ResizeBar配置
const resizeBarConfig = {
@@ -1818,7 +1818,7 @@ const addResizeBarForSideBySideLayout = (sourceArea, targetArea, dockZone) => {
// 将ResizeBar配置添加到主区域的resizeBars列表中
mainAreaResizeBars.value.push(resizeBarConfig)
console.log('[DockLayout] ResizeBar配置已添加到主区域')
// console.log('[DockLayout] ResizeBar配置已添加到主区域')
return {
success: true,
@@ -1826,7 +1826,7 @@ const addResizeBarForSideBySideLayout = (sourceArea, targetArea, dockZone) => {
}
} catch (error) {
console.error('[DockLayout] 添加ResizeBar时发生错误:', error)
// console.error('[DockLayout] 添加ResizeBar时发生错误:', error)
return {
success: false,
message: `添加ResizeBar失败: ${error.message}`
@@ -1841,12 +1841,12 @@ const addResizeBarForSideBySideLayout = (sourceArea, targetArea, dockZone) => {
*/
const handleMainAreaResizeBar = (resizeBarId, newSize) => {
try {
console.log(`[DockLayout] 主区域ResizeBar调整: id=${resizeBarId}, size=${newSize}`)
// console.log(`[DockLayout] 主区域ResizeBar调整: id=${resizeBarId}, size=${newSize}`)
// 找到对应的ResizeBar配置
const resizeBar = mainAreaResizeBars.value.find(rb => rb.id === resizeBarId)
if (!resizeBar) {
console.warn(`[DockLayout] 未找到ResizeBar: ${resizeBarId}`)
// console.warn(`[DockLayout] 未找到ResizeBar: ${resizeBarId}`)
return
}
@@ -1855,7 +1855,7 @@ const handleMainAreaResizeBar = (resizeBarId, newSize) => {
const targetArea = floatingAreas.value.find(a => a.id === resizeBar.targetAreaId)
if (!sourceArea || !targetArea) {
console.warn('[DockLayout] 未找到源Area或目标Area')
// console.warn('[DockLayout] 未找到源Area或目标Area')
return
}
@@ -1869,7 +1869,7 @@ const handleMainAreaResizeBar = (resizeBarId, newSize) => {
}
} catch (error) {
console.error('[DockLayout] 处理主区域ResizeBar调整时发生错误:', error)
// console.error('[DockLayout] 处理主区域ResizeBar调整时发生错误:', error)
}
}
@@ -1878,7 +1878,7 @@ const handleMainAreaResizeBar = (resizeBarId, newSize) => {
* @param {string} resizeBarId - ResizeBar的ID
*/
const handleMainAreaResizeBarStart = (resizeBarId) => {
console.log(`[DockLayout] 主区域ResizeBar调整开始: ${resizeBarId}`)
// console.log(`[DockLayout] 主区域ResizeBar调整开始: ${resizeBarId}`)
}
/**
@@ -1886,7 +1886,7 @@ const handleMainAreaResizeBarStart = (resizeBarId) => {
* @param {string} resizeBarId - ResizeBar的ID
*/
const handleMainAreaResizeBarEnd = (resizeBarId) => {
console.log(`[DockLayout] 主区域ResizeBar调整结束: ${resizeBarId}`)
// console.log(`[DockLayout] 主区域ResizeBar调整结束: ${resizeBarId}`)
}
/**
@@ -1924,7 +1924,7 @@ const getMainAreaResizeBarStyle = (resizeBar) => {
}
} catch (error) {
console.error('[DockLayout] 获取ResizeBar样式时发生错误:', error)
// console.error('[DockLayout] 获取ResizeBar样式时发生错误:', error)
return { position: 'absolute' }
}
}
@@ -1938,7 +1938,7 @@ const getMainAreaResizeBarStyle = (resizeBar) => {
*/
const handleResizeBarResize = (delta, sourceArea, targetArea, dockZone) => {
try {
console.log(`[DockLayout] ResizeBar调整: delta=`, delta, `zone=${dockZone}`)
// console.log(`[DockLayout] ResizeBar调整: delta=`, delta, `zone=${dockZone}`)
// 根据停靠方向计算新的尺寸比例
if (['left', 'right'].includes(dockZone)) {
@@ -1953,7 +1953,7 @@ const handleResizeBarResize = (delta, sourceArea, targetArea, dockZone) => {
updateAreasRatio(sourceArea, targetArea, dockZone)
} catch (error) {
console.error('[DockLayout] 处理ResizeBar调整时发生错误:', error)
// console.error('[DockLayout] 处理ResizeBar调整时发生错误:', error)
}
}
@@ -1974,7 +1974,7 @@ const handleHorizontalResize = (sourceArea, targetArea, deltaX) => {
if (newSourceRatio >= 0.1 && newTargetRatio >= 0.1) {
sourceArea.ratio = newSourceRatio
targetArea.ratio = newTargetRatio
console.log(`[DockLayout] 水平调整完成: source=${newSourceRatio.toFixed(2)}, target=${newTargetRatio.toFixed(2)}`)
// console.log(`[DockLayout] 水平调整完成: source=${newSourceRatio.toFixed(2)}, target=${newTargetRatio.toFixed(2)}`)
}
}
@@ -1995,7 +1995,7 @@ const handleVerticalResize = (sourceArea, targetArea, deltaY) => {
if (newSourceRatio >= 0.1 && newTargetRatio >= 0.1) {
sourceArea.ratio = newSourceRatio
targetArea.ratio = newTargetRatio
console.log(`[DockLayout] 垂直调整完成: source=${newSourceRatio.toFixed(2)}, target=${newTargetRatio.toFixed(2)}`)
// console.log(`[DockLayout] 垂直调整完成: source=${newSourceRatio.toFixed(2)}, target=${newTargetRatio.toFixed(2)}`)
}
}
@@ -2015,7 +2015,7 @@ const updateAreasRatio = (sourceArea, targetArea, dockZone) => {
sourceArea.ratio = sourceNewRatio
targetArea.ratio = targetNewRatio
console.log(`[DockLayout] 比例调整: source=${sourceNewRatio.toFixed(2)}, target=${targetNewRatio.toFixed(2)}`)
// console.log(`[DockLayout] 比例调整: source=${sourceNewRatio.toFixed(2)}, target=${targetNewRatio.toFixed(2)}`)
}
}
@@ -2023,7 +2023,7 @@ const updateAreasRatio = (sourceArea, targetArea, dockZone) => {
* 处理ResizeBar调整开始事件
*/
const handleResizeBarResizeStart = (sourceArea, targetArea) => {
console.log('[DockLayout] ResizeBar调整开始')
// console.log('[DockLayout] ResizeBar调整开始')
// 可以在这里添加视觉反馈或其他开始时的处理
}
@@ -2031,7 +2031,7 @@ const handleResizeBarResizeStart = (sourceArea, targetArea) => {
* 处理ResizeBar调整结束事件
*/
const handleResizeBarResizeEnd = (sourceArea, targetArea) => {
console.log('[DockLayout] ResizeBar调整结束')
// console.log('[DockLayout] ResizeBar调整结束')
// 可以在这里添加调整完成后的处理,如保存布局状态
}
@@ -2044,7 +2044,7 @@ const handleResizeBarResizeEnd = (sourceArea, targetArea) => {
*/
const handleHorizontalResizeWithSize = (sourceArea, targetArea, newSize, dockZone) => {
try {
console.log(`[DockLayout] 水平尺寸调整: newSize=${newSize}, zone=${dockZone}`)
// console.log(`[DockLayout] 水平尺寸调整: newSize=${newSize}, zone=${dockZone}`)
// 计算总宽度(假设容器宽度)
const containerWidth = 800 // 默认容器宽度,实际项目中应该动态获取
@@ -2064,11 +2064,11 @@ const handleHorizontalResizeWithSize = (sourceArea, targetArea, newSize, dockZon
sourceArea.width = adjustedSize
targetArea.width = containerWidth - adjustedSize
console.log(`[DockLayout] 水平调整完成: source=${sourceRatio.toFixed(2)}, target=${targetRatio.toFixed(2)}`)
// console.log(`[DockLayout] 水平调整完成: source=${sourceRatio.toFixed(2)}, target=${targetRatio.toFixed(2)}`)
}
} catch (error) {
console.error('[DockLayout] 水平尺寸调整时发生错误:', error)
// console.error('[DockLayout] 水平尺寸调整时发生错误:', error)
}
}
@@ -2081,7 +2081,7 @@ const handleHorizontalResizeWithSize = (sourceArea, targetArea, newSize, dockZon
*/
const handleVerticalResizeWithSize = (sourceArea, targetArea, newSize, dockZone) => {
try {
console.log(`[DockLayout] 垂直尺寸调整: newSize=${newSize}, zone=${dockZone}`)
// console.log(`[DockLayout] 垂直尺寸调整: newSize=${newSize}, zone=${dockZone}`)
// 计算总高度(假设容器高度)
const containerHeight = 600 // 默认容器高度,实际项目中应该动态获取
@@ -2101,11 +2101,11 @@ const handleVerticalResizeWithSize = (sourceArea, targetArea, newSize, dockZone)
sourceArea.height = adjustedSize
targetArea.height = containerHeight - adjustedSize
console.log(`[DockLayout] 垂直调整完成: source=${sourceRatio.toFixed(2)}, target=${targetRatio.toFixed(2)}`)
// console.log(`[DockLayout] 垂直调整完成: source=${sourceRatio.toFixed(2)}, target=${targetRatio.toFixed(2)}`)
}
} catch (error) {
console.error('[DockLayout] 垂直尺寸调整时发生错误:', error)
// console.error('[DockLayout] 垂直尺寸调整时发生错误:', error)
}
}
@@ -2117,10 +2117,10 @@ const findFirstMainArea = () => {
try {
// 这里需要根据实际的DOM结构或数据结构调整
// 目前返回null需要根据实际实现来完善
console.log('[DockLayout] 查找主区域内的第一个Area')
// console.log('[DockLayout] 查找主区域内的第一个Area')
return null
} catch (error) {
console.error('[DockLayout] 查找主区域Area时发生错误:', error)
// console.error('[DockLayout] 查找主区域Area时发生错误:', error)
return null
}
}
@@ -2131,7 +2131,7 @@ const findFirstMainArea = () => {
*/
const getOrCreateTargetArea = () => {
try {
console.log('[DockLayout] 获取或创建目标Area')
// console.log('[DockLayout] 获取或创建目标Area')
// 1. 尝试从隐藏列表获取Area
const hiddenResult = getHiddenAreas()
@@ -2141,7 +2141,7 @@ const getOrCreateTargetArea = () => {
const restoreResult = restoreAreaFromHidden(targetArea.id)
if (restoreResult.success) {
console.log('[DockLayout] 从隐藏列表恢复目标Area成功:', targetArea.id)
// console.log('[DockLayout] 从隐藏列表恢复目标Area成功:', targetArea.id)
return {
success: true,
message: '成功从隐藏列表获取目标Area',
@@ -2151,7 +2151,7 @@ const getOrCreateTargetArea = () => {
}
// 2. 如果没有隐藏Area创建新的Area
console.log('[DockLayout] 创建新的目标Area')
// console.log('[DockLayout] 创建新的目标Area')
const newAreaId = `area-${Date.now()}`
const newArea = {
id: newAreaId,
@@ -2166,7 +2166,7 @@ const getOrCreateTargetArea = () => {
// 将新Area添加到浮动区域
floatingAreas.value.push(newArea)
console.log('[DockLayout] 创建新目标Area成功:', newAreaId)
// console.log('[DockLayout] 创建新目标Area成功:', newAreaId)
return {
success: true,
@@ -2175,7 +2175,7 @@ const getOrCreateTargetArea = () => {
}
} catch (error) {
console.error('[DockLayout] 获取或创建目标Area时发生错误:', error)
// console.error('[DockLayout] 获取或创建目标Area时发生错误:', error)
return {
success: false,
message: `获取或创建目标Area失败: ${error.message}`
@@ -2192,7 +2192,7 @@ const getOrCreateTargetArea = () => {
*/
const createSideBySideLayout = (sourceArea, targetArea, dockZone) => {
try {
console.log(`[DockLayout] 创建并排布局: ${dockZone}`)
// console.log(`[DockLayout] 创建并排布局: ${dockZone}`)
// 1. 设置初始比例
sourceArea.ratio = 0.5
@@ -2207,7 +2207,7 @@ const createSideBySideLayout = (sourceArea, targetArea, dockZone) => {
// 3. 调整源Area的位置和大小以适应并排布局
adjustSourceAreaForLayout(sourceArea, targetArea, dockZone)
console.log('[DockLayout] 并排布局创建完成')
// console.log('[DockLayout] 并排布局创建完成')
return {
success: true,
@@ -2215,7 +2215,7 @@ const createSideBySideLayout = (sourceArea, targetArea, dockZone) => {
}
} catch (error) {
console.error('[DockLayout] 创建并排布局时发生错误:', error)
// console.error('[DockLayout] 创建并排布局时发生错误:', error)
return {
success: false,
message: `创建并排布局失败: ${error.message}`
@@ -2231,7 +2231,7 @@ const createSideBySideLayout = (sourceArea, targetArea, dockZone) => {
*/
const compressTargetArea = (targetArea, dockZone) => {
try {
console.log(`[DockLayout] 压缩目标Area空间: ${dockZone}`)
// console.log(`[DockLayout] 压缩目标Area空间: ${dockZone}`)
// 根据停靠方向计算新的尺寸
let newWidth = targetArea.width
@@ -2248,7 +2248,7 @@ const compressTargetArea = (targetArea, dockZone) => {
targetArea.width = newWidth
targetArea.height = newHeight
console.log(`[DockLayout] 目标Area压缩完成: ${newWidth}x${newHeight}`)
// console.log(`[DockLayout] 目标Area压缩完成: ${newWidth}x${newHeight}`)
return {
success: true,
@@ -2256,7 +2256,7 @@ const compressTargetArea = (targetArea, dockZone) => {
}
} catch (error) {
console.error('[DockLayout] 压缩目标Area空间时发生错误:', error)
// console.error('[DockLayout] 压缩目标Area空间时发生错误:', error)
return {
success: false,
message: `压缩目标Area空间失败: ${error.message}`
@@ -2272,7 +2272,7 @@ const compressTargetArea = (targetArea, dockZone) => {
*/
const adjustSourceAreaForLayout = (sourceArea, targetArea, dockZone) => {
try {
console.log(`[DockLayout] 调整源Area适应布局: ${dockZone}`)
// console.log(`[DockLayout] 调整源Area适应布局: ${dockZone}`)
// 根据停靠方向调整源Area的尺寸
if (['left', 'right'].includes(dockZone)) {
@@ -2303,10 +2303,10 @@ const adjustSourceAreaForLayout = (sourceArea, targetArea, dockZone) => {
}
}
console.log(`[DockLayout] 源Area调整完成: ${sourceArea.x}, ${sourceArea.y}, ${sourceArea.width}x${sourceArea.height}`)
// console.log(`[DockLayout] 源Area调整完成: ${sourceArea.x}, ${sourceArea.y}, ${sourceArea.width}x${sourceArea.height}`)
} catch (error) {
console.error('[DockLayout] 调整源Area布局时发生错误:', error)
// console.error('[DockLayout] 调整源Area布局时发生错误:', error)
}
}

View File

@@ -188,43 +188,43 @@ const componentListeners = computed(() => {
if (props.type === 'Area') {
// Area组件的事件
allListeners['areaDragStart'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragStart:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragStart:`, event)
emit('areaDragStart', event)
}
allListeners['areaDragMove'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragMove:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragMove:`, event)
emit('areaDragMove', event)
}
allListeners['areaDragEnd'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragEnd:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] areaDragEnd:`, event)
emit('areaDragEnd', event)
}
allListeners['area-merged'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] area-merged:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] area-merged:`, event)
emit('area-merged', event)
}
allListeners['toggleCollapse'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] toggleCollapse:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] toggleCollapse:`, event)
emit('toggleCollapse', event)
}
allListeners['maximize'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] maximize:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] maximize:`, event)
emit('maximize', event)
}
allListeners['close'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] close:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] close:`, event)
emit('close', event)
}
allListeners['toggleToolbar'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] toggleToolbar:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] toggleToolbar:`, event)
emit('toggleToolbar', event)
}
allListeners['update:windowState'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] update:windowState:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] update:windowState:`, event)
emit('update:windowState', event)
}
allListeners['update:position'] = (event) => {
if (props.debug) console.log(`[Render-Area ${props.config.id}] update:position:`, event)
// if (props.debug) console.log(`[Render-Area ${props.config.id}] update:position:`, event)
emit('update:position', event)
}
}
@@ -232,23 +232,23 @@ const componentListeners = computed(() => {
if (props.type === 'TabPage') {
// TabPage组件的事件
allListeners['tabChange'] = (event) => {
if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabChange:`, event)
// if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabChange:`, event)
emit('tabChange', event)
}
allListeners['tabClose'] = (event) => {
if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabClose:`, event)
// if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabClose:`, event)
emit('tabClose', event)
}
allListeners['tabAdd'] = (event) => {
if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabAdd:`, event)
// if (props.debug) console.log(`[Render-TabPage ${props.config.id}] tabAdd:`, event)
emit('tabAdd', event)
}
allListeners['maximize'] = (event) => {
if (props.debug) console.log(`[Render-TabPage ${props.config.id}] maximize:`, event)
// if (props.debug) console.log(`[Render-TabPage ${props.config.id}] maximize:`, event)
emit('maximize', event)
}
allListeners['close'] = (event) => {
if (props.debug) console.log(`[Render-TabPage ${props.config.id}] close:`, event)
// if (props.debug) console.log(`[Render-TabPage ${props.config.id}] close:`, event)
emit('close', event)
}
}
@@ -256,31 +256,31 @@ const componentListeners = computed(() => {
if (props.type === 'Panel') {
// Panel组件的事件
allListeners['toggleCollapse'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] toggleCollapse:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] toggleCollapse:`, event)
emit('panelToggleCollapse', event)
}
allListeners['maximize'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] maximize:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] maximize:`, event)
emit('panelMaximize', event)
}
allListeners['close'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] close:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] close:`, event)
emit('panelClose', event)
}
allListeners['toggleToolbar'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] toggleToolbar:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] toggleToolbar:`, event)
emit('panelToggleToolbar', event)
}
allListeners['dragStart'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragStart:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragStart:`, event)
emit('dragStart', event)
}
allListeners['dragMove'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragMove:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragMove:`, event)
emit('dragMove', event)
}
allListeners['dragEnd'] = (event) => {
if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragEnd:`, event)
// if (props.debug) console.log(`[Render-Panel ${props.config.id}] dragEnd:`, event)
emit('dragEnd', event)
}
}

View File

@@ -109,7 +109,7 @@
:maximized="panel.maximized || false"
:content="panel.content"
@toggle-collapse="$emit('toggleCollapse', $event)"
@maximize="(event) => { console.log('🔸 TabPage转发最大化事件:', event); $emit('maximize', event); }"
@maximize="(event) => { /* console.log('🔸 TabPage转发最大化事件:', event); */ $emit('maximize', event); }"
@close="$emit('close', $event)"
@toggle-toolbar="$emit('toggleToolbar', $event)"
@dragStart="$emit('dragStart', $event)"
@@ -190,19 +190,15 @@ let dragIndex = -1
// 计算属性:控制标签栏的显示
const shouldShowTabs = computed(() => {
// 暂时保持标签栏始终显示确保用户能清楚看到TabPage结构
// 未来可以优化当只有一个Panel且不是浮动窗口时隐藏标签栏
const result = props.showTabs && props.panels && props.panels.length > 0
// 调试信息输出TabPage的显示状态
console.log(`[TabPage ${props.id}] shouldShowTabs:`, {
showTabs: props.showTabs,
panelsLength: props.panels?.length || 0,
tabPosition: props.tabPosition,
shouldShow: result,
panels: props.panels
})
// console.log(`[TabPage ${props.id}] shouldShowTabs:`, {
// showTabs: result,
// panelsLength: props.panels?.length || 0,
// tabPosition: props.tabPosition,
// shouldShow: result,
// panels: props.panels
// })
return result
})