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

Upravit obsah stránky

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átortvorbu 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 jenhodnoty 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:

lhuta_placeni

lhpl

type:char;length:3;

type:dropdown;

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

            

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émsí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 podkonkré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:

            

Při takovétodefinici 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šakdoporučuje použít obecnou definici prvku - byť by definovala pouze seznam - pomocí based-on.

Přístupnost voleboption

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 voleboption) 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:

bullet

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

bullet

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 neboponechat;

bullet

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ůbecnezná;

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.