Commit Graph

66 Commits

Author SHA1 Message Date
zqm
81dba291f9 全部用静态导入 2025-12-25 13:53:52 +08:00
zqm
8c8ce2f8ce 使用全局事件总线 2025-12-24 16:40:17 +08:00
zqm
4ca836df37 优化事件总线 2025-12-15 13:27:53 +08:00
zqm
e96e3018ed ### 主要修复内容
1. 事件监听器泄漏 :修复了事件监听器泄漏问题,确保所有监听器都能被正确清理
2. 组件生命周期管理 :为所有组件添加了onUnmounted钩子,确保资源能被正确清理
3. props大小写问题 :修复了props名称大小写不匹配问题
4. 延迟初始化 :将事件管理器的初始化从立即初始化改为延迟初始化,提高性能
5. flexbox布局修复 :修复了flexbox布局问题,确保组件能正确显示
6. 代码结构优化 :简化了代码结构,提高了可维护性
这些修改解决了事件监听器泄漏、组件生命周期管理和props传递等问题,提高了代码的质量和可维护性。
2025-12-04 14:58:41 +08:00
zqm
e9ef33bd62 完善事件总线功能,创建专门的事件处理器模块 2025-11-20 13:25:23 +08:00
zqm
5e60553a04 为DockLayout.vue添加事件总线支持,让它能够响应面板关闭事件 2025-11-20 09:51:08 +08:00
zqm
986c659195 去掉日志 2025-11-19 16:06:50 +08:00
zqm
bb6248b4fa 统一名称 2025-11-19 15:26:39 +08:00
zqm
0e7207adce 采用嵌套呈现方式处理 2025-11-19 14:16:26 +08:00
zqm
7acf65356f 增加渲染器 2025-11-19 11:31:21 +08:00
zqm
c11f1212ba 开始重构 2025-11-19 11:00:22 +08:00
zqm
0d3b81df7f 修复中心停靠 2025-11-18 15:39:46 +08:00
zqm
0e163e0c32 将浮动窗口Area拖动到独立中心指示器外面放开,效果和在独立中心指示器上放开是一样的,都实现了停靠。这不合逻辑,只有在独立中心指示器上放开才应该停靠 2025-11-18 13:58:44 +08:00
zqm
d4f3098af7 点击Panel最大化 2025-11-18 13:48:13 +08:00
zqm
0c66be439a 中心区依靠多个TabPanel 2025-11-17 16:55:03 +08:00
zqm
8e472d4497 拖拽Area停靠中心区域 2025-11-17 11:30:02 +08:00
zqm
5502db6d42 7. TabPage的页标签可以定义在上、右、下、左四个边缘显示,通过对外提供的属性设置。 2025-11-17 09:10:29 +08:00
zqm
894fb8b87c 实现Area标题栏拖动时显示停靠指示器功能
- 在Area.vue中添加areaDragStart、areaDragMove、areaDragEnd事件发射
- 在DockLayout.vue中添加相应的拖拽事件处理函数
- 拖动Area标题栏时现在会显示停靠指示器,类似于Tab拖动的行为
- 符合用户需求:Area内容区可以嵌套放置Area时需要显示停靠指示器
2025-11-14 16:02:12 +08:00
zqm
65dd96be0b 修复Tab拖拽结束时停靠指示器未隐藏的问题
- 修复DockLayout.vue中onTabDragEnd函数缺少隐藏停靠指示器的代码
- 确保通过Tab标签拖动Area结束后正确隐藏停靠指示器
- 与onPanelDragEnd函数保持一致的行为
- 提升拖拽操作的完整性和用户体验
2025-11-14 15:53:27 +08:00
zqm
e94ae82a38 修复拖动Area标题栏时独立中心指示器显示问题并清理控制台日志 2025-11-14 15:45:54 +08:00
zqm
c298d7ba2d 修复主区域边缘指示器显示逻辑
- 修改DockLayout.vue中的hideEdgeIndicators判断逻辑,从简单检查floatingAreas数组改为实际检测主区域内容区内是否包含其他Area
- 添加checkMainContentForAreas函数,通过DOM查询检测主区域内的.vs-area、.tab-page和.panel元素
- 添加onMounted钩子和floatingAreas监听器,确保在适当时机进行检测
- 保持DockIndicator.vue中v-if条件渲染边缘指示器的逻辑
- 修复第3条需求:当主区域内没有其他Area时正确隐藏外部边缘指示器
2025-11-14 14:23:10 +08:00
zqm
afdd48bc93 调整DockIndicator.vue中的区域指示器布局
- 将左区、右区、下区三个区域指示器从外部移动到center-dock-container内部
- 按照上区指示器的布局方式,围绕中心指示器放置
- 更新相关CSS样式,确保视觉一致性和布局平衡
- 删除原有的外部指示器定义,简化代码结构
2025-11-14 09:39:59 +08:00
zqm
0bc966d9d0 调整DockIndicator上区指示器位置,将其移至中心区域容器内部并设置正确的相对定位 2025-11-14 08:40:25 +08:00
zqm
2a6906ae06 调整DockIndicator上区指示器位置,将其移至中心区域容器内部并设置正确的相对定位 2025-11-13 17:08:21 +08:00
zqm
29c4e75819 修复停靠指示器定位问题:调整所有指示器与容器边缘保持5像素距离 2025-11-13 10:50:22 +08:00
zqm
f19c0aba60 设置停靠指示器显示在最顶层:将DockIndicator组件的z-index值从999提高到9999并在父组件中添加相同设置 2025-11-07 15:41:44 +08:00
zqm
fe630d08c0 调整浮动区域z-index值:将非最大化和最大化状态下的z-index均从10/100提高到1000,确保浮动区域始终显示在顶层 2025-11-07 15:14:33 +08:00
zqm
bbaa0ebde9 重构布局结构:将布局控制从Area组件移到DockLayout组件,移除Area外层wrapper简化结构 2025-11-07 15:09:06 +08:00
zqm
1f31bfbba9 优化DockLayout.vue布局:将主区域改为相对定位,确保主区域不会被浮动区域完全覆盖 2025-11-07 14:56:09 +08:00
zqm
145b82ecf9 修改DockLayout.vue,调整主区域和浮动区域的定位样式实现层叠显示 2025-11-07 14:44:07 +08:00
zqm
9fc607e18f 实现TabPage标签拖拽功能及样式优化:1. 激活标签背景色改为#F5CC84 2. 激活标签不显示关闭按钮 3. 修复TabPage标签拖拽功能 2025-11-06 14:57:30 +08:00
zqm
bedbea7e76 修复Panel图标状态同步:当Area最大化或还原时,正确处理TabPage层级结构,同步更新Panel的maximized状态 2025-11-06 13:32:18 +08:00
zqm
9c8b1ce410 修复Panel图标状态同步:当Area最大化或还原时,同步更新Panel的maximized状态 2025-11-06 13:24:37 +08:00
zqm
b44d94a25e 修改DockLayout.vue:将浮动区域列表移动到主区域的内容区内显示 2025-11-05 16:40:27 +08:00
zqm
9e19db7911 修复TabPage标签不显示问题:1. 修改TabPage组件使用panels属性渲染标签栏;2. 在DockLayout中传递panels属性给TabPage组件 2025-11-05 10:53:37 +08:00
zqm
607616bf10 修复浮动面板中TabPage内Panel未显示问题:1. 修改TabPage支持slot渲染;2. 修复DockLayout中showTitleBar属性设置 2025-11-05 10:49:28 +08:00
zqm
ac487ee63e 修复onPanelDragStart方法中的TypeError错误,更新条件检查以适应嵌套数据结构 2025-11-05 09:07:06 +08:00
zqm
61926fd195 更新DockLayout.vue,添加TabPage组件导入和嵌套渲染结构,确保TabPage能正确显示 2025-11-05 09:02:11 +08:00
zqm
e9f3c00fd5 修改addFloatingPanel方法,实现三步流程:添加Area,在Area中添加TabPage,在TabPage中添加Panel 2025-11-05 08:59:53 +08:00
zqm
fef21a9d19 实现Area最大化时自动同步Panel最大化状态,完成第10点需求 2025-11-04 17:24:08 +08:00
zqm
89e587ecf1 修复Panel最大化按钮不显示还原图标的问题:添加maximized属性传递 2025-11-04 16:29:46 +08:00
zqm
dd42984092 修复Panel最大化按钮点击后maximized属性未更新的问题,使用Vue响应式更新方式 2025-11-04 16:16:22 +08:00
zqm
5629018e55 完善Area组件功能:优化居中定位逻辑,确保关闭时同步移除Panel,满足所有需求 2025-11-04 15:26:50 +08:00
zqm
7855d6c2aa 修复单击Panel最大化按钮时,Area和Panel最大化状态不一致的问题 2025-11-04 15:17:37 +08:00
zqm
185debd01f 实现第6条需求:当内容区只包含一个Panel时,显示Area的标题栏 2025-11-04 15:02:03 +08:00
zqm
ced3e749b3 实现第8条需求:当内容区只包含一个Panel时,单击Panel的最大化按钮同时最大化Panel和Area 2025-11-04 14:59:55 +08:00
zqm
5c1fe4e9e4 实现第9条需求:当内容区只包含一个Panel时,Panel填充满Area 2025-11-04 14:47:16 +08:00
zqm
4a8d2570be 实现第8条需求:当内容区只包含一个Panel时,单击Panel的最大化按钮切换Area的最大化状态 2025-11-04 14:43:19 +08:00
zqm
6c724b5903 修复第7条需求:确保拖动Panel标题栏能移动Area 2025-11-04 14:34:40 +08:00
zqm
365bbb7ecc 实现第7条需求:禁用Area标题栏,确保拖动Panel标题栏可以移动Area 2025-11-04 11:40:40 +08:00