RON dokumentace

Konfigurace seznamů

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"?>
        <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):

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:

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>
    

Příklad zobrazení odkazu v seznamu školení (XML config_browserskoleni). Pokud není zadán text, zobrazí se přímo URL. Pokud je zadán, zobrazí se tento text. Speciální hodnota "IMG" zobrazí obrázek.

        <column sqlFieldName="D.URLexternihoSkoleni" type="url" text="IMG" linkAttributes="target='_blank'"/>
    

Doplňující řádek s poznámkou

        <column type="comment" sqlFieldName="Poznamka" addClass="poznamka" headerColSpan="1" header="Poznámka:"/>
    
Zobrazí obsah datového pole "Poznamka" pod každým řádkem.

Překlady textů

V konfiguraci je možné nadefinovat texty pro překlad do různých jazyků. Budou platné jen pro HTML stránku s příslušným seznamem.

        <translation id="SC_dopravni_prostredek" text="Dopravní prostředek" text-eng="Type of transport" />
    

Konfigurace filtrovacího formuláře nad seznamem

U některých seznamů je možné konfigurovat filtrovací formulář nad seznamem (výběr rozdělení atd.) a případně přidávat nové filtry.

        <translation id="SC_dopravni_prostredek" text="Dopravní prostředek" text-eng="Type of transport" />

        <filterform>
            <filter name="jenzahranicnisc">
                <!-- změní barvu pozadí volby "Jen zahraniční" ve filtru u seznamu služebních cest -->
                <option key="1" cssClass="background-lightgray padding-all" />
            </filter>

            <!--
              Vytvoří nový filtr pro výběr služebních cest podle cílového státu.
            -->
            <filter name="SC_cilovy_stat" type="options" caption="Cílový stát">
                <optionsSql>SELECT Kod, Popis FROM Stat WHERE PovolitVeSluzCeste = 1 ORDER BY Popis</optionsSql>
                <option key="">Vše</option>
                <sqlFilter>CilovyStat = </sqlFilter>
            </filter>

            <!--
              Vytvoří nový filtr pro výběr služebních cest podle dopravního prostředku.
              Jednotlivé volby jsou nadefinovány pomocí tagů option. Některé volby mají svůj vlastní SQL výraz, jiné použijí sqlFilter zadaný u tagu filter.
            -->
            <filter name="SC_dopravni_prostredek" caption="SC_dopravni_prostredek" sqlFilter="SluzebniCesta.DopravniProstredek = ">
                <option key="">Vše</option>
                <option key="NULL" cssClass="color-red" sqlFilter="SluzebniCesta.DopravniProstredek IS NULL">nezadáno</option>
                <option key="AUS">Služebák</option>
                <option key="AUV">Vlastní vozidlo</option>
                <option key="X" cssClass="font-italic" sqlFilter="SluzebniCesta.DopravniProstredek NOT IN ('AUS', 'AUV')" title="Je zadáno, ale není to AUS ani AUV">ostatní</option>
            </filter>

            <!--
              Vytvoří nový filtr pro výběr služebních cest, které mají vyplněný alespoň jeden řádek.
              Volbou showSelectedItem="0" se zajistí, že je filtr "přepínací" (vybraná volba se nezobrazí a zobrazuje se jen odkaz pro změnu nastavení)
            -->
            <filter name="jen_s_radkem_sc" defaultValue="0" showSelectedItem="0">
              <option key="1" sqlFilter="EXISTS (SELECT * FROM RadekSluzebniCesty WHERE SluzebniCesta_ID = SluzebniCesta.Id)">Jen s řádky</option>
              <option key="0">I bez řádků</option>
            </filter>

            <!--
              Vytvoří nový filtr pro výběr služebních cest, které mají vyplněný alespoň jeden řádek účtování. Zobrazí jej jako checkbox.
            -->
            <filter name="jen_s_uctovanim_sc" type="checkbox" caption="Jen s řádkem účtování">
                <sqlFilter>EXISTS (SELECT * FROM RadekUctovaniSCesty WHERE SluzebniCesta_ID = SluzebniCesta.Id)  OR  DatumCasOd >= GETDATE()</sqlFilter>
            </filter>

        </filterform>
    

Základní nastavení formuláře lze provést pomocí atributů tagu <filterform>:

Nastavení jednotlivých filtrů lze provést pomocí atributů tagu <filter>:

Jednotlivé volby pro filtry typu "links" nebo "options" je možné načíst z databáze (nastavením atributu optionsSql), nebo zadat pomocí vnořených tagů <option>. Ty mohou mít atributy:

Vložení libovolného textu

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í:

Vložení XML formulářů

Pomocí tagu <xml> je možné do stránky vložit obsah XML formuláře. Atributem id se musí zadat id XML formuláře, který se má zobrazit. Stejně jako u HTML textu lze atributem position nastavit, kde se má XML formulář zobrazit. Ve formuláři jsou nastaveny proměnné z filtru, např.

          <xml id="123" position="top"/>