f-type kompilace

Původní forma specifikacie pro formulářový typ kolonky prvku, který má být použit ve formuláři dokumentu, kde je prvek zařazen. Je stále k dispozici v komletované verzi XDS též dostupné v jednotlivých rolích.

syntax
field | fld | dropdown | drd | textarea | txa | checkbox | chb | checkdouble | chd | image | img | fil[e] | vid[eo] [ ( #length [, ...] ) ]

Tato vlastnost je klíčová pro určení způsobu zadávání dat - tj. typ formulářové kolonky a částečně ovlivňuje i jeho prezentaci pomocí XSLT. Syntaxe, podobně jako u data, připomíná zápis funkce. Obsahuje klíčové slovo a závorku s upřesňujícími argumenty. Klíčová slova určují základní formulářový typ a mohou se vyskytnout následující:

field (možno uvést zkratku txf)

textarea (možno uvést zkratku txa)

dropdown (možno uvést zkratku drd)

checkbox (možno uvést zkratku chb)

checkdouble (možno uvést zkratku chd)

image (možno uvést zkratku img)

file (možno uvést zkratku fil)

video (možno uvést zkratku vid)

Pro lepší kontrolu nad vzhledem formuláře je možné specifikaci f-type v závorce rozšířit o například o počet viditelných znaků v kolonce stejnou syntaxí jako u data s tím rozdílem, že zde počet znaků udává délku kolonky. Takže například může dojít k následující specifikaci:

data="type:char;length:20;" f-type="field(10)"

Tato definice naznačuje, že nám na formuláři stačí nahlížet jen na 10 znaků s tím, že automatickým rolováním může uživatel zapsat až 20 znaků. Není-li v f-type délka zadána, použije se pro formulář délka udaná v data. Není-li zadána ani tam, pak se použije standardní délka ovládacího prvku (u seznamů se šířka, pokud není zadána, přizpůsobí podle nejdelší položky seznamu.

Podívejme se nyní na možnosti jednotlivých formulářových typů.


Typ field/txf

Tento typ určuje klasickou kolonku pro vpisování znaků z klávesnice, která má formu jednoho políčka bez možnosti více řádků. Slouží pro kratší texty, čísla, částky, datumy a časy. Tímto typem nelze dadávat logické hodnoty ano/ne a je nevhodný pro zadávání delších textů.

Určení formulářového typu může mít následující podobu

f-type="txf(10,true,false)"

Vedle určení počtu viditelných znaků v prvním argumentu, které jsme si již vysvětlili, je možné specifikovat ještě druhý a třetí argument s logickou hodnotou. Druhý argument určuje, zda se má text z leva doplňovat podtržítky. To bývá účelné jako náznak možného rozsahu čísel, kdy podtržítka zůstávají ve formuláři i po zadání čísel a doplňují prázdné pozice. Je důležité si říct, že podtržítka se nikdy neukládájí s hodnotou do databáze a ani se nedoplňují u výstupního tiskového náhledu dokumentu. Hodnota true tedy zabezpečí zarovnání hodnoty vpravo.

Třetí argument říká, zda v číselných údajích má být vkládán oddělovač tisíců, kterým v našich zeměpisných šířkách je mezera (tj. hodnota true zabezpečí oddělení tisíců)


Typ textarea/txa

Tento formulářový typ je použit v případech, kdy se zadávají delší texty. Tj. celé věty či odstavce. Je standardně víceřádkový s možností rolování textu. Argumenty v závorce udávají počet znaků na řádku a počet viditelných řádků. Do databáze se pak text ukládá jako souvislý. Tento formulářový typ by měl být vždy použit s datovým typem text. Zápis :

f-type="textarea(50,4)"

zabezpečí zobrazení okénka pro vepisování textu, kde je v případě ideálního rozložení na jednom řádku 50 znaků a v jednom okamžiku jsou vidět 4 řádky. Text se automaticky zalomuje po slovech, proto z pravidla na řádku přesně 50 znaků nebývá. . Argumenty jsou nepovinné s tím, že pokud chybí doplní se dle aplikačních nastavení. Druhý argument může být nastaven na mínus jedničku. To způsobí, že se výška oblasti přizpůsobuje konkrétnímu textu v dané instanci dokumentu.


Typ dropdown/drd

Tento formulářový typ zajišťuje výběr hodnoty ze seznamu. Proto s definicí prvku, který se ve formuláři zobrazuje jako dropdown, musí souviset definovaný seznam hodnot v tagu select nebo zde musí být uveden odpovídající odkaz na flexibilní seznam pomocí vlastnosti lexicon, odkud se možnosti čerpají. Tento typ má možnost pouze jednoho argumentu. Ten udává šířku kolonky v podobě počtu viditelných znaků.


Typ checkbox/chb

Tento typ je úzce svázán s datovým typem boolean. Vzhledem k tomu, že nemá ani žádné volitelné argumenty, jako přechozí typy, je zbytečné jej v definici uvádět. Vše se zařídí nastavením datového typu na boolean - typ formuláře se nastaví automaticky.

Navíc jiné kombinace, např. datový typ text v kombinaci s formulářovým typem checkbox neprojdou při kompletaci přes flexideo replikátor. Samozřejmě krom formulářového typu checkdouble, který je také na bool úzce provázán (viz. dále).


Typ checkdouble/chd

Typ checkdouble (double checkbox) je variací na běžné zaškrtávací pole typu checkbox a je také úzce svázán s datovým typem boolean. Jde ale o kombinovaný formulářový prvek, kde se jeden boolean prvek nastavuje dvěmi zaškrtávacími poli. Tato kombinace pak umožňuje do databáze zanést nejen hodnoty true a false, ale také "hodnotu" null. Dále umožňuje moment, kdy je uživatel nucen si vybran ano či ne, tedy true nebo false a to zda se uživatel již rozhodl je možné ověřovat kontrolními pravidly s využitím funkce isEmpty(). Zatímco běžný checkbox v zobrazení nerozlišuje mezi null (tedy prázdným tagem prvku) a hodnotou false, checkdouble ponechá v případě null prázdná obě políčka a v případě false zatrhne druhé se štítkem "ne" a první se štítkem "ano" nechá vypnuté. Pokud pak chcete zatrhnout "ano", "ne" se automaticky vypne.

f-type="chd(je, není)"

Na rozdíl od typu checkboxcheckdouble v definici možné dva argumenty. Pomocí těchto argumentů je možné nastavit obsah šítků "ano" a "ne", tj. na místo těchto dvou slov dosadit jiná a to v uvedeném pořadí. Zápis se provádí bez apostrofů a krajní mezery jsou odebírány. Rovněž tak je možné změnit obsah těchto dvou slov pomocí aplikačních nastavení všude tam, kde nejsou explicitně v f-type určena u prvku.


Typ image/img

Tento formulářový typ je použit v případech, kdy se pomocí formuláře zadávají obrázky jakožto přímo prezentovatelné soubory. U tohoto typu se pomocí argumentů v závorce udávají rozměry obrázku v pořadí šířka a výška. Do databáze se pak ukládá URL odkaz v podobě textu. Tento formulářový typ by měl být vždy použit s datovým typem imag (teoreticky je možný i datový typ text - ale nemá to žádné praktické uplatnění). Zápis :

f-type="image(200,250)"

vytvoří ve formuláři prostor pro obrázek se šířkou 200 a výškou 250 pixelů. Pokud nejsou rozměry specifikovány, převezmou se z vlastnosti data, pokud nejsou ani tam, použije se standardní rozměr daný aplikačními nastaveními. Pokud naopak jsou u data i f-type, použijí se přednostně nastavení f-type. Pokud je v závorce uvedeno pouze jedno číslo, použije se čtvercově na oba rozměry. Pokud je u rozměru uvedena nula, nebude velikost obrázku ve formuláři v daném rozměru omezována.


Typ file/fil

Tento formulářový typ je použit v případech, kdy se pomocí formuláře ke struktuře dokumentu přiřazují soubory (viz. data file). Zápis má dva možné parametry:

f-type="file(small,false)"

Oba parametry jsou nepovinné. První z nich má možnosti none, small a big. Určuje zda a v jaké velikosti (16 x 16 či 32 x 32 pixelů) se má zobrazit odpovídající ikona vloženého souboru. Výchozí při nezadání je big. Druhý parametr je logická hodnota true / false, která určuje, zda se má zobrazovat i název přiloženého souboru. Jde však o název, který přidělí server systému flexideo a nebývá této možnosti běžně využíváno - výchozí hodnota je false.


Typ video/vid

Tento formulářový typ je použit v případech, kdy se do formuláře vkládají, videa přímo prezentovatelná ve formuláři či náhledu. U tohoto typu se pomocí argumentů v závorce udávají rozměry obrázku v pořadí šířka a výška. Do databáze se pak ukládá URL odkaz v podobě textu. Tento formulářový typ by měl být vždy použit s datovým typem vide[o] (teoreticky je možný i datový typ text - ale nemá to žádné praktické uplatnění). Zápis :

f-type="video(200,250)"

vytvoří ve formuláři prostor pro video se šířkou 200 a výškou 250 pixelů. Pokud nejsou rozměry specifikovány, převezmou se z vlastnosti data, pokud nejsou ani tam, použije se standardní rozměr daný aplikačními nastaveními. Pokud naopak jsou u data i input, použijí se přednostně nastavení input. Pokud je v závorce uvedeno pouze jedno číslo, použije se čtvercově na oba rozměry. Pokud je u rozměru uvedena nula, nebude velikost obrázku ve formuláři v daném rozměru omezována.


Zákaz kopírování hodnoty prvku disclonableVlastnost place-holder place-holderVlastnost required-if required-ifPodmíněná upravitelnost prvku edit-ifVlastní šablona segmentu custom-tempFormulářový typ inputf-type kompilaceZadání počáteční hodnoty initialÚplná změna políčka vlastní šablonou field-tempVlastnost join-fromPropojená nabídka prvku linked-offerVýběr hodnoty z dodatečného seznamu lexiconSpecifikace masky pro zadání údajů maskPrvek s generováním zprávy messengerVlastnost merge mergeOtevření formuláře openedVlastnost preserveMožnost rychlé nabídky quick-offerZadání vyžadování hodnoty requiredMožnosti chování zdroje source-behaviourSpecifikace podmínky pro zdroj dat source-filterVýchozí upřesnění opakování starting-specification