Framework poskytuje nasledovnú funkcionalitu:
Lazy tabuľka (browse)
- filtrovanie
- sortovanie
- stránkovanie
- umožňuje zobraziť aj tzv. asociovaný atribút z entity asociovanej cez ManyToOne asociáciu (zapisuje sa cez tzv. path, napr.: assoc1.assoc2.attribX)
- pri asociovaných atribútoch (path > 1) je možné zobraziť vo filtri combobox
- podpora tlačítok na otvorenie formulára (na vytvorenie a modifikáciu záznamu) a na zmazanie záznamu
- špeciálny komponent XBrowse umožňuje vytvárať lazy tabuľky modifikovateľné priamo z aplikácie (tzv. runtime edit), výzor tabuľky sa ukladá do databázy (výzor tabuľky nie je súčasťou zdrojového kódu aplikácie)
Poznámka: Lazy tabuľka sa používa na zobrazenie dát z tabuľky obsahujúcej potencionálne veľké množstvo záznamov. Filtrovanie a sortovanie sa vykonáva nad databázovou tabuľkou, framework (konkrétne mapovač TypeORM) generuje príslušné SQL dotazy (WHERE podmienku pre filtrovanie, ORDER BY klauzulu pre sortovanie).
Príklad zdrojového kódu lazy tabuľky: CarBrowse.tsx
Formulár na editáciu záznamu
- obsahuje komponenty na editáciu všetkých základných typov
- obsahuje komponent XDropdown na zadanie asociovaného objektu pomocou combobox-u
- obsahuje komponent XSearchButton na zadanie asociovaného objektu pomocou vyhľadávacieho dialógu
- obsahuje komponent XAutoComplete na zadanie asociovaného objektu pomocou autocomplete prvku
- podpora master-detail – komponent XFormDataTable2 umožňuje editáciu detail záznamov
Komponenty formulára vykonávajú základnú validáciu (do dátumového atribútu je možné zapísať len platný dátum a pod.). Framework automaticky zapisuje zmeny vo formulári do databázy (netreba programovať zápis). SQL príkazy na zápis sa generujú pomocou mapovača TypeORM.
Príklad zdrojového kódu formuláru: CarForm.tsx
Podporované typy atribútov
- reťazec (string)
- celé čísla (napr. id záznamu – typ number)
- čísla s desatinnou časťou (potrebné napr. na finančné sumy – typ decimal)
- dátum (date)
- dátum s časovou zložkou (datetime)
- áno/nie (boolean)
- ManyToOne asociácia
- OneToMany asociácia
Atribúty a ich typy sú zapísané v entite. Entita slúži na mapovanie objektu na databázovú tabuľku. Popis entít a atribútov nazývame metadáta. Metadáta sú silno využívané v celom frameworku, na servri aj na klientovi. Vďaka nim automaticky prebieha formátovanie hodnôt, validácia hodnôt, nastavenie šírky stĺpca a pod. Programátor je ušetrený od tejto práce, zdrojový kód je menší a ľahší na údržbu.
Príklad zdrojového kódu entity: car.entity.ts