Definice seznamu pro roletku výběrového prvku select

V definici prvku je možné zadat pevný seznam hodnot, které jsou nabízeny uživateli. Tento seznam je úzce spojen s nastavením vlastnosti input a pokud není v souladu, replikátor tvorbu zastaví. Pokud input není uveden a je uveden jen potomek select, pak se automaticky nastaví na hodnotou drd. Definici select doplníme do prvku v případě, že potřebujeme, aby uživatel mohl zadat do daného prvku jen hodnoty předem známé. Například pokud víme, že prvek lhůta placení (lhuta_placeni) může obsahovat buď roční, pololetní, čtvrtletní nebo měsíční, pak tyto hodnoty zapíšeme do dětských elementů option. Definice šablony prvku lhuta_placení by tedy vypadala takto:

<ElementDef>
<label>Lhůta placení</label>
<name>lhuta_placeni</name>
<short>lhpl</short>
<data>type:char;length:3;</data>
<input>type:dropdown;</input>
<select>
<option value="roc">roční</option>
<option value="pol">pololetní</option>
<option value="ctv">čtvrtletní</option>
<option value="mes">měsíční</option>
</select>
</ElementDef>

Pokud bychom prvek nedefinovali formou šablony, ale rovnou v některém z dokumentů, pak by definice vypadala následovně:

<element label="Lhůta placení" name="lhuta_placeni" short="lhpl" dtype="char(3)" input="dropdown">
<select>
<option value="roc">roční</option>
<option value="pol">pololetní</option>
<option value="ctv">čtvrtletní</option>
<option value="mes">měsíční</option>
</select>
</element>

Do dokumentu v databázi se ukládá jen hodnota uváděná v atributu value. Ve výběrovém seznamu (input je nastaven na dropdown) se ukazují obsahy elementů option. Rovněž na výstupu při tisku, odesílání e-mailem atd. se objevuje plný text volby. Důvodem této kombinace je minimalizovat nároky na objem ukládaných dat a přitom zachovat možnost dlouhých plných textů. Dalším důvodem je skutečnost, že často bývá v návaznosti na prvky obsahující select zadávána další funkcionalita formulářů a výstupních sestav jako například podmíněné oblasti apod. Proto je zapotřebí vyhnout se diakritickým znakům, mezerám a dalším problematickým znakům.

Datovým typem v prvcích se seznamem je většinou číslo nebo krátký řetězec, které se používají jako identifikátory. Nic však nebrání tomu, aby byly vybírány částky, datumy, časy či logické hodnoty.

Problematika jména výběru

Každý takový seznam s položkami option dostane ve fázi kompletace své jméno (atribut name), pokud již není dán definicí. Jméno seznamu je v případě dokompletování převzato z prvku nebo jeho šablony, kde je seznam umístěn. Na webovém sídle pak pro každou roli existuje jeden XML soubor se seznamem těchto výběrů, kde každý z nich je identifikován jménem. Pro formuláře, nastavení přehledů, dodatečná zadání a další pak tento soubor slouží pro zobrazení dané nabídky uživateli. Pod určitým jménem tedy může být pouze jeden výběrový seznam select. Je tedy třeba na to dávat pozor, aby se určitý seznam pod konkrétním jménem nezaměnil za seznam úplně jiný, ale se stejným jménem, i když flexideo replikátor tento problém kontroluje a ve většině případů je schopen jej eliminovat. I tak je však dobré na to myslet a přidělovat různým seznamům pokud možno různá jména přímo pomocí vlastnotí name tagu select. Definice prvku pak může vypadat např. takto:

<element label="Lhůta placení" name="lhuta_placeni" short="lhpl" dtype="char(3)" ftype="dropdown">
<select name="vyber_lhuty_placeni">
...
</select>
</element>

Při takovéto definici se výběrový seznam lhůt do evidence zařadí pod jméno vyber_lhuty_placeni a nikoli pod lhuta_placeni. Ve skutečnosti stačí, když seznam uvedete jen u jediného prvku a u ostatního pak uvedete pouze jméno. V případě více výskytů se však doporučuje použít obecnou definici prvku - byť by definovala pouze seznam - pomocí based-on.

Přístupnost voleb option

Může být, že ne všechny volby výběru jsou dostupné a použitelné pro všechny okruhy (role) uživatelů. Může nastat situace, kdy je například zapotřebí zpřístupnit určité stavy některého dokumentu volené roletkou (tedy výběrem z voleb option) jen některým uživatelům, aby ostatní nemohli tento stav v dokumentu navodit nebo ani dokonce nevěděli, že takový stav navodit lze. Jsou tedy celkem tři úrovně, který může položka v seznamu nabýt:

volně přístupná - položku je možno ve formuláři zadat (je-li daná kolonka uživateli přístupná pro zápis);

jen pro náhled - uživatel v přístupné kolonce volbu vidí, ale nemá možnost ji zadat; v případě, že je již zadána ji může změnit na jinou dostupnou nebo ponechat;

není zobrazena - uživatel volbu ani ve formuláři či jiném náhledu nevidí a zobrazuje se text "(jiná)" napovídající, že něco zvoleno je, ale neznámo co; uživatel pak, má-li kolonku dostupnou může zvolit jinou volbu, ale původní vůbec nezná;

Je zřejmé, že taková kolonka dost často bude vyžadovat podmíněnou editaci tak, aby nebylo možné kolonku v některých stavech měnit. Způsob definování přístupnosti a další informace nalezenete u vlastností pro nastavení přístupu, které můžete definovat i položek option.

Nastavitelné vlastnosti uzlu select

Substrukturu select je možné specifikovat následujícími vlastnostmi:

comment - Pracovní komentář segmentu pro účely popisu defince. Nezobrazuje se finálnímu uživateli.;

discarted - Pomůcka VYŘAZENÍ (tj. "odpoznámkování" v kódu definice). Je-li uzel označen touto vlas ...

name - Jednoznačná a jedinečná identifikace uzlu na dané úrovni zařazení, tedy na větvi či v sezna ...