Definice stránky

Místem, kde se setkává aplikační obsah s obecnými možnostmi komponent COMEX jsou stránky. Zde dostávají konkrétní funkční formu a tvoří použitelné uživatelské rozhraní. Jednoduchá stránka sloužící pro nalezení, zobrazení či přidání kontaktu může mít následující definici:

example
<cxd:definition xmlns:cxd="http://www.flexideo.com/comex/definition">
<cxd:page id="1023" langs="mixed">
<cxd:header>
<cxd:lang descr="Přehled pro dohledání požadovaného kontaktu dle jména nebo čísla." code="cs" label="Kontakty"/>
<cxd:general icon="contact.png" name="kontakty"/>
</cxd:header>
<cxd:frame>
<cxd:with-param name="tile" content="3"/>
<cxd:component source="comex.table.form:1023.filter">
<cxd:connection target="comex.table.data:1023.grid" event="submit"/>
</cxd:component>
<cxd:component source="comex.table.data:1023.grid">
<cxd:connection target="comex.table.data:1023.grid" event="onselect"/>
</cxd:component>
<cxd:component source="comex.special.action:common.button">
<cxd:with-param name="label" content="Nový kontakt"/>
<cxd:connection target="comex.document.form:kontact.standard" event="onclick"/>
</cxd:component>
</cxd:frame>
<cxd:frame>
<cxd:with-param name="tile" content="3"/>
<cxd:component source="comex.document.preview:kontakt.inpage"/>
</cxd:frame>
</cxd:page>
</cxd:definition>

Tato stránka je dělena na dvě části zborazované vedle sebe, pokud je dostatek místa. V první části (rámci) je uvdena samotná tabulka a pod ní tlačítko pro přidání kontaktu. V další části je pak možnost přímého zobrazení. Obě části jsou pak propojeny uzlem connection, který se stará o přenos události výběru položky pro její zobrazení v komponentě náhledu.

Takto může vypadat jiná jednoduchá definice stránky určená pro vyhledávání kontaktů pomocí přehledu s id 1234:

example
<cxd:definition xmlns:cxd="http://www.flexideo.com/comex/definition">
<cxd:page id="1234" langs="mixed">
<cxd:header>
<cxd:general icon="contact.png" name="kontakty"/>
<cxd:lang descr="Přehled firemních kontaktů" code="cs" label="Kontakty"/>
<cxd:lang code="en" label="Contacts" descr="Table of company contacts."/>
</cxd:header>
<cxd:frame>
<cxd:component source="comex.table.form:1234.filter">
<cxd:connection target="comex.table.data:8871.grid" event="submit" operator="object"/>
</cxd:component>
<cxd:component source="comex.table.data:1234.grid">
<cxd:with-param data-type="boolean" content="true" name="visualMerge"/>
<cxd:with-param data-type="boolean" content="true" name="hiddenDescription"/>
<cxd:with-param data-type="boolean" content="true" name="hiddenHeader"/>
</cxd:component>
</cxd:frame>
</cxd:page>
</cxd:definition>

Všimněte si, že id stránky má stejnou hodnotu jako id použitých dvou komponent z třídy table. Znamená to jedinou věc, že jde o "domovskou stránku" této tabulky. Tu je možné vyvolat odkazem https://muj.server.cz/comex/?id=1234. Nic ale nebrání tomu využívat komponentu tabulky 1234 i na jiných stránkách, nebo na domovskou stránku 1234 přidat i další komponenty nebo stávající upravit. Je možné, dát na domovskou stránku i zcela jiné komponenty, ale smysl to příliš nedává.

Dále si u definice stránky můžeme všimnout, že její jazyková nastavení v atributu langs v kmenovém potomku page jsou s hodnotou mixed. Stránky jsou většinou definovány v různých jazycích v rámci jedné definice, ale není to nezbytné (viz. definice jazykových mutací.

V obsahu definice je jako první uzel cxd:header, který udává základní informace o stránce a to buď vč. jazykově orientovaných popisů v uzlech lang nebo bez nich a to v závislosti na již zmíněných jazykových nastaveních v atributu langs. Více o hlavičkách viz. definiční typ headerElmType.

Obsah vlastní stránky pak vždy tvoří jeden nebo více rámců určených uzly cxd:frame. Zajišťují responzivitu stránky a její rozložení. Jedině rámce mohou být striktně pod sebou nebo mohou být do sebe v nořovány. Samotné komponenty pak pouze s ohledem na svou velikost leží na řádku uvnitř některého z rámečků. Možnosti rámečků viz. popis definice uzlu cxd:frame.

Teprve v rámečcích jsou umístěny jednotlivé komponenty pomocí uzlů cxd:component. Tyto komponenty jsou určeny klíčovým atributem source, který udává její druh odkazem na patřičný modifikátor a aplikační instanci určovanou u tabulek celočíselným id (viz. struktura odkazů .

Popis všech možností definice viz. popis uzlu page.


Definice dokumentu kontaktDefinice tabulky kontaktůDefinice modifikátoru gridDefinice stránky