问题
Airtable 风格的快捷筛选胶囊(userFilters,element: 'dropdown')目前只能用在页面列表(InterfaceListPage,"filters" 模式)。对象的默认列表视图("views" 模式)被护栏禁止携带 userFilters:
packages/spec/src/ui/view.zod.ts — ObjectListViewSchema = ListViewSchema.omit({ userFilters: true }),解析时静默剥离;packages/lint/src/validate-list-view-mode.ts — os validate 预解析阶段整字段报错;- (objectui 侧)
ObjectView.renderListView 运行时强制 userFilters: undefined。
ADR-0047 原始设计其实把 "data 模式自动派生快捷筛选" 写进了意图,phase-4 的一刀切抑制属于过度收敛。用户需要在对象默认列表上直接配置 Status / health 这类下拉胶囊。
方案(ADR-0047 修订)
在对象列表视图上放开 element: 'dropdown'(及历史遗留 toggle),但保留 element: 'tabs' 为页面专属——对象视图的 ViewTabBar(已保存视图切换)已占据 tab 栏角色,tabs 会造成双 tab 栏冲突;需要 tab 预设时用 listViews。
- 新增
ObjectUserFiltersSchema(element 限 dropdown/toggle;去掉 tabs/showAllRecords)。 ObjectListViewSchema 改为 ListViewSchema.omit({ userFilters: true }).extend({ userFilters: ObjectUserFiltersSchema.optional() })。validate-list-view-mode:quickFilters 仍全禁;userFilters 仅在 element: 'tabs' / 携带 tabs 时报错,hint 指向 "用 listViews 或移到页面列表"。- 更新
object-list-view.test.ts、validate-list-view-mode.test.ts、object.zod.ts 注释、ADR-0047 修订说明。 - app-showcase:在
showcase_project 默认列表加 dropdown userFilters 示例。
配套 objectui 改动(放行 app-shell 运行时抑制)见 objectstack-ai/objectui 配套 issue/PR。
问题
Airtable 风格的快捷筛选胶囊(
userFilters,element: 'dropdown')目前只能用在页面列表(InterfaceListPage,"filters" 模式)。对象的默认列表视图("views" 模式)被护栏禁止携带userFilters:packages/spec/src/ui/view.zod.ts—ObjectListViewSchema = ListViewSchema.omit({ userFilters: true }),解析时静默剥离;packages/lint/src/validate-list-view-mode.ts—os validate预解析阶段整字段报错;ObjectView.renderListView运行时强制userFilters: undefined。ADR-0047 原始设计其实把 "data 模式自动派生快捷筛选" 写进了意图,phase-4 的一刀切抑制属于过度收敛。用户需要在对象默认列表上直接配置 Status / health 这类下拉胶囊。
方案(ADR-0047 修订)
在对象列表视图上放开
element: 'dropdown'(及历史遗留toggle),但保留element: 'tabs'为页面专属——对象视图的 ViewTabBar(已保存视图切换)已占据 tab 栏角色,tabs会造成双 tab 栏冲突;需要 tab 预设时用listViews。ObjectUserFiltersSchema(element 限dropdown/toggle;去掉tabs/showAllRecords)。ObjectListViewSchema改为ListViewSchema.omit({ userFilters: true }).extend({ userFilters: ObjectUserFiltersSchema.optional() })。validate-list-view-mode:quickFilters仍全禁;userFilters仅在element: 'tabs'/ 携带tabs时报错,hint 指向 "用listViews或移到页面列表"。object-list-view.test.ts、validate-list-view-mode.test.ts、object.zod.ts注释、ADR-0047 修订说明。showcase_project默认列表加 dropdownuserFilters示例。