Skip to content

objectui:DatasetWidget 把 chartConfig 中「chart 块实际兑现且不与 dataset 推导冲突」的呈现键真正转发(#5175 的 enforce 半边,PM 裁定) #7016

Description

@yinlianghui

Part of #5175(enforce 半边;收窄半边与台账 verdict 形状仍在 #5175 等维护者)。

PM 裁定(objectui 分片,session session_01GTRjn8xBqp75dk7kFupVRt,2026-08-09,restore-invariant 类,免升级,否决窗开放)

DashboardWidgetSchema.chartConfig 声明完整 ChartConfigSchema,dashboard 元数据路径只落地 showLegend 一个键(#5175 实测,DatasetWidget.tsx :595-605 注释自陈)。react tier 上同一批键作为扁平 prop 发布且到达渲染器(ADR-0081/0082),说明底层 chart 块本身兑现这些键 —— dashboard 面惰性纯粹是 DatasetWidget 构造 component schema 时不转发。恢复 declared = enforced,与 #6331(谓词首次生效)同形,先例充分。

转发判据(机械,两条都满足才转发)

  1. 底层 chart 块实际兑现该键(逐键实证:react tier 的 ObjectChart dataProps 已列的键是强先验,但要在 dashboard 路径端到端验证到视觉效果,不许「转发到一个忽略它的 prop」—— 那是把 declared ≠ enforced 下沉一层);
  2. 不与 dataset 推导冲突(xAxis/yAxis/series 由 dataset selection 推导,⛔ 一律不转发,归收窄半边)。

预期入围:title/subtitle/description/colors/height/showDataLabels(与既有 showLegend 并列)。type 不碰(dataset 路径已有 chartType 通道)。annotations/interaction/aria 由 dev 按判据 1 逐键实测定夺:兑现则转发并钉住,不兑现则记入报告的「收窄候选清单」交回 #5175

验收线

落点:packages/plugin-dashboard/src/DatasetWidget.tsx(:595-605 取键、:632 构造 schema)+ 测试;⛔ 不碰 packages/spec(收窄半边归 spec 车道)、不碰 DashboardRenderer 内联路径(0 处 chartConfig 是另一个面,不在本单)。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions