rill icon indicating copy to clipboard operation
rill copied to clipboard

Runtime: Dashboard components with generic renderers and optional inline definition

Open begelundmuller opened this issue 1 year ago • 0 comments

Changes:

  • Changed the components: property to items: in the dashboard YAML
    • The idea is that item = component + grid info
  • Renamed the Chart resource to Component
  • Supports inline component definition from a dashboard:
    • if items[*].component is a string, it is treated as a reference to an externally defined component
    • if items[*].component is a map, it is treated as an inline component definition
  • Added generic renderer and renderer_properties fields to Component
  • Defines three renderers with the following formats:
    • "renderer": "vega_lite", "rendererProperties": {"spec": "..."}
    • "renderer": "markdown", "rendererProperties": {"contents": "..."}
    • "renderer": "image", "rendererProperties": {"url": "..."}
  • Inline component definitions are emitted as separate Component resources called [dashboard name]--component[idx]
  • Changes the /charts/{name}/data API to /components/{name}/data
  • Changes the GenerateChartSpec API to GenerateRenderer. It now returns two values: renderer and renderer_properties.

See this design doc for the new component syntax.

This PR currently breaks the frontend since these are breaking changes.

begelundmuller avatar Apr 26 '24 16:04 begelundmuller