Menghuan1918
e39ea92ade
feat(files): tree rename (inline) + delete (confirmed) + submenu visual tether
资源管理器补全:文件树右键菜单新增「重命名」(行内编辑:预填+全选、
Enter/失焦提交、Esc 取消、IME 组合键守卫)与「删除」(Modal 确认,文件/
目录文案区分,永久删除——宿主无回收站)。根行(工作区根)不提供两项,
服务端 fs.rename/fs.remove 双保险拒绝;目标已存在 409;link-aware——
symlink 行只改/删链接本身(lstat 判定),fence 校验对解析后目标进行。
落定收尾:pruneTree 清旧前缀缓存 + 收起 stale expanded + 单层重载父目录;
tab 调解走 service(rename→updateTab 改路径改标题、delete→closeTab 关
受影响 tab,覆盖两侧分栏/底栏/浮动窗口,经 tree-mutations.ts)。
二级菜单视觉关系(layout.css,仍限 data-dsh-sidebar-submenu 作用域):
父行在子菜单打开期间保持高亮(宿主已渲染 aria-expanded="true"),
卡片间距 10px→4px(悬停走廊同步收窄),翻转规则一并 4px。
i18n 新增 7 key × 20 语言文件(locales.spec 的 key-set-parity 门禁)。
测试:fs-operations 追加 12 例(rename/remove 全失败面);新增
file-tree-rename-delete.spec.tsx 8 例(菜单可见性/重命名流/删除流/错误条);
menu-flip.spec.tsx 契约扩展覆盖 tether 规则。设计文档
docs/plans/2026-09-04-file-tree-rename-delete-design.md。
2026-09-04 22:08:02 +08:00
..
2026-08-10 16:46:01 +08:00
2026-08-16 19:14:57 +08:00
2026-08-10 16:46:01 +08:00
2026-08-10 16:46:01 +08:00
2026-08-21 21:39:59 +08:00
2026-08-16 23:35:57 +08:00
2026-08-20 02:09:36 +08:00
2026-08-13 10:26:57 +08:00
2026-08-18 01:22:28 +08:00
2026-09-02 23:26:04 +08:00
2026-08-12 23:04:30 +08:00
2026-08-14 23:04:25 +08:00
2026-08-17 00:06:20 +08:00
2026-08-18 10:50:30 +08:00
2026-08-14 14:53:03 +08:00
2026-08-22 19:10:02 +08:00
2026-08-15 15:05:06 +08:00
2026-08-18 23:23:17 +08:00
2026-08-18 01:22:28 +08:00
2026-08-19 04:04:44 +08:00
2026-09-02 23:37:40 +08:00
2026-08-21 01:28:17 +08:00
2026-08-30 22:25:45 +08:00
2026-09-04 20:28:35 +08:00
2026-08-24 01:19:43 +08:00
2026-08-23 22:02:47 +08:00
2026-08-24 00:59:27 +08:00
2026-09-03 09:56:31 +08:00
2026-08-26 21:40:32 +08:00
2026-08-26 18:21:43 +08:00
2026-08-29 15:49:19 +08:00
2026-09-02 23:13:57 +08:00
2026-09-01 16:07:33 +08:00
2026-09-03 21:21:22 +08:00
2026-09-04 22:08:02 +08:00