Menghuan1918
11c2a16986
feat(tasks): 空闲与已完成分成两个聚合行;待命卡片补上自己的折叠按钮
用户两条反馈:
1. 空闲和已完成分开折叠合集
2. 空闲的无法折叠
第 2 条是纯疏漏:chevron 的出现条件写死在 `settled = done | error` 上,
「待命」的卡因此从来不画折叠按钮(跟折叠规则无关,规则早就允许手动收)。
现在 chevron 按「不在执行」(done | error | idle)出现,而 `settled` 仍只
表示完成/出错 —— 它管的是卡片该不该变淡,待命不是完成的工作。
第 1 条把上一轮那个「混合聚合」拆开:
- 一个父节点现在最多两行 —— `fold:<parent>`(已完成/出错)与
`fold:<parent>:idle`(待命成员);
- 各自的徽标说实话:完成行仍是「✓ N 已完成」,待命行是「N 个待命」;
完成行的条会额外报 `出错 N`(全是失败时只剩这一项),否则失败会藏在 ✓ 里;
- 待命行的条只写 `N 待命`(同组同状态,不重复计数);
- 阈值只作用于**自动**规则(≥3 待命成员才随页面级折叠一起收),手动 chevron
永远有效,两行互不牵连 —— 想扫掉待命的成员,不必连已完成的一起带走。
新增 tasksFoldIdleGroup ×20 词典;删掉上一轮的 hasIdle 与 foldBadgeCount
(分组后它们没有意义)。
测试:新增/改写 7 例 —— 三个待命成员收进 idle 行、两个保持可见、运行中成员
达标也不收、混合场景两行各归各的、手动折叠单个待命成员落进 idle 行、
待命卡确实带 chevron 且点后只剩聚合、聚合徽标说「N 个待命」。
pnpm test 1286 passed / 9 skipped,typecheck / lint 通过。
(cherry picked from commit 0c9c8abca85e8aeb54bb2e9fcaaeed0486a56c28)
2026-09-27 22:19:05 +08:00
..
2026-09-22 17:09:08 +08:00
2026-08-18 20:29:14 +08:00
2026-09-03 20:29:50 +08:00
2026-08-27 21:44:04 +08:00
2026-08-15 00:28:59 +08:00
2026-09-09 11:15:30 +08:00
2026-08-21 23:49:13 +08:00
2026-08-12 18:27:28 +08:00
2026-09-22 17:09:08 +08:00
2026-09-27 22:18:14 +08:00
2026-09-21 20:35:11 +08:00
2026-09-09 23:09:48 +08:00
2026-09-22 17:09:08 +08:00
2026-09-04 14:13:34 +08:00
2026-09-27 22:18:19 +08:00
2026-09-21 20:35:11 +08:00
2026-09-21 20:35:11 +08:00
2026-08-29 15:31:13 +08:00
2026-08-21 01:28:17 +08:00
2026-09-03 12:04:35 +08:00
2026-09-07 23:51:10 +08:00
2026-09-01 23:05:26 +08:00
2026-09-07 23:51:06 +08:00
2026-09-03 17:32:04 +08:00
2026-09-09 15:18:06 +08:00
2026-08-11 11:16:36 +08:00
2026-09-09 15:18:06 +08:00
2026-09-11 15:28:49 +08:00
2026-09-03 12:04:35 +08:00
2026-09-04 20:28:35 +08:00
2026-09-02 10:55:03 +08:00
2026-09-04 22:08:02 +08:00
2026-09-03 12:04:35 +08:00
2026-08-18 18:05:01 +08:00
2026-09-27 22:18:57 +08:00
2026-08-22 22:50:13 +08:00
2026-09-04 22:08:02 +08:00
2026-08-23 02:50:37 +08:00
2026-08-16 23:35:57 +08:00
2026-08-16 23:35:57 +08:00
2026-09-22 17:09:08 +08:00
2026-08-29 15:31:08 +08:00
2026-09-03 12:04:35 +08:00
2026-09-03 10:42:56 +08:00
2026-09-03 10:42:56 +08:00
2026-08-16 23:35:57 +08:00
2026-08-12 01:16:20 +08:00
2026-09-11 12:02:41 +08:00
2026-09-01 16:01:34 +08:00
2026-09-09 15:18:06 +08:00
2026-09-21 20:35:11 +08:00
2026-09-22 17:09:08 +08:00
2026-09-27 22:18:35 +08:00
2026-09-27 22:18:19 +08:00
2026-08-13 10:26:57 +08:00
2026-09-02 23:15:19 +08:00
2026-09-23 22:24:56 +08:00
2026-08-24 12:05:14 +08:00
2026-08-23 22:02:47 +08:00
2026-09-09 15:18:06 +08:00
2026-09-23 22:24:56 +08:00
2026-09-03 12:04:35 +08:00
2026-09-09 15:18:06 +08:00
2026-08-18 01:22:28 +08:00
2026-09-23 22:24:56 +08:00
2026-08-18 01:22:28 +08:00
2026-09-23 22:25:19 +08:00
2026-09-03 19:59:00 +08:00
2026-09-03 10:32:34 +08:00
2026-09-02 10:27:43 +08:00
2026-09-03 12:04:35 +08:00
2026-08-22 23:19:17 +08:00
2026-09-21 20:35:11 +08:00
2026-09-03 20:00:08 +08:00
2026-09-21 20:18:16 +08:00
2026-08-16 23:35:57 +08:00
2026-09-03 19:59:00 +08:00
2026-09-23 20:46:11 +08:00
2026-09-21 20:35:11 +08:00
2026-09-27 22:18:57 +08:00
2026-09-23 22:36:05 +08:00
2026-09-27 22:18:35 +08:00
2026-09-27 22:18:35 +08:00
2026-09-06 23:46:46 +08:00
2026-09-03 10:00:13 +08:00
2026-09-09 23:09:48 +08:00
2026-09-21 20:35:11 +08:00
2026-08-13 01:39:59 +08:00
2026-09-03 12:04:35 +08:00
2026-09-21 20:35:11 +08:00
2026-09-02 23:20:17 +08:00
2026-08-16 16:24:28 +08:00
2026-09-09 11:15:30 +08:00
2026-09-03 19:59:00 +08:00
2026-09-21 20:35:11 +08:00
2026-09-27 22:18:57 +08:00
2026-09-27 22:18:57 +08:00
2026-09-22 17:09:08 +08:00
2026-09-09 15:18:06 +08:00
2026-09-22 17:09:08 +08:00
2026-09-22 17:09:08 +08:00
2026-09-22 17:09:08 +08:00
2026-09-22 17:09:08 +08:00
2026-09-22 17:09:08 +08:00
2026-09-22 17:35:29 +08:00
2026-09-21 20:35:11 +08:00
2026-09-22 17:09:08 +08:00
2026-09-27 22:19:05 +08:00
2026-09-27 22:18:35 +08:00
2026-09-27 22:18:35 +08:00
2026-09-27 22:18:35 +08:00
2026-09-21 20:35:11 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 15:18:06 +08:00
2026-09-21 20:35:11 +08:00
2026-09-27 22:18:35 +08:00
2026-09-27 22:19:05 +08:00
2026-09-27 22:19:05 +08:00
2026-09-27 22:19:05 +08:00
2026-09-27 22:19:05 +08:00
2026-09-03 12:04:24 +08:00
2026-09-27 22:18:57 +08:00
2026-08-21 01:28:17 +08:00
2026-09-09 11:15:30 +08:00
2026-08-20 18:28:57 +08:00
2026-08-21 01:28:17 +08:00
2026-09-27 22:18:14 +08:00
2026-09-27 22:18:14 +08:00