Report Manager - Template
From PlcWiki
m (→Header) |
m (→i18n) |
||
Line 52: | Line 52: | ||
== i18n == | == i18n == | ||
+ | |||
+ | Jednotlivé popisky sloupců a parametrů reportu jsou řešeny soubory, které mají stejný název jako šablona, ke které patří. | ||
== Extensions == | == Extensions == | ||
Extenze je rozšířením klienta a je uložena v souboru 'client_extension.js' | Extenze je rozšířením klienta a je uložena v souboru 'client_extension.js' |
Revision as of 07:42, 21 March 2013
Contents |
Intro
Šablona používá systém [FreeMarker] a je součástí aplikace Report Manager, která zobrazuje její výsledky.
Jednoduchý příklad:
-- T: YN bool, string str -- Hello Template! select 1 AS id <#if YN??> , '${YN}' AS YN</#if> <#if string??> , '${string}' AS string_value</#if>;
Header
Každá šablona má svoji hlavičku. Příklad:
Význam jednotlivých řádků:
- Vstupní parametry, ze kterých se generují formulářové prvky
- Lookup databáze
- Autorizace
- Popis šablony (podtržítko na začátku znamená skrytou šablonu)
Vstupní parametry
Parametry jsou odděleny čárkou, musí být na jednom řádku uvozeným '--T: ' a začínají názvem, který je zároveň proměnnou v šabloně. Příklad některých parametrů:
-- T: YN bool, string str, integer int, time time, date date, decimal dec, string_array str[Cat,Dog,Sneak], multiple_pick mstr[Leica,Pentax,Minolta,Nikon,Silvestri]
Speciální případ parametru je pole naplněné jinou šablonou. Příklad:
workplace mstr[ref:_workplaces.ftl]
Šablona, která má naplnit pole, se uvodí prefixem 'ref:_'. Soubor šablony se v tomto příkladu jmenuje 'workplaces.ftl'.
Autorizace
Na jednom řádku uvozeným '-- R: ' jsou uvedeny potřebné role oddělené čárkou. Tyto role jsou po úspěšném ověření dostupné jako proměnná v šabloně.
Zpracování autorizace na straně serveru:
boolean auth = GlobalContainer.authorize(user, "ReportBox", right); if (auth) { String conf = GlobalContainer.getPrivilegeConfig(user, "ReportBox", right); params.put(right, conf == null? "*":conf); }
i18n
Jednotlivé popisky sloupců a parametrů reportu jsou řešeny soubory, které mají stejný název jako šablona, ke které patří.
Extensions
Extenze je rozšířením klienta a je uložena v souboru 'client_extension.js'