Template Column¶
Template Column je vypočítané pole, které generuje hodnotu kombinací jiných polí položky pomocí šablonového výrazu. Slouží k automatickému sestavení textu z více hodnot — například pro generování popisných názvů, kódů nebo formátovaných textů.
Základní konfigurace¶
Minimální konfigurace s výrazem:
{
"Expression": "{Title} - {item:s_department}"
}
Vlastnosti¶
- Expression
"Expression": "{Title} - {item:s_department}"— Šablonový výraz pro generování hodnoty. Podporuje tokeny pro přístup k polím položky. [Povinné]
Dostupné tokeny¶
Ve výrazu lze použít tokeny pro přístup k hodnotám polí aktuální položky:
| Token | Popis |
|---|---|
{FieldInternalName} |
Hodnota pole podle interního názvu. |
{item:FieldInternalName} |
Alternativní syntaxe pro přístup k poli položky. |
{Year} |
Aktuální rok. |
{Month} |
Aktuální měsíc (01–12). |
{Day} |
Aktuální den (01–31). |
{date:format} |
Aktuální datum ve vlastním formátu .NET. |
{ContentTypeName} |
Název typu obsahu položky. |
{ListName} |
Název seznamu. |
Příklady¶
Příklad: Název dokumentu¶
{
"Expression": "{s_documentType} - {Title} ({Year})"
}
Výsledek: Smlouva - Nájemní smlouva Brno (2025)
Příklad: Kód položky¶
{
"Expression": "{s_prefix}-{date:yy}-{ID}"
}
Výsledek: OBJ-25-142
Klientské zobrazení (Handlebars šablona)¶
Na formuláři a v Advanced Table se Template Column zobrazuje pomocí klientské komponenty, která využívá Handlebars šablony pro pokročilé formátování. Klientská šablona umožňuje podmíněné zobrazení, formátování dat, lokalizaci a vykreslení vlastního HTML.
Konfigurace¶
{
"Expression": "{{#if (eq value 1)}}✅ Ano{{else}}❌ Ne{{/if}}"
}
Vlastnosti¶
- Expression — Handlebars výraz pro vykreslení hodnoty. Podporuje helpery, podmínky a přístup k hodnotám formuláře. [Povinné]
- Resources — Lokalizační zdroje pro helper
t. [Nepovinné]
Dostupné proměnné¶
V Handlebars výrazu jsou dostupné tyto proměnné:
| Proměnná | Popis |
|---|---|
value |
Aktuální hodnota pole. |
{FieldInternalName} |
Hodnota libovolného pole z formuláře (např. {{Title}}, {{Status}}). |
SiteUrl |
URL site collection. |
WebUrl |
URL webu. |
Helpery¶
eq¶
Porovnání dvou hodnot (striktní rovnost).
{{#if (eq value 1)}}Aktivní{{else}}Neaktivní{{/if}}
formatDate¶
Formátování data. Podporuje parametr format s tokeny dd, MM, yyyy, HH, hh, mm, ss, nebo parametry locale, includeTime, use24Hour, includeSeconds.
{{formatDate CreatedDate format="dd.MM.yyyy"}}
{{formatDate ModifiedDate locale="cs-CZ" includeTime=true}}
json¶
Serializace hodnoty do JSON řetězce.
{{json value}}
parseJson¶
Parsování JSON řetězce na objekt.
{{#with (parseJson jsonField)}}{{name}}{{/with}}
lookupValue¶
Extrakce hodnoty z lookup formátu (id#;value).
{{lookupValue DepartmentField}}
Vstup 6#;KVALITA → výstup KVALITA
lookupId¶
Extrakce ID z lookup formátu.
{{lookupId DepartmentField}}
Vstup 6#;KVALITA → výstup 6
t¶
Překlad klíče podle aktuálního jazyka (LCID). Hledá překlad v poli Resources — nejdříve podle aktuálního LCID, poté fallback na angličtinu (1033), poté první dostupný zdroj.
{{{t 'approved'}}}
Lokalizace (Resources)¶
Pole Resources umožňuje definovat překlady pro vícejazyčné šablony:
{
"Expression": "{{#if (eq value 1)}}{{{t 'approved'}}}{{else}}{{{t 'rejected'}}}{{/if}}",
"Resources": [
{
"LCID": "1029",
"approved": "<span style='color:green'>Schváleno</span>",
"rejected": "<span style='color:red'>Zamítnuto</span>"
},
{
"LCID": "1033",
"approved": "<span style='color:green'>Approved</span>",
"rejected": "<span style='color:red'>Rejected</span>"
}
]
}
Podporované LCID: 1029 (čeština), 1033 (angličtina).
Note
Pro vykreslení HTML z překladu použijte trojité složené závorky {{{t 'key'}}}.
Reaktivní aktualizace¶
Klientská komponenta automaticky sleduje změny hodnot na formuláři pomocí formContext.watch(). Při změně libovolného pole, na které šablona odkazuje, se zobrazení okamžitě přepočítá.
Režimy zobrazení¶
- ListView — Zobrazení v seznamu bez další stylizace.
- FormView — Zobrazení na formuláři s CSS třídou
form-view-input.
Chybové stavy¶
Pokud šablona obsahuje syntaktickou chybu nebo runtime chybu, komponenta zobrazí text Template error: [popis chyby] místo výsledku.
Příklady klientského zobrazení¶
Podmíněné zobrazení stavu¶
{
"Expression": "{{#if (eq value 1)}}✅ Schváleno{{else}}⏳ Čeká na schválení{{/if}}"
}
Kombinace hodnoty s kontextem formuláře¶
{
"Expression": "{{value}} — Oddělení: {{lookupValue s_department}}"
}
Formátované datum vytvoření¶
{
"Expression": "Vytvořeno: {{formatDate Created format='dd.MM.yyyy HH:mm'}}"
}
Použití v Advanced Table¶
Template Column lze použít jako typ sloupce v Advanced Table. Konfigurace se předává ve vlastnosti TemplateColumn:
{
"Columns": [
{
"Name": "Stav",
"InternalName": "status",
"TemplateColumn": {
"Expression": "{{#if (eq value 1)}}✅ Aktivní{{else}}❌ Neaktivní{{/if}}"
}
}
]
}
Sloupec v tabulce podporuje stejné helpery a šablony jako samostatné pole na formuláři. Při exportu dat z tabulky se HTML tagy automaticky odstraní a exportuje se pouze textový obsah.