Widget reference

Element widget: Python-logica direct op je dashboard

De Element widget is de meest flexibele dashboardwidget in Dashview. Zij voert een gepubliceerd Element uit en verwacht een renderbare widgetconfig terug. Daarmee kun je dynamische widgets bouwen die standaard widgettypes slim combineren met Python-logica.

1. Wanneer kies je voor een Element widget?

Dynamische visualisatie

Gebruik deze widget wanneer het uiteindelijke widgettype of de inhoud pas tijdens runtime bepaald kan worden.

Python-first logica

Geschikt voor complexe berekeningen, custom renderinglogica of output die niet netjes in een gewone chart of tabel past.

Herbruikbaar bouwblok

Wanneer hetzelfde Element ook in een automation of datasource-transform terugkomt, houd je logica gecentraliseerd.

Niet voor

Gebruik geen Element widget voor simpele KPI’s, tabellen of charts die met standaardopties al onderhoudbaar zijn.

2. Runtime-instellingen

Optie Verplicht Beschrijving
elementIdJaHet Element dat de widget aanstuurt. Zonder deze waarde kan de widget niet draaien.
elementVersionNeeLaat leeg voor de laatste gepubliceerde versie of pin bewust een specifieke release.
entrypointNeeOverride op de standaard entrypoint als je Element meerdere uitvoerpaden heeft.
timeoutSecondsNeeBeschermt het dashboard tegen te lange runs; houd dit laag genoeg voor een prettige UX.
runnerTierNeeKies alleen een zwaardere tier als het Element dat echt nodig heeft.
tableNameNeeNaam voor inline row-output wanneer het Element naast de widgetconfig ook rijen terugstuurt.

3. Filterdoorgifte en params

Een Element widget kan de actieve dashboardcontext meekrijgen. Dat maakt haar krachtig, maar ook gevoelig voor verkeerde aannames. Test daarom altijd met echte paginafilters.

{
  "from": "2026-03-01",
  "to": "2026-03-31",
  "segment": "enterprise",
  "showWarnings": true
}

4. Resultaatcontract

Wat het Element terug moet geven

  • Een renderbare widgetconfig, meestal onder result.widget.
  • Optioneel extra rows of feed-data als de uiteindelijke widget die zelf nodig heeft.
  • Een stabiele, begrijpelijke outputvorm zodat het dashboard voorspelbaar blijft bij volgende releases.

Wat je beter vermijdt

  • Een tweede Element widget als resultaat. Dat maakt de runtimeketen onnodig moeilijk te begrijpen.
  • Te zware of te trage renderlogica voor elke dashboardrefresh.
  • Verborgen afhankelijkheden van secrets, runtime vars of filters zonder documentatie.

5. Aanbevolen werkwijze

  1. Bouw en test het Element eerst los in de Elements-sectie.
  2. Publiceer daarna pas een stabiele versie.
  3. Koppel die gepubliceerde versie in de widget-editor.
  4. Controleer met echte dashboardfilters en tenantrechten of de widget exact de verwachte output geeft.
  5. Gebruik een pinned versie voor kritische dashboards wanneer voorspelbaarheid belangrijker is dan automatisch meeliften op de laatste publish.

6. Veelvoorkomende problemen

Probleem Wat meestal helpt
Widget slaat niet opControleer of elementId gevuld is en extra params geldig JSON-object zijn.
Runtimefout bij openen dashboardControleer publish-status, runtime vars/secrets en of het Element nog een geldige widgetconfig retourneert.
Output verandert onverwachtPin een specifieke elementVersion in plaats van altijd de nieuwste release te gebruiken.
Filters lijken niet mee te gaanControleer filterdoorgifte, filterbron en de sleutel waaronder filters in params belanden.

7. Editoruitleg

Element widget editor
  • Kies eerst het juiste Element en beslis daarna of je een vaste versie wilt pinnen.
  • Timeout, filterdoorgifte en JSON-params bepalen het runtimegedrag van de widget.
  • Test altijd de uiteindelijke widgetoutput op de pagina, niet alleen het losse Element.
De widget is pas af wanneer zowel de editorconfig als de teruggegeven runtimeweergave klopt.