Files
one_divine_lot/docs/04-迭代记录/20-策略列设置拖拽排序/迭代目标.md
T

30 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 迭代目标: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 DnDSettingsSection.jsx),可零依赖复用;
列设置弹层存在未使用的 dragKey 状态(原计划 DnD 的残留)。
3. 登记 R-024(讨论中)→ 方案草案 A/B/C → 老师确认方案 A(弹层内拖拽);
保存时机 / 箭头去留按 AI 推荐默认(立即持久化 + ↑↓ 保留兜底)。
## 对老师(项目主理人)的配合需求
- 无(纯前端交互优化,服务端零改动,验收走页面人工确认)。