Skip to content

Commit 95efac0

Browse files
baozhoutaoclaude
andcommitted
fix(app-showcase): drop wrong-context userFilters from showcase_task.tabular (#2563)
objectui ADR-0053 reserves userFilters for page lists ("filters" mode); on an object list view ("views" mode) the console suppresses them by design — a showcase view demoing a field the console is designed to ignore is actively misleading (it's how dogfood finding P0-30 got filed). Point the comment at the ADR split instead: named views on the object, userFilters in the task-workbench/task-triage/active-projects page examples. Also reclassify P0-30 in the test report (by-design suppression; the silent drop is fixed by objectui#2220) and mark P0-29 fixed upstream (objectui#2218). Fixes #2563 Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 24b62ee commit 95efac0

2 files changed

Lines changed: 10 additions & 19 deletions

File tree

examples/app-showcase/docs/test/console-list-form-capability-report-2026-07.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ lookupFilters)、命名视图与视图路由、userFilters、筛选/分组/排
7070

7171
| # | 严重度 | 问题 | 证据 |
7272
| --- | --- | --- | --- |
73-
| 29 | **P0** | **导航项 viewName 生成短名路由,视图解析静默失败回退默认视图**:Analytics→Task List 生成 `/view/tabular`,页面面包屑显示 "Tabular"、侧边栏高亮,但渲染的列/筛选/选中 tab 全是默认视图的;页内视图切换用全限定名 `/view/showcase_task.tabular` 则一切正常 —— 同一视图两个入口两种结果,且失败无任何提示 | 截图 35 vs 36 |
74-
| 30 | **P0** | **视图 `userFilters` 配置完全不渲染**:tabular 视图 meta 定义了 dropdown 快捷筛选(status / priority(showCount) / done(boolean) / project),页面上既无独立下拉,也不出现在"筛选"面板 | 截图 36 |
73+
| 29 | **P0** | **导航项 viewName 生成短名路由,视图解析静默失败回退默认视图**:Analytics→Task List 生成 `/view/tabular`,页面面包屑显示 "Tabular"、侧边栏高亮,但渲染的列/筛选/选中 tab 全是默认视图的;页内视图切换用全限定名 `/view/showcase_task.tabular` 则一切正常 —— 同一视图两个入口两种结果,且失败无任何提示**→ 已修复**:objectui#2217 / PR #2218(解析端双向解析短名↔全限定名,失配时 console.warn 列出已知视图) | 截图 35 vs 36 |
74+
| 30 | ~~P0~~ 定性更正 | **视图 `userFilters` 不渲染 —— 实为按设计抑制,非渲染 bug**:objectui ADR-0053 规定对象列表视图("views" 模式)唯一导航控件是视图切换器,`userFilters` 只属于页面列表(InterfaceListPage "filters" 模式,showcase 的 task-workbench 等 page 示例即正确用法)。真正缺陷有二:① 抑制**完全静默**(ADR-0053 phase-4 校验护栏未落地)→ objectui#2219 / PR #2220 已加一次性 console.warn;② showcase 自身 tabular 视图携带 wrong-context 的 `userFilters` 块(framework#2563,本次移除) | 截图 36;扫码 ADR-0053 |
7575
| 25 | P1 | 筛选/排序面板新增行**默认字段为系统字段 Organization**(英文);字段列表暴露 Sync Status / Sync Error 等内部字段,且系统字段全英文 | 截图 26 |
7676
| 26 | P2 | 分组点"添加分组字段"立即按默认字段"标题"分组(每组 1 条,无意义);组头显示英文选项标签(Done/In Progress) | 截图 27 |
7777
| 31 | P1 | **列表页脚记录数显示的是当前页行数而非总数**:120 条数据、每页 100 时页脚显示 "100 条记录",翻到第 2 页变 "20 条记录" —— 用户看不到真实总量(分页条本身的"第 X 页,共 Y 页"是对的) | 截图 37、38 |
@@ -127,7 +127,8 @@ lookupFilters)、命名视图与视图路由、userFilters、筛选/分组/排
127127

128128
1. **P0 数据/功能级**:#12 批量多选写坏数据、#10 行内编辑不可用、#8/#19/#20 form
129129
action 与 forms 路由全链、#27/#35 flow action、#16 visibleOn、#21 级联 lookup、
130-
#29 视图路由静默回退、#30 userFilters
130+
#29 视图路由静默回退(已修:objectui#2218)、#30 userFilters(定性更正:按设计
131+
抑制,静默问题已修 objectui#2220,showcase 元数据已清理 framework#2563)
131132
2. **P1 误导/受损**:#31 页脚计数、#25 筛选默认系统字段、#33 select 默认值、#34 API
132133
静默忽略参数、#9 DB 元数据缓存、#13/#15 批量参数控件、#22 只读旁路、#23 action 位置
133134
3. **P2 国际化一致性**:集中治理 console 内置 UI 文案与元数据标签的 zh-CN 覆盖

examples/app-showcase/src/views/task.view.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -97,22 +97,12 @@ export const TaskViews = defineView({
9797
{ field: 'estimate_hours' },
9898
],
9999

100-
// ADR-0047 — end-user quick-filter dropdowns (Airtable "User
101-
// filters", Elements: dropdowns). Options/labels are inferred from
102-
// the field definitions; `priority` shows per-option record counts.
103-
// Counterpart to the default view's `tabs` — one element style per
104-
// view, never both.
105-
userFilters: {
106-
element: 'dropdown',
107-
fields: [
108-
{ field: 'status' },
109-
{ field: 'priority', showCount: true },
110-
{ field: 'done', type: 'boolean' },
111-
// Lookup field — renders as a record-picker dropdown (the
112-
// CRM-parity case: filter by a referenced record, e.g. owner).
113-
{ field: 'project' },
114-
],
115-
},
100+
// ADR-0053 — NO `userFilters` here: on an object list view ("views"
101+
// mode) the console suppresses them by design (the view switcher is
102+
// the only nav control; objectui warns since #2220). End-user filter
103+
// elements live in interface pages ("filters" mode) — see
104+
// task-workbench / task-triage / active-projects *.page.ts. Status
105+
// presets on this object are the named views above instead.
116106
},
117107

118108
// 1 ── Grid ─────────────────────────────────────────────────────────

0 commit comments

Comments
 (0)