Templates are shared Highcharts configurations that components inherit. Instead of repeating the same axis styling, color palette, and plot options on every chart, you define it once in a template and reference it by name. The template’s config is deep-merged with the component’s own highchartsData — so you can always override specific settings per component.

📦 Template Inventory (HRM Production)

Bar Charts

Template Usage Description
bar_chart_with_delta_academics 696 Horizontal bar + delta scatter
bar_chart_with_delta_skilledworkers 692  
bar_chart_with_delta_graduates 536  
bar_chart_with_delta_pupils 475  
bar_chart_academics 365 Horizontal bar without delta
bar_chart_skilledworkers 363  
bar_chart_graduates 295  
bar_chart_pupils 244  

Score Components

Template Usage Description
score_comp_with_delta_academics 521 KPI score with delta indicator
score_comp_with_delta_skilledworkers 521  
score_comp_with_delta_graduates 435  
score_comp_with_delta_pupils 369  

Other Chart Types

Template Usage Description
column_chart_with_delta_* ~50 each Vertical column + delta
pie_chart_* ~30 each Donut/pie with dual rings
stacked_bar_chart_* ~20 each Stacked horizontal bars
line_chart_* ~15 each Time series lines
solidgauge_chart_* ~5 each Radial gauge
basecheck_* ~50 each Validation/QA components
component_header_* ~30 each Section headers

🏷️ Suffix Convention

All templates are suffixed with the target group identifier:

Suffix Target Group
_academics Akademiker_innen
_skilledworkers Fachkräfte
_graduates Studierende
_pupils Schüler_innen

This allows identical chart structures with target-group-specific Cube models, colors, and display settings.

🔀 How Templates Merge

Component YAML:
  template: bar_chart_with_delta_academics
  highchartsData:
    xAxis:
      max: 14    ← component-specific override

Template Config:
  highchartsData:
    chart:
      type: bar
    colors: [...]
    xAxis:
      labels: { style: {...} }
    series: [...]
    plotOptions: { bar: { borderRadius: 4 } }

Result (merged):
  highchartsData:
    chart:
      type: bar          ← from template
    colors: [...]        ← from template
    xAxis:
      max: 14            ← from component (override)
      labels: { ... }    ← from template
    series: [...]        ← from template
    plotOptions: { ... } ← from template

Component values override template values at the same path. Deep merge is applied.

💾 Template Storage

Templates are stored as Template records in the database, associated with a ProductVersion. Each template has a content JSONB field with the Highcharts configuration.