SOURCE/classlib/model/core_readWriteTable
A writeTable osztály egy rekord táblázatos megjelenítésére, sorba rendezésére, szerkesztésére, adatlap nézetére, szűrésére használható.
Az teljes CRUD ciklus egy tömbből konfigurálható. Általában inkább 2 tömbre van szükség. Az egyik a táblázatos listázást, a másik a rekord szerkesztő adatlapot konfigurálja.
Tulajdonságok
Táblázatos megjelenítés |
||
| $fields |
Ez a tömb írja le a táblázat olvasását, Felépítése hasonló az lpTable osztály $fields tulajdonsághoz, de lényegesen többféle eleme lehet. Formátum: array( array('filed'=>'oszlopnev','alias'=>'álnév','table'=>'táblanév' ) ) Helye: SOURCE/classlib/model/core_readWriteTable/readTable.inc Értelmezési hely: SOURCE/classlib/model/core_readWriteTable/view/tableView.inc |
|
| A tömb kulcsai a következők lehetnek: | ||
| SQL specifikus | ||
| field |
Oszlopnév (Kötelező) Ha értéke 'NULL' (sztring, nagybetűvel) akkor nem lesz kiírva |
|
| alias | Álnév | |
| table | Táblanév | |
| Megjelenítéssel kapcsolatos | ||
| type |
hidden: nem jelenik meg (rejtett adat) list: A megjelenítési értéket nem közvetlenül írja ki, hanem a listából veszi. actionButton: A cella tartalomra klikkelésre JS függvény fut le. confirmButton: A cella tartalomra klikkelésre JS függvény fut le, de előtte OK-zni kell. Kell hozzá egy 'task' kulcs. 'com' opcionális classList: a td-n belül egy DIV lesz, ami a list-ből veszi az értékét date, datetime: formázott dátum externalLink: egy külső hivatkozás. Kell egy 'link' kulcs is image: Képet jelenít meg. A cella értéke a kép elérési útja initials: Monogrammot készít a szavakból (első betűk) link, actionLink: Hasonló a gombhoz. Az actionLink JS függvényt hív, a link normál link. Meg lehet adni 'params' kulcsot, akkor abból készül a link yesno: Bool típusú változók, checkbox price, bigInt: Formázott szám priceShort: Egyszerűsített szám. pl: 32,4M tel: Formázott telefonszám text: HTML nélküli szöveg timestamp: Unix timestamp timestamp_dateonly: Unix timestamp, csak dátum |
|
|
list translatedList |
Ha a 'type' list, akkor itt kell megadni a listát, amiből a megjelenítési értéket veszi. translatedList-nél szótárazza is | |
| listName | Ha a 'type' list, akkor itt kell megadni annak a listának a nevét, amiből a megjelenítési értéket veszi. | |
| filter | Az oszlop szűrő tömb select-hez. Lennie kell benne 'option_text' kulcsnak | |
| filterName | Ha a szűrő még nincs meg, akkor a szűrő neve a listák-ból. | |
| title | Html title lesz a cellához | |
| unit | Mértékegységre használatos, a sor tartalom után írja | |
| Függvény hívás a cella megjelenítésekor | ||
| dataFunction |
array('class'=>'c1','method'=>'f1') A c1-es osztály f1-es függvényét hívja meg az adatsor ($row) értékkel és a visszatérési értéket írja ki. |
|
|
array('class'=>'c1','method'=>'f1') A c1-es osztály f1-es függvényét hívja meg az adatsor ($row) értékkel és a cella css osztálya a visszatérési érték lesz. |
|
Rekord szerkesztés |
||
| $editFields |
Ez a tömb írja le a táblázat szerkesztését, Felépítése hasonló az lpTable osztály $fields tulajdonsághoz, de lényegesen többféle eleme lehet. Formátum: array( array('filed'=>'oszlopnev','alias'=>'álnév','table'=>'táblanév' ) ) Helye: SOURCE/classlib/model/core_readWriteTable/writeTable.inc Értelmezési hely: SOURCE/classlib/model/core_readWriteTable/view/formView.inc Ha nincs kitöltve, akkor a $fields értéke másolódik át. Ez is működhet, de ritka |
|
| A tömb kulcsai a következők lehetnek: | ||
| SQL specifikus | ||
| field |
Oszlopnév (Kötelező) Ha értéke 'NULL' (sztring, nagybetűvel) akkor nem lesz lekérdezve, mentve |
|
| alias | Álnév | |
| table | Táblanév | |
| Form ellenőrzés SOURCE/classlib/model/formModel.inc | ||
| convertCase | Kis-nagybetű váltás wordsToUpper, firstCapital, toUpper | |
| default | Alapértelmezett érték, ha nincs kitöltve | |
| minlength | Minimális hossz (karakter) | |
| characters |
array('lower','upper','number') Ezeknek kell legalább szerepelnie a bemenetben. Pl: jelszónál 'charactersMin': minimális hossz, ugyanaz mint a 'minlength', de csak a chacacters-en belül értelmezett. |
|
| copy | A rekordon belüli másik mezőt másolja át | |
| datatype | A mező adattípusa, minek kell beolvasni. BOOL, INT, EMAIL, stb... lpRequest szerint | |
| equals | equals=>másikMezőNeve. Ha a két mezőnek meg kell egyeznie. Fontos a sorrend, A későbbi mezőnél kell lekérdezni, és az $editFields kulcsai meg kell, hogy egyezzenek a mezőnévvel. | |
| equalsNot | Nem egyezhet meg a másik mezővel | |
| exists | Létező rekord? | |
| notExits | ||
| greater | Nagyobb mint fix érték, nagyobb mint másik mező. Fontos a sorrend, A későbbi mezőnél kell lekérdezni, és az $editFields kulcsai meg kell, hogy egyezzenek a mezőnévvel. | |
| Megjelenítéssel kapcsolatos | ||
| type |
array: egy tömböt ír ki autocomplete: begépelős kereső, rejtett input mezővel. Elég bonyolult paraméterezni. 'params' kulcs kell hozzá. button: HTML Button-t jelenít meg. 'onclick' kulcs kell hozzá, ott kell lennie a JS függvénynek captcha: Captcha ellenőrző kódot jelenít meg date: JQueryUi datepicker-t jelenít meg dateTime: JQueryUi datepicker-t jelenít meg, és két select-et az órának és percnek. Az időt külön kell beolvasni! Azt nem kezeli automatikusan. div: egy div tag-et nyit meg /div: egy div tag-et zár div/div: egy div tag-et nyit és zár editor: text mező helyett ckEditort hív be mailto:mailto link file_select: fájl kiválasztó ablakot nyit json: JSON tömböt ír ki link: Normál link. Meg lehet adni 'params' kulcsot, akkor abból készül a link list: HTML Select lpcheckbox, yesno,confirmbutton: checkbox lpcheckboxdisplay: checkbox kijelzés, nem kattintható hidden: rejtett input newcolumn: új oszlop a form-on belül. 3 fér el a képernyőn. nodisplay: semmi empty: float megszüntetése separator: egy div, utána float megszüntetése textarea: textarea time: 2 select-es idő bevitel view_file: Külső view file |
|
| Egyéb kulcsok | ||
| locked | Ha értéke 1, nem lesz lementve | |
| default |
Alapértelmezett érték mentésnél |
|
| unit | mértékegység az input után | |