30 lines
1.9 KiB
Markdown
30 lines
1.9 KiB
Markdown
# 迭代目标:20-策略列设置拖拽排序
|
||
|
||
## 目标
|
||
|
||
策略 tab「列设置」弹层(ColumnSettingsPopover)的列排序交互从 **↑↓ 箭头点按** 升级为
|
||
**鼠标选中后拖动排序**(原生 HTML5 DnD),并对齐 Tab 设置的即时持久化体验。
|
||
|
||
## 目标描述
|
||
|
||
- **背景**:策略 tab 的可配置列(基础数据列 + 自定义字段列)在「列设置」弹层中管理,排序目前依赖
|
||
↑↓ 箭头(R-013 迭代 11 产物,当时刻意简化,代码注释自述「用箭头替代 DnD」)。老师反馈希望
|
||
改成鼠标选中后拖动排序(2026-09-10)。
|
||
- **结论**:复用 R-011 Tab 设置已验证的原生 HTML5 DnD 模式(draggable 行 + 落点高亮 + drop 重排),
|
||
零第三方依赖;落点立即持久化(strategy-columns/update 整表覆盖),弹层去掉「保存」按钮只留「关闭」。
|
||
- **范围**:仅改 src/client/views/ColumnSettingsPopover.jsx 单文件;服务端/API/表格渲染零改动;
|
||
固定列(代码/名称/操作/展开箭头)不参与排序,维持现状。
|
||
- **验收线**:拖拽可重排列顺序且落点高亮可见;drop 后立即写库(无需点保存);↑↓ 箭头仍可微调;
|
||
勾选显隐立即生效;刷新后列顺序保持。对应需求 R-024(已定稿)。
|
||
|
||
## 目标讨论过程
|
||
|
||
1. 老师反馈(2026-09-10):策略 tab 列设计可否做成鼠标选中后拖动排序。
|
||
2. AI 调研:Tab 设置(R-011)已实现同款原生 HTML5 DnD(SettingsSection.jsx),可零依赖复用;
|
||
列设置弹层存在未使用的 dragKey 状态(原计划 DnD 的残留)。
|
||
3. 登记 R-024(讨论中)→ 方案草案 A/B/C → 老师确认方案 A(弹层内拖拽);
|
||
保存时机 / 箭头去留按 AI 推荐默认(立即持久化 + ↑↓ 保留兜底)。
|
||
|
||
## 对老师(项目主理人)的配合需求
|
||
|
||
- 无(纯前端交互优化,服务端零改动,验收走页面人工确认)。 |