Některé formuláře je možné konfigurovat pomocí XML formulářů. Konfigurace se použije pro všechny uživatele Portálu.
Ukázka nastavení formuláře absence - XML formulář s popisem "config_formabsence" :
<?xml version="1.0"?> <config xmlns:html="http://www.ron.cz/xmlforms/ns/html/"> <field code="field-casovaslozka0" profil="ZAM;OM" caption2="<span class='float-right poznamka'>Doplňující text k časové složce</span>"/> <field code="field-operace" defaultValue="08" selectSqlOrder="Uzivatel> <field code="field-poznamka" required="1" defaultValue="Zadej důvod!" after="field-osoba"/> <field code="field-datumod" caption2="Moje poznámka k datumu"/> <field code="field-uzivatelska2" visible="1" /> <field code="field-uzivatelska1" visible="1" fieldType="check" fieldCssClass="form-check-input"/> <field code="field-uzivatelska3" visible="1" fieldType="combostr" options="Ano;Ne"/> </config>
XML formulář musí mít popis config_<kod-formulare>. Kód formuláře lze zjistit v HTML zdroji v atributu data-code
tagu <form>
.
Stejným způsobem lze zjistit kódy jednotlivých editačních polí - jsou uloženy v jejich atributu data-code
.
Je možné nastavit tyto parametry formuláře (pomocí atributů hlavního tagu config
nebo jako vnořené tagy):
readOnly="1"
- nastaví formulář jen pro čtenícssClass="..."
- nastaví css třídu formuláředefaultRowClass="..."
- nastaví css třídu pro řádky formuláře (výchozí je "form-row")defaultCaptionColClass="..."
- nastaví css třídu pro buňku s nadpisem formuláře (výchozí je "form-col1 caption")defaultDataColClass="..."
- nastaví css třídu pro buňku s obsahem pole (výchozí je "form-col2")noTableRows="1"
- vypne/zapne rozvržení formuláře do řádkůnoOldValuesButton="1"
- vypne/zapne zobrazení tlačítka "Původní hodnoty"stornoAction="..."
- nastaví url pro přesměrování při kliknutí na tlačítko "Storno"submitWorkingInfo="1"
- hodnota 0 vypne zobrazení hlášky o odesílání dat, hodnota 1 zapne. Pokud je zadán jiný text, tak se celý tento text použije pro hlášku.
Konfigurace jednotlivých polí se provádí pomocí vnořených tagů field
. Pomocí atributu code
se určí konfigurovaný sloupec.
Pro sloupce lze nastavit tyto vlastnosti:
profil="kody-profilu"
,Kódy uživatelských profilů, pro které se nastavení pole uplatní. Je možné zadat více kódů oddělených středníkem.visible="1"
- skryje nebo zobrazí polerequired="1"
- určuje, jestli je vyplnění pole povinné. Výchozí hodnota 0 znamená, že není povinné, hodnota 1 znamená že je povinné.
Hodnota 2 znamená, že je povinné, ale nezabrání to uložení záznamu - to lze použít například v nástupním formuláři v XML - záznamy se uloží, ale formulář pak nelze předat dále.changeable="1"
- určuje, jestli je možné změnit neprázdnou hodnotu (pokud ne, tak jednou zadaná hodnota již nejde změnit)defaultValue="..."
- výchozí hodnota pole pro nové záznamyuseDefaultValueToEditNull="1"
- příznak, že se má při editaci nahradit případná null hodnota zadanou výchozí hodnotou (defaultValue)fieldType="..."
- určuje typ pole (edit, memo, date, datetime, dateandtime, int, float, password, check, select, combo, combostr, radio, hidden, constant, text, actualtime, actualdate, id, file, filename, notnullflag, sectionheader, group)dataType="..."
- určuje, datový typ databázového pole (např. int, float)caption="..."
- nadpis pole ve formulářicaption2="..."
- dodatečný popis k poli formulářefieldName="..."
- jméno datového polesqlFieldName="..."
- jméno datového pole v databázitableName="..."
- jméno tabulky v databázitableAlias="..."
- alias tabulky v SQL dotazu pro načtení datfieldId="..."
- id pole v HTMLrowId="..."
- id řádku v HTMLfieldCssClass="..."
- css třída editačního poleaddFieldCssClass="..."
- css třída, která se přídá k již nastavené (výchozí) hodnotě class editačního polerowClass="..."
- css třída řádkucaptionColumnClass="..."
- css třída buňky s nadpisemdataColumnClass="..."
- css třída buňky s obsahem polenewRow="1"
- určuje, jestli pole bude začínat na novém řádkushowColumns="1"
- určuje, jestli nadpis a obsah budou vloženy do "sloupců"before="kod-jineho-pole"
- přesune toto pole před zadané poleafter="kod-jineho-pole"
- přesune toto pole za zadané polemaxLength="..."
- maximální povolený počet znaků (pro edit)wrap="1"
- zapne/vypne zalamování textu pro memorows="..."
- počet řádků pro memocols="..."
- počet sloupců pro memoselectSql="..."
- SQL dotaz pro výběr záznamů pro SELECTselectSqlFilter="..."
- SQL filtr (podmínka) pro filtrování záznamů pro SELECTselectSqlOrder="..."
- podvýraz pro řazení SQL dotazu pro SELECTselectDataTypeTest="1"
- určuje, jestli se rozlišují datové typy při porovnávání hodnotselectShowCode="1"
- určuje, jestli se v SELECTu zobrazují i kódy (hodnoty) nabízených volebpreferredValues="..."
- seznam "preferovaných" voleb pro select - tyto volby se zobrazí na začátku výběrucurrentTimeButton="1"
- určuje, jestli se má zobrazit tlačítko "nastavit aktuální čas"text="..."
- text, který se přímo zobrazíoptions="Volba 1;Volba 2;..."
- seznam voleb, které se nabídnou uživateli
V některých formulářích jsou pole rozdělena do skupin (group). Hromadná konfigurace všech polí ze skupiny se provede
zadáním atributu group
místo code
v tagu field.
Například skrytí celé skupiny polí "Přechodné bydliště" v nástupním formuláři:
<?xml version="1.0"?> <config xmlns:html="http://www.ron.cz/xmlforms/ns/html/"> <field group="group-prechodnebydliste" visible="0" /> </config>
Pomocí tagu <html>
je možné do stránky vložit libovolný text včetně HTML značek.
Atributem position
tagu html
se nastaví, kde se zadaný text zobrazí:
<html position="top"> ... obsah ... </html>
- text se zobrazí nad formulářem - toto je výchozí hodnota<html position="bottom"> ... obsah ... </html>
- text se zobrazí pod formulářem