The Chart artifact's executor seat — produces the complete {@see Chart} DTO (engine + option) for a dashboard render pass.
Mirrors {@see TileProviderInterface}: the Chart artifact is pure metadata POPO; this capability is the executor that computes the engine-tagged option envelope from bound slot values and the request context.
Concrete providers receive their dependencies (repositories, services)
via constructor DI — same convention as {@see TileProviderInterface}
and {@see \LaravelUi5\Core\Ui5\Capabilities\DataProviderInterface}. The
Chart's emitter calls
$chart->getChartProvider()->getChart($bound, $context) and returns
the resulting DTO verbatim.
Unlike a Card's provide() — invoked at the card endpoint, where the
{@see \LaravelUi5\Core\Runtime\ExecutableInvoker} injects the concrete
context by signature — a Chart is resolved inline during dashboard
composition, so the context is passed explicitly. The argument is
typed to the {@see Ui5ContextInterface} contract; concrete instances
(e.g. the SDK's SdkContext) are narrowed via instanceof when the
provider needs identity-bearing state.
Backend-stuffed routing intent. ECharts respects extra keys on
data objects. A provider may pre-stuff {value, action: "navTo", target: "..."} on each data point; the press event forwards data
verbatim. Same blessed vocabulary as Dashboard card actions
(navTo / open / showReport / app-specific). Core stays
stateless — routing intent lives at the composition site, not in
Core code.
| Methods | ||
|---|---|---|
public
|
getChart(array<string, mixed> $boundParams, Ui5ContextInterface $context): Chart
|
# |