修正 SQL 导出取消能力设计

This commit is contained in:
张家训
2026-07-31 19:06:05 +08:00
parent 6bdafc3b9c
commit 3ca7e24100
@@ -14,7 +14,7 @@
- 新增统一通知入口,首批迁移 MyBatis 生成器和 Git 同步。
- 统一 API 文档、Scanner、MyBatis SQL 导出的历史文件操作。
- 修正 SQL 导出状态栏的无效停止按钮。
- 核对任务取消能力,只为具有真实协作式取消协议的任务显示停止按钮。
- 加强 `ExportHistoryPane`、`EmptyStatePane`、`OperationStatusPane` 的键盘、焦点和屏幕阅读器语义。
- 为 `ScanProgress`、`SqlExportProgress` 增加输入约束和稳定的展示转换。
- 增加单元测试、组件测试和架构约束测试。
@@ -92,7 +92,7 @@ API 文档、Scanner、MyBatis SQL 导出删除各自的 `openFile`、`openWithN
DTO 只表达领域进度。窗口通过小型纯函数把 DTO 转换为 `OperationSnapshot` 所需的 message 和 fraction,转换函数独立测试。
Scanner 已明确不可取消,保持不显示停止按钮。MyBatis SQL 导出的用例没有中断协议,本轮把 `OperationStatusPane` 的 `cancellable` 显式设为 `false`。不增加表面上可点击、实际上不能停止数据库或文件操作的按钮。
Scanner 没有中断协议,保持不显示停止按钮。MyBatis SQL 导出已经通过 `ExportCallback.isCancelled()` 在项目边界读取 `OperationContext.isCancellationRequested()`,属于真实的协作式取消,因此保留停止按钮。测试必须证明取消请求能传递到回调,且界面只在运行阶段显示停止按钮。
### 4. 公共组件无障碍语义