Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 1.64 KB

File metadata and controls

33 lines (22 loc) · 1.64 KB

v0.12.8:笔记列表级批量删除

状态:代码已交付(2026-08-23) 依据:用户指令「修改笔记的删除逻辑:当前删除按钮需点击笔记后才可以,想要类似会话那样的操作逻辑」(2026-08-23)

一句话

笔记列表行新增勾选(与会话管理台同模式)——行内勾选后出现底部批量操作栏 (全选三态 / 已选计数 / 批量删除 / 取消),无需先打开笔记即可删除。

背景

此前笔记删除只能走右栏阅读视图的「删除」按钮(先点开笔记 → 再删除); 会话管理台(SessionListPanel)则是「行内勾选 + 批量操作栏」的列表级删除。 本次让笔记删除与会话对齐。

实现

位置 改动
NoteListView 行内勾选框(点击 stopPropagation,不触发选中打开)+ 底部批量操作栏(全选三态与已选计数,结构同 SessionListPanel);勾选为面板本地状态
NoteListView → NotesPage 新 prop onBatchDelete: (ids) => Promise<boolean>——删除执行成功后清空勾选;取消确认返回 false 时保留勾选
NotesPage.runBatchDelete confirm 确认(kind: warning)→ 逐条 delete_note → 失败计数回显 → 刷新列表;被删中选中笔记同步清空右栏

边界(不改)

  • 右栏阅读视图单条「删除」按钮:保留原逻辑(点击即在读笔记上删除)
  • 会话/碎片删除逻辑未动
  • 删除确认文案:删除后不可恢复(版本记录级联删除)

验证

  • tsc --noEmit 零错误;vitest 92 全绿(现有用例未覆盖该交互,行为对齐既有会话面板模式)