Skip to content

DatasetWidget renders the English '(None)' null-bucket floor in a zh app — one argument short of localized #4500

Description

@yinlianghui

Follow-up gap from #4466 (PR #4498), scope-bounded there because plugin-dashboard's source was another card's in-flight surface at the time (#4432 — now landed, surface free).

What

buildChartSeries (core) buckets null-keyed groups under options.nullCategoryLabel, defaulting to the English constant NULL_CATEGORY_LABEL = '(None)' when no label is passed. ObjectChart passes tt('chart.nullCategory', '(None)'), so standalone charts localize. DatasetWidget (plugin-dashboard) calls buildChartSeries with no options, so a dashboard widget shows the raw English (None) bucket even in a zh app.

The fix (measured in PR #4498's report)

One argument at DatasetWidget's buildChartSeries call site:

{ nullCategoryLabel: tt('chart.nullCategory', '(None)') }

tt = useSafeTranslate() is already in the component (~line 698), and the chart.nullCategory key already exists in all ten packs (added by PR #4498). The drill-through side needs the same label passed to findChartSeriesRow so the pair stays in agreement — check the call site for the symmetric argument.

Red-first: zh-locale DatasetWidget over a null-keyed group → pre-fix bar labeled (None), post-fix (未指定); drill click on the bucket bar still resolves (the #4498 dead-click concern, now on the localized label).

Related: #4497 (the pivot branch's own null-drop, separate mechanism), #4466 (PR #4498).

Filed unassigned for triage — one-line class, natural ride-along for whoever next touches DatasetWidget, or a quick standalone.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions