SimpleType - typy fieldov

Každé pole je nejakého type, ktorý predurčuje základné ale aj pokročilé chovanie v komponentoch.

[ {name: 'zaciatok', type:'date'}, {name: 'zaciatokCas', type:'time'}, 'koniec:datetime' ]

Každá definícia typu hovorí o spôsobe zobrazenia hodnoty, možnosti editovania a hľadania podľa tohoto poľa.fields

Zoznam všetkých dostupných typov (FieldType0 je v premennej isc.builtinTypes alebo SimpleType.get('name')

// DataSource { detailFields:[ 'meno,priezvisko,line1:line', 'nadpis1:header,datumNarodenia,miestoNarodenia', {name:'nadpis2', title:'Kontakt', type:'section', itemIds: ['telefon','email','adresa']}, 'telefon,email:emailAddress,e1:empty,adresa' ] }

Vlastné typy

Vlastné typy môžu byť vytvarané per-project alebo on-the-fl.y

nameunikátny názov
inheritsFromz ktorého typu pochádzajú zdedené vlastnosti
editorTypeFormItem na editáciu
readOnlyEditorTypeFormItem na read-only
filterEditorTypeFormItem na hľadanie (v Zozname alebo pokročilom hľadaní)
fieldPropertiesvlastnosti aplikované na Field ako taký, alebo pre neexistujúce na inštanciu
editorPropertiesvlastnosti aplikované na FormItem pre editovanie (aj search)
readOnlyEditorPropertiesvlastnosti aplikované na readonly FormItem
listPropertiesvlastnosti aplikované na pole ako stĺpca v zoznzame
validatorspoužité validátory, kompletný zoznam je podľa dedičnosti a vlastnych validátorov na poli.
valueMap
editFormatter
parseInput
validOperators
SimpleType.create({ name: 'psc', inheritsFrom: 'integer', editorType: 'IntegerItem', readOnlyEditorType: 'StaticTextItem' fieldProperties: { length: 5 } });

Primitívne typy

Textové typy

textvoľný text
longtextvoľný text, dlhší a viacriadkový
linktext je externou linkou
imagetext je externou linkou na obrázok
enumučuje možnú množinu hodnôt, pomocou valueMap alebo fullValueMap.
passwordmaskované zadávanie hesla
richtextHTML5 richtext editor (CKEditor)

Numerické typy

integerzákladné celé číslo
floatzákladné desatinné číslo
localeIntformátovaný integer (M rímsky)
localeFloatformátovaný float podľa locale
localeCurrencycurrency v mene_
currencyfloat v mene
percent0.0-100.0 %
integerPercent0-100 %

Časové typy

datedátum (bez času - 12:00)
timelen čas
datetimedátum a čas (aka timestamp)
timerelativedátum a čas (aka timestamp)
timepastdátum a čas (aka timestamp)

Boolean typy

booleanhodnoty true a false (alebo null)
anybez kontroly typu, čiže len má alebo null, default sa rendruje ako text

Asociácie

Polia niektorého z asociačných typov obsahujú aj optionDataSource a automaticky používajú jeho primárny kľúč ako hodnotu.

Multiplicita 1

SC ponúka zadať type ako názov DataSource asociovaného objektu, prípadne multiple: true pre ich zoznam.

Pokročilou aleternatívou sú asociačné typy pre vlastnú editáciu a zobrazenie. Takéto pole má ďaľšie vlastnosti - optionDataSource alebo foreignKey ukazujúce na DS.

assoc1klasický ComboBoxItem a readOnly ako anchor
assoc1groupsada polí z asociácie, napr. nadpis+popis (alebo pickFields), editovací + doplňujúce polia
assoc1detailkompletný detail (vždy readOnly) asociovaného záznamu, s vlastnými operáciami
assoc1linezobraziť ako Grid s jedným riadkom
aggr1agregovaný sub-formulár
aggr1widena celú šírku
aggr1tabdo samostatnej záložky

Multiplicita N

assocnzákladný zoznam záznamov
assocnwidena celú šírku
assocntabzoznam do samostatnej záložky
assocnmultimiesto zoznamu použije
assocncheckspre malé množstvo vyberateľných záznamov, počas editácie zobrazujúce checkbox na výber
assocnback TODO backreferencia ?
assocnaggr asociované záznamy, chovajúce sa ako agregácia
aggrn
aggrnwidena celú šírku
aggrntabdo samostatnej záložky

Dekoračné typy

Tieto typy polí sú vhodné len pre fieldSety, pretože dekorujú konkrétne detaily alebo formuláre, preto je často ideálne ich skrátene zapisovať priamo v názve poľa. Preklad polí zobrazujúcich text sa definuje ako preklad poľa v DS DataSource.locales.{field.name}.

Prázdne bunky sa dynamicky vynechávajú podľa nižšieho počtu stĺpcov detailu.

titlezobrazí statický nadpis cez celý riadok, pre následúce polia.
sectiontento nadpis prepína viditeľnosť, pre názvy polí v array itemIds.
group.
linevykreslí oddelovaciu čiaru cez celý riadok.
emptya empty2 vynechájú 1 resp. 2 bunky v detaile
emptyRowvynechá 1 riadok
blurbstatický text, ako nápoveda vo formulári, blurb2 - cez dve bunky
blurbRowna celý riadok