You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(lint): chart-axis-not-selected resolves a report chart against its own chart.yAxis (#15789)
The report surface fed `report.values` in as the set `chart-axis-not-selected`
resolves against. At the pinned `@object-ui` revision the embedded report chart
never queries that set: `DatasetReportRenderer.tsx` runs its own axis-pair query
(`useDatasetRows(dataset, [xAxis], [yAxis], …)`) and derives ONE series from it.
So the warning at `chart.yAxis` named a query consequence its own pin refutes,
and a `series[].name` override was measured against the wrong set in both
directions.
`checkReportChart` now carries `ownSelection` — the chart's own `{ chart.yAxis }`
— which the not-selected limb reads; the check at the `chart.yAxis` position is
removed on that surface. `chart-measure-unknown` is untouched everywhere, as are
the list-view and page-component surfaces, where `values` IS the query's measure
set.
Ruled by the maintainer on #15734 (option 1, batch #47).
Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
`chart-axis-not-selected` resolves a report chart against its own `chart.yAxis`, not `report.values` (#15734)
6
+
7
+
**Behaviour change — one false finding removed on the report surface.** A report chart whose `chart.yAxis` names a declared measure that `report.values` does not select no longer raises a `chart-axis-not-selected` warning. Nothing else about the rule moves, and no other surface moves at all.
8
+
9
+
The warning stated a query consequence the renderer refutes. Read at the `@object-ui` revision this repo pins (`.objectui-sha`), `plugin-report/src/DatasetReportRenderer.tsx` does not query `report.values` for the chart at all — it runs the chart's own, narrower query out of the two axis strings:
10
+
11
+
```
12
+
const state = useDatasetRows(
13
+
dataset,
14
+
plan.kind === 'series' && xAxis ? [xAxis] : [],
15
+
wantsQuery && yAxis ? [yAxis] : [],
16
+
```
17
+
18
+
and says so in that file's own words at the `scopeOrder` docblock: *"the embedded chart queries only `chart.xAxis` × `chart.yAxis`"*. So the measure the warning said "the query does not return" is exactly the one the query asks for, and the chart plots it. `report.values` is the selection of the TABLE beneath the chart.
19
+
20
+
Both limbs follow from that one measurement:
21
+
22
+
-**No not-selected check at the report `chart.yAxis`.** That position IS the chart's query, so it cannot fail to select itself. `chart-measure-unknown` there is untouched: an UNDECLARED measure is still no column at all, and still an `error`.
23
+
-**`chart.series[].name` resolves against the singleton `{ chart.yAxis }`.** The entry is a display-name override paired with a DERIVED series, and the chart derives exactly one (`buildChartSeries(…, [xAxis], [yAxis], …)`). An entry naming `chart.yAxis` now lands however the table is selected, and one naming any other declared measure is still reported — including a measure `report.values` does select, which it could not reach before.
24
+
25
+
The list-view and page-component surfaces are unchanged, and carry firing controls that say so: on both, `values` IS the measure set the query asks for (`ObjectView` hands it to the chart; `ObjectChart` queries `{ dimensions: schema.dimensions, measures: schema.values }`), so the existing resolution is the right one there.
26
+
27
+
The per-position tier and consequence wording is untouched — only the SET the report surface resolves against moves.
0 commit comments