Skip to content

Dashboard-level filters follow-ups: showcase, more examples, docs, spec pairing (#2576 / framework#2501) #2578

Description

@os-zhuang

#2576(dashboard 级过滤器,framework#2501 的 objectui 侧)已合并。本 issue 汇总合并时明确留下的后续任务,可按条目拆分认领。

1. 完善 showcase / 增加示例

  • schema-catalog 目前只有一个 plugin-dashboard/filtered-dashboard 示例;补充更多形态:
    • optionsFrom 动态选项(从对象记录取 distinct 值)的示例;
    • text / number / lookup 过滤器示例;
    • dataset 部件(dataset + runtimeFilter)与 inline 部件混排的示例;
    • targetWidgets 白名单兼容语义的示例;
    • 自定义日期区间(allowCustomRange)+ 各日期预设的演示。
  • 在 console/app-shell 的演示环境(有真实 dataSource)里加一个可交互的 filtered dashboard showcase,验证跨对象图表联动的真实取数路径。
  • 示例数据:为 showcase 准备两个不同对象(如 invoices / accounts)的种子数据,让"各图表绑定各自字段"肉眼可见。

2. 更新文档

  • content/docs 的 dashboard 指南页(guide 侧)补一节完整教程:从零配置 dateRange + globalFilters + filterBindings,含截图;
  • 补充 page.<name> 表达式在 widget 内引用过滤值的用法示例;
  • 文档化已知限制并给出规避方式:
    • 嵌入带自有 variables 的 Page 时,dashboard 内层 PageVariablesProvider 会遮蔽外层(合并上下文为候选方案);
    • 静态数据部件(inline data)不受过滤;
    • 缺省绑定命中对象上不存在的字段时部件会空/报错 → 用 filterBindings: false 退出。
  • i18n:DashboardFilterBar 文案目前走 useSafeTranslate 英文兜底,补 dashboard.filters.* 的 en / zh-CN 词条。

3. Spec 配对(framework 仓)

  • @objectstack/spec 落地 GlobalFilterSchema.nameDashboardWidgetSchema.filterBindings(objectui 本地类型已按 dataset/categoryGranularity 先例以 "Pending alignment" JSDoc 标注);落地后移除标注。
  • spec 落地后确认 metadata-admin 检查器(dashboard-schema.ts,直接从 spec 派生)自动出现新属性。

4. Studio / 设计器

  • Studio 部件检查器增加 filterBindings 可视化编辑(每个 dashboard 过滤器 → 本部件字段的下拉映射 + 退出开关);当前仅可通过 JSON 元数据配置。

5. 增强项(低优先)

  • optionsFrom 目前客户端取 top 200 去重;改为服务端 distinct 查询;
  • 缺省绑定做 metadata 感知:字段在对象上不存在时自动跳过并告警,而不是发出无效查询;
  • 嵌套 Page variables 的上下文合并(解除遮蔽限制)。

Refs: #2576, objectstack-ai/framework#2501

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions