Table widget reference

Table label templates: kolomspecifieke gids

Gebruik labelTemplate per kolom om celoutput te transformeren, stylen en combineren. Deze pagina beschrijft table-specifiek gedrag; de volledige engine-functielijst staat op de centrale template reference.

1. Setup in de table editor

Wat je invult

  • labelFields[] voor extra veldcontext.
  • labelTemplateJson als JSON object met niet-lege ops[].
  • Optioneel fallback in template voor lege waarden.

Validatie bij save

  • JSON moet parsebaar zijn en een object zijn (geen array).
  • ops is verplicht en mag niet leeg zijn.
  • Bij fout stopt save met Invalid table label template.

Runtime gedrag

  • Template draait per cel op de rowcontext.
  • {"columnId":"..."} leest raw kolomwaarden van andere kolommen.
  • Bij lege output wordt fallback toegepast als aanwezig.

Exportgedrag

  • CSV/XLSX exports gebruiken de template-output voor kolommen met templates.
  • Totals kunnen template-output gebruiken wanneer de kolom een labeltemplate heeft.
  • Sanitize/HTML-instellingen van de kolom blijven leidend voor rendering.

2. Minimaal templateformaat

{
  "value": { "field": "status" },
  "ops": [
    { "op": "trim" },
    { "op": "upper" }
  ],
  "fallback": "-"
}

3. Table-gerichte voorbeelden

{
  "value": { "field": "name" },
  "ops": [
    { "op": "title" },
    { "op": "cutoff", "length": 24, "ellipsis": true }
  ]
}
{
  "value": { "columnId": "total_amount__2" },
  "ops": [
    { "op": "div", "value": { "columnId": "total_amount__1" } },
    { "op": "round", "digits": 2 },
    { "op": "percent" }
  ]
}
{
  "value": { "field": "status" },
  "ops": [
    {
      "op": "switch",
      "cases": {
        "open": "Open",
        "pending": "In behandeling",
        "closed": "Afgesloten"
      },
      "default": "Onbekend"
    },
    { "op": "class", "value": "status-pill" }
  ]
}