Commit Graph
2 Commits
Author SHA1 Message Date
Enzo MartellucciandClaude Sonnet 5 ccb14a09b0 fix(dashboard-v2): flatten EchartsChrome, its nested groups rendered empty
chrome.title.text (three levels deep: EchartsControls -> chrome -> title ->
text) rendered as a bare "Chrome" header with nothing inside it — verified
live and reproduced with a probe schema. JsonForms' generated control panel
only expands one level of nested-object properties (the same depth
DataBinding/Customization already rely on); a second level of nesting
produces an empty group.

Flattens EchartsChrome to direct scalar fields (titleText, legendShow,
legendPosition, tooltipTrigger, xAxisName/Rotate/Format, yAxisName/Rotate/
Format) at the same one-level depth as the working fields, and updates the
frontend merge module, widgetLabel's title precedence, and all tests to
match. Adds a regression test asserting the flat shape actually renders its
fields in the panel, not just that the schema declares them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 15:53:02 +02:00
Enzo MartellucciandClaude Sonnet 5 95b1876d77 feat(dashboard-v2): add structured title/legend/tooltip/axis controls for echarts
Extends the echarts widget's structured layer with a second, independent
"chrome" group — title text, legend show/position, tooltip trigger, and
axis name/rotation/label-format — alongside the existing chartType/customize
series layer. Each leaf is optional and applies (or not) on its own,
regardless of chartType: a leaf left at its default never touches
echartsOptions, and a leaf that is set merges only its own managed keys onto
the matching echartsOptions section, so unmanaged sibling properties (e.g. a
hand-authored legend.orient) survive.

widgetLabel's echarts title resolution now prefers chrome.title.text over
the raw echartsOptions title, matching the same merge precedence, so the
widget's header name reflects whichever one actually wins in the rendered
option.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 15:43:40 +02:00