iter(g302): 表头接上多列排序(Shift 叠加)
This commit is contained in:
@@ -3104,6 +3104,15 @@
|
||||
"motivation": "库里有 list 展示列表、virtualList 长列表,但缺「可调整顺序」的交互件:任务排优先级、字段顺序、看板列这类场景每次都得自己写一遍拖放,dragstart/dragover 的边界(不拦 dragover 就没 drop、拖拽中重建节点会中断手势)反复踩。",
|
||||
"acceptance": "① 整行可拖,指针越过邻行中线即换位,dragend 落定;② 键盘等价 Alt+↑↓ 上下搬一格、Alt+Home/End 搬首尾,裸 ↑↓ 留给页面滚动;③ 顺序写回 value 信号并触发 onChange,拖拽期间跳过外部重排避免中断手势;④ 句柄 { el, move, order },下标越界与禁用时静默忽略;⑤ 样式只消费 --ua-* 令牌,禁止新增硬编码阴影/时长/字号;⑥ manifest/docs/README/demo/llms-full 同步,npm run check 全绿。",
|
||||
"notes": "新增 src/sortableList.ts(118 行)+ types 两项 + index 导出 + ui.css 六条(只消费令牌);整行可拖、越过邻行中线换位、dragend 落定,Alt+↑↓/Home/End 键盘搬位;顺序写回 value 信号并触发 onChange,拖拽中跳过外部重排;句柄 { el, move, order } 越界静默忽略;组件 87→88,README/AGENTS/ARCHITECTURE 计数与 docs 同步"
|
||||
},
|
||||
{
|
||||
"id": "g302",
|
||||
"domain": "tune",
|
||||
"status": "open",
|
||||
"title": "dataTable 接上内核的多列排序:Shift+点击叠加第二列",
|
||||
"motivation": "table-core 的 toggleSort 早就支持 action.multi(按 rules 顺序逐列比较),但皮肤层 dispatch 时从不传 multi,用户按住 Shift 点第二个表头毫无反应,多列排序只能靠手写 setSorting;表头标记也只反映单列方向,看不出比较优先级。",
|
||||
"acceptance": "① 表头点击与键盘 Enter / 空格都读 shiftKey 并透传 multi;② 参与排序的列 ≥ 2 时标记追加优先级序号(↑1 / ↓2),单列时保持原箭头;③ manifest 手把手与 demo 描述同步;④ npm run check 全绿。",
|
||||
"notes": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user