完善定义

This commit is contained in:
JoyD
2025-10-28 22:25:42 +08:00
parent ddd1d239aa
commit 91169a7b61
4 changed files with 41 additions and 1 deletions

View File

@@ -6,7 +6,7 @@
*/
/** 面板区枚举 */
export type PanelPosition = 'left' | 'right' | 'top' | 'bottom' | 'center';
export type PanelPosition = 'left' | 'right' | 'top' | 'bottom' | 'center' | 'floating';
/** 影响关系项 */
export interface InfluenceEntry {
@@ -75,6 +75,7 @@ export interface MinSizes {
export interface DockLayoutState {
rootAreaId: string; // 根面板区id
areas: Record<string, PanelArea>; // 面板区(一级容器)
floatingAreaIds: Set<string>; // 浮动面板区id集合全局去重
allPanels: Record<string, PanelMeta>; // 全局面板列表(非 DOM 实例)
pendingGlobalRecompute?: Set<string>; // 全局待重算队列可选防循环控制面板区id
}

View File

@@ -4,6 +4,7 @@ import HomePage from '../views/HomePage.vue';
import IDEPage from '../views/ide.vue';
import FrameworkTest from '../views/FrameworkTest.vue';
import DockPanelDemo from '../views/DockPanelDemo.vue';
import DockLayoutTest from '../views/DockLayoutTest.vue'
const routes = [
{
@@ -30,6 +31,11 @@ const routes = [
path: '/dock-panel-demo',
name: 'DockPanelDemo',
component: DockPanelDemo
},
{
path: '/dock-layout-test',
name: 'DockLayoutTest',
component: DockLayoutTest
}
];

View File

@@ -0,0 +1,27 @@
<template>
<div class="dock-layout-test w-full h-screen bg-gray-100">
<!-- 顶部控制栏仿 DockPanelDemo.vue 样式 -->
<div class="demo-control-bar bg-white border-b border-gray-300 p-3 flex items-center justify-between">
<div class="flex items-center space-x-4">
- <h1 class="text-lg font-semibold text-gray-800">依靠面板测试</h1>
+ <h1 class="text-lg font-semibold text-gray-800">停靠面板测试</h1>
</div>
<div class="text-sm text-gray-500">
当前页面用于测试 DockLayout 布局下方暂留空
</div>
</div>
<!-- 预留主区域暂不放面板 -->
<div class="flex-1 w-full h-[calc(100%-4rem)]">
<!-- 预留区域后续将放置 DockLayout 容器 -->
</div>
</div>
</template>
<script setup>
// 暂无逻辑,后续将接入 DockLayout 容器与交互
</script>
<style scoped>
/* 可按需添加页面专属样式 */
</style>

View File

@@ -30,6 +30,12 @@
>
停靠面板演示
</router-link>
<router-link
to="/dock-layout-test"
class="bg-teal-600 hover:bg-teal-700 text-white px-8 py-4 rounded-lg text-lg font-semibold transition-colors shadow-lg"
>
停靠面板测试
</router-link>
</div>
</div>
</div>