Některé seznamy je možné konfigurovat pomocí XML formulářů. Konfigurace se použije pro všechny uživatele Portálu.
Ukázka nastavení seznamu lékařských prohlídek - XML formulář s popisem "config_browserlekarskeprohlidky" :
<?xml version="1.0" encoding="windows-1250"?> <config showFooter="1"> <style> .poznamka { color: pink; } </style> <column code="col-line" visible="1" /> <column code="col-datum-vzniku" addClass="background-orange" /> <column code="col-cas-rezervace" visible="0" /> <column code="col-datum-rezervace" visible="0" /> <column code="col-vysledek" align="left" footer="F-Výsledek"/> <column code="col-detail" visible="1" /> <column code="col-jmeno" htmlConvert="1" before="col-datum-vzniku"/> <column code="col-prijmeni" after="col-jmeno" visible="1" addClass="font-weight-bold"/> </config>
XML formulář musí mít popis config_<kod-seznamu>. Kód seznamu lze zjistit v HTML zdroji v atributu data-code
tabulky.
V tomto příkladě je to "config_browserlekarskeprohlidky".
Stejným způsobem lze zjistit kódy jednotlivých sloupců - jsou uloženy v atributu data-code
záhlaví sloupce th.
Některé sloupce mohou být ve výchozím nastavení skryté. Jejich kódy jsou vypsány v atributu data-invisible-fields
tabulky.
Je možné nastavit tyto parametry seznamu (pomocí atributů hlavního tagu config
nebo jako vnořené tagy):
noHeader="1"
- vypne/zapne zobrazení záhlaví seznamu (Pozor! Hodnota 1 vypíná zobrazení)showFooter="1"
- zapne/vypne zobrazení zápatí seznamumaxPageRows="20"
- nastaví maximální počet řádků na stránceshowMessages="0"
- vypne zobrazení případných chybových hlášektableId="..."
- nastaví HTML id tabulkyrowClickLink="?menuid=...."
- nastaví link, který se zobrazí po kliknutí na řádek tabulkycssClass="..."
- nastaví css třídu tabulkytitle="Nadpis seznamu"
- nastaví nadpis seznamusqlFilter="..."
- doplní filtr do SQL dotazu seznamu
Konfigurace jednotlivých sloupců se provádí pomocí vnořených tagů column
. Pomocí atributu code
se určí konfigurovaný sloupec.
Pro sloupce lze nastavit tyto vlastnosti:
before="kod-jineho-slopce"
- přesune tento sloupec před zadaný sloupec (před sloupec se zadaným kódem kod-jineho-slopce)after="kod-jineho-slopce"
- přesune tento sloupec za zadaný sloupec (za sloupec se zadaným kódem kod-jineho-slopce)align="right"
- Nastaví zarovnání left, right nebo centersortSQL="jmeno pole"
- určí jméno SQL pole, podle kterého se seznam seřadí při řazení podle tohoto sloupcesortSQLDesc="jmeno pole"
- totéž jako sortSQL, ale použije se při sestupném řazeníformat="..."
- určuje formát zobrazení pole.
(date, time, timestamp, datetime, year, finedate, finedatetime, weekday, weekdayshort, kc, curr, anone,
int, float, number, number0, number1, number_1, number2, number_2, hodiny, minuty, sekundy, timeofday
)link="..."
- link, který se zobrazí po kliknutí na polestyle="..."
- css stylclass="..."
- css třídaaddClass="..."
- css třída, která se přídá k již nastavené (výchozí) hodnotěheader="..."
- nadpis sloupcefooter="..."
- patička sloupcetext="..."
- text, který se přímo zobrazí - používá se například u prokliku na detail záznamuvisible="0"
- skryje/zobrazí sloupecwrap="1"
- zapne/vypne zalamování sloupceordering="0"
- zakáže/povolí řazení podle tohoto sloupcehtmlConvert="0"
- vypíná/zapíná konvertovaní HTML textu (nahrazování speciálních znaků jejich entitami, např znak "<" nahradí entitou "<")
Je možné přidat i úplně nový sloupec. Ten může být přímo z tabulky, která už je v dotazu nebo lze pomocí subselectu vybrat i data z jiných tabulek.
Příklad pro zobrazení počtu pracovních poměrů osoby:
<column header="Počet PP"> <sqlFieldName>(SELECT COUNT(*) FROM PracovniPomer P2 WHERE P2.RC = PracovniPomer.RC) AS PocetPP</sqlFieldName> </column>