feat: implement board tab with dialogs, virtualized card lists and refresh-after-write

- board: columns in id order, per-column sort via config, column width presets (240/320/480) and custom 160-720
- column header new-card and edit/delete menu; card menu delete and move-to-column
- card editor as one unit of work with dirty check and discard confirmation; nested tag picker writes new tags immediately
- schema constraint violations mapped to typed exceptions and shown inside the modal
- dialog service with owner stack so nested modals center on their parent and get FlowDirection
- repository: filtered GetCards, CountCards; view-model tests
This commit is contained in:
doyaGu committed 2026-10-03 03:33:25 -04:00
1 parent 84d08c6768
commit e3f58ce150
41 files changed
+3004 -26

No files matched your search

+3 -3
View File
@@ -176,7 +176,7 @@ card_tags: (card_id, tag_id) 复合主键,双向 ON DELETE CASCADE
**看板选项卡**:
- 搜索栏(点击搜索按钮才执行,无实时搜索,带 × 一键清空);右侧依次:新增列按钮、列宽调整按钮、排序 combobox
- 列宽:模态选择预设窄/标准/宽或手动像素值(范围 160–720,默认"标准"= 320),全局生效,持久化到 app.json
- 列宽:模态选择预设窄/标准/宽或手动像素值(窄 = 240 / 标准 = 320 / 宽 = 480;手动范围 160–720,默认"标准"),全局生效,持久化到 app.json
- 看板区域(与 GitHub Projects 基本一致):列左→右横排,卡片上→下展开;**无拖拽**
- 列内卡片列表必须使用 UI 虚拟化(如 `VirtualizingStackPanel`),满足 10000 张卡片量级的流畅显示
- 列右上角:+新建卡片、⋯菜单(编辑、删除);"编辑" = 标题 + description 编辑模态
@@ -372,8 +372,8 @@ phrase := '"' 任意文本 '"' (内部支持转义:\" → 字面引号,
| M2 仓库层 | 已完成 | CRUD/移动/级联/标签指派、单连接生命周期 | 单测 |
| M3 搜索与导出 | 已完成 | Pidgin 解析器(严格校验,非法输入返回英文错误消息)、查询→SQL 编译、Markdown 导出(直接读 ResX,en / zh-Hans 输出均有测试) | 单测(成功与错误全分支) |
| M4 GUI 框架 | 已完成 | 主题/图标接入、主窗口布局(顶部区 + TabControl + 全窗口错误页体系)、设置/关于模态;全 UI 文本资源化(硬规则生效)、语言设置项、RTL/FlowDirection 检测;亮/暗/跟随系统主题基础设施与设置项、ThemeDictionaries 颜色硬规则 | 人工 |
| **M4R v1.9 回补** | 待办 | 见下方清单 | 本地 Windows build + test 通过;新增页面人工 |
| M5 看板界面 | 待办 | 看板 tab 全部交互与模态(含约束冲突模态内提示、卡片列表虚拟化、嵌套模态新建标签立即写库、写库后按最近成功表达式刷新) | 人工 |
| **M4R v1.9 回补** | 已完成 | 见下方清单 | 本地 Windows build + test 通过;新增页面人工 |
| M5 看板界面 | 已完成(待人工验收) | 看板 tab 全部交互与模态(含约束冲突模态内提示、卡片列表虚拟化、嵌套模态新建标签立即写库、写库后按最近成功表达式刷新) | 人工 |
| M6 标签与搜索集成 | 待办 | 标签 tab、搜索执行与空列保留、导出接线(含文件名/时间戳 i18n 模式) | 人工 |
| M7 发布与文档 | 待办 | 单一 workflow(4 RID 矩阵 build→test→artifact,osx-x64 用 Intel 运行器)文件就绪(结构自查)、根目录 USAGE.md、README(引用 USAGE.md)、人工验收清单(含语言切换重启生效、导出语言跟随界面、主题三态切换、app.json 多实例脏写四项) | workflow 结构自查通过;实际触发与产物验证视网络条件推迟 |