feat(ux): U1 虚拟滚动 — Pod/事件/审计/命令列表大数据量渲染优化
- 安装 @tanstack/react-virtual@3.14.4 - 新增 hooks/useVirtualRows.ts 可复用虚拟滚动 Hook - PodsTab: 全量渲染→虚拟滚动, 支持 1000+ Pod + 动态行高(展开行) - EventTable: 移除 maxRows=200 截断, 万级事件流畅渲染 - AuditOperationsTab: shadcn Table→虚拟滚动 CSS Grid 布局 - SessionCommandsPanel: 虚拟滚动, page_size 200→500 - npm run build ✅, tsc --noEmit ✅, 17/17 集成测试通过
This commit is contained in:
1 parent
e4f1018ca1
commit
f2069fe3f0
11 files changed
+673
-330
No files matched your search
+55
@@ -562,3 +562,58 @@ print("✅ U4: 5 连接并发注册成功")
|
||||
- [x] 心跳机制: ping=30s + pong_handler + read_deadline=60s
|
||||
- [x] `go build` 零错误,17/17 回归测试通过
|
||||
- [x] 6 个 WebSocket handler 共享统一 WSManager(webshell/kubectl/podexec/audit/metrics/pipeline)
|
||||
|
||||
---
|
||||
|
||||
## P3-U1: 虚拟滚动
|
||||
|
||||
### 验证用例
|
||||
|
||||
```bash
|
||||
# U1: @tanstack/react-virtual 已安装
|
||||
cd /srv/aiops/frontend && node -e "const p=require('./package.json'); console.log('@tanstack/react-virtual:', p.dependencies['@tanstack/react-virtual'])"
|
||||
# 期望: ^3.14.4
|
||||
|
||||
# U2: useVirtualRows Hook 存在
|
||||
ls -la src/hooks/useVirtualRows.ts
|
||||
# 期望: 文件存在
|
||||
|
||||
# U3: TypeScript 编译零错误
|
||||
npx tsc --noEmit 2>&1 | tail -3
|
||||
# 期望: 退出码 0
|
||||
|
||||
# U4: Vite 构建
|
||||
npm run build 2>&1 | tail -3
|
||||
# 期望: built in Ns
|
||||
|
||||
# U5: PodsTab 使用 useVirtualizer
|
||||
grep -c 'useVirtualizer' src/components/kubernetes/deployment-view/PodsTab.tsx
|
||||
# 期望: >= 1
|
||||
|
||||
# U6: EventTable 使用 useVirtualizer
|
||||
grep -c 'useVirtualizer' src/components/kubernetes/EventTable.tsx
|
||||
# 期望: >= 1
|
||||
|
||||
# U7: AuditOperationsTab 使用 useVirtualizer
|
||||
grep -c 'useVirtualizer' src/pages/AuditOperationsTab.tsx
|
||||
# 期望: >= 1
|
||||
|
||||
# U8: EventTable 不再截断 (maxRows 已移除)
|
||||
grep 'maxRows' src/components/kubernetes/EventTable.tsx | grep -v 'deprecated'
|
||||
# 期望: 无实际使用 (仅 @deprecated 注释)
|
||||
|
||||
# U9: 集成回归测试
|
||||
python3 tests/integration_test.py --host 127.0.0.1 --port 8080 | tail -3
|
||||
# 期望: 17/17 passed
|
||||
```
|
||||
|
||||
### 通过标准
|
||||
- [x] U1: `@tanstack/react-virtual@3.14.4` 已安装
|
||||
- [x] U2: `useVirtualRows` Hook 可复用
|
||||
- [x] U3: `tsc --noEmit` 零错误
|
||||
- [x] U4: Vite 构建成功 (✓ built in 18.62s)
|
||||
- [x] U5: PodsTab 虚拟滚动(动态行高 + 展开行支持)
|
||||
- [x] U6: EventTable 虚拟滚动(移除 maxRows 截断)
|
||||
- [x] U7: AuditOperationsTab 虚拟滚动
|
||||
- [x] U8: EventTable 不再截断事件列表
|
||||
- [x] U9: 17/17 集成回归测试通过
|
||||
Reference in new issue
Block a user