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.

classFunction

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