====== Action ====== Tento prvok je určený pre spúšťanie rôznych akcii. Akcie sa zapisujú ako XML, takže pozor na následujúce nástrahy: * Atribúty musia byť v úvodzovkách alebo apostrofoch. * Samotný element musí byť ukončený. Ak bude nejaká hodnota typu ''boolean'', môže sa používať aj alternatívny zápis ''on'', ''off'', ''yes'', ''no'', ''true'', ''false''. Názov udalosti pre broadcast môže na začiatku obsahovať: * ''^'' znamená, že sa odvysiela udalosť pre prvky na všetkých TAB-och, teda nie len pre prvky v práve aktuálnom TAB-e. Napríklad ''^e_select'' * ''@'' znamená, že namiesto udalosti sa vykoná akcia nad tlačítkom alebo akciou. Napríklad ''@a_control1'' Názov prvku ''controlId'' môže na začiatku obsahovať: * ''#'' znamená, že namiesto ''controlId'' sa použijú prvky, ktoré majú tento tag (štítok). Napríklad ''#tElements'' ---- ===== layout ===== Táto akcia mení vlastnosti nejakého iného prvku na aktuálnom tab-e. Atribút ''controlId'' určuje prvok na aktuálnom tab-e, na ktorom sa urobia zmeny (cieľový prvok). Ostatné atribúty sú nepovinné. Atribút ''tag'' určuje prvky na aktuálnom tab-e, na ktorom sa urobia zmeny (cieľové prvoky). Ostatné atribúty sú nepovinné. Musí byť zadaný atribút ''controlId'' alebo ''tag''. Ak je atribút ''broadcast=1'', potom sa po skončení všetkých akcií na tlačítku odvysielajú udalosti tlačítka, ktoré vyvolalo túto akciu. ==== Príklad ==== ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''__controlId__'' | //string// | ID prvku na aktuálnom tab-e. | | ''__tag__'' | //string// | Tag prvku na aktuálnom tab-e. | | ''baseControlId''\\ //4.5.112// | //string// | Prvok, podľa ktorého sa určí offset.\\ Je možné použiť aj posledne použitý layout prvok, ktorý je označený ako ''_lastControl''. | | ''baseControlPoint''\\ //4.5.112// | //enum// | ''lt'' = Left Top ''left top''\\ ''rt'' = Right Top ''right top'', ''right'' (prednastavené)\\ ''lb'' = Left Bottom ''left bottom'', ''bottom''\\ ''rb'' = Right Bottom ''right bottom'' | | ''width'' | //px// | Šírka cieľového prvku. | | ''height'' | //px// | Výška cieľového prvku. | | ''left'' | //px// | Pozícia vľavo (x) cieľového prvku. | | '' top'' | //px// | Pozícia hore (y) cieľového prvku. | | ''moveType''\\ //4.4.439+// | //enum// | ''absolute'' = základné nastavenie, na absolútne súradnice (prednastavené)\\ ''group'' = presun viacerých prvkov na základe tag-u podľa prvku, ktorý je najlavší a najhornejší\\ ''shift'' = **posun** viacerých prvkov na základe tag-u | | ''visible'' | //bool// | 0 = nie je viditeľný\\ 1 = je viditeľný | | ''enabled'' | //bool// | 0 = nie je povolený\\ 1 = je povolený\\ :!: Nie je zatiaľ implementované. | | ''alpha'' | //%// | Priehladnosť, hodnoty 0 až 100. \\ 0 = Úplne riehľadný\\ 100 = Nepriehľadný | | ''clear'' | //bool// | Vymazanie obsahu ovládacieho prvku (''label'', ''button''). Vhodné kombinovať s atribútom ''preventUpdate''. | | ''label'' | //string// | Pre niektoré prvky (''button'', ''label'') dokáže nastaviť label, aj pomocou {$formData.FORM_DATA_ID} a {$helperData.HELPER_DATA_ID}. Vhodné kombinovať s atribútom ''preventUpdate'' | | ''hint'' | //string// | Nastavenie hint-u pre niektoré prvky (ako ''label''). | | ''preventUpdate'' | //bool// | Platí pre niektoré prvky (''button'', ''label''), zabraňuje update prvku. | | ''broadcast'' | //bool// | 1 = odvysielajú sa udalosti definované na tomto tlačítku. | | ''updateControl'' | //bool// | ''yes'' = cieľový prvok sa obnoví. | | ''timeout'' | //ms// | Ak bude nastavené kladné číslo, táto akcia sa vykoná až o zadaný počet milisekúnd. | | ''timerName'' | //string// | Názov timera pre timeout. | ---- ===== date ===== Táto akcia nastavuje dátum. Dátum sa bude nastavovať pre premennú objektu ''formData'' definovanú buď ako atribút akcie (''dataId'', ''formDataId''), alebo definovanú na samotnom tlačítku ako ''dataId''. Treba myslieť na to, že táto akcia iba nastavuje premennú. Samotné prekleslenie nastane: * nastavením atribútu ''%%broadcast="1"%%'', * alebo ďalšou akciou ''''. ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''dataId''\\ ''formDataId'' | //string// | Dátumová premenná (formData), ktorá sa bude nastavovať. | | ''helperDataId'' | //string// | Dátumová premenná (helperData), ktorá sa bude nastavovať. (4.5.224+) | | ''action'' | //string// | Typ akcie:\\ ''today'' - dnešný dátum\\ ''next_day'' - následujúci deň\\ ''previous_day'' - predchádzajúci deň\\ ''next_week'' - následujúci týždeň\\ ''previous_week'' - predchádzajúci týždeň\\ \\ (4.5.4.5.349+)\\ ''next_month'' - 1. deň následujúceho mesiaca\\ ''previous_month'' - 1. deň predchádzajúceho mesiaca\\ ''this_monday'' - pondelok aktuálneho týždňa\\ ''next_monday'' - pondelok následujúceho týždňa\\ ''previous_monday'' - pondelok predchádzajúceho týždňa\\ ''monday'' - pondelok\\ ''first_day_of_month'' - prvý deň v mesiaci\\ ''last_day_of_month'' - posledný deň v mesiaci | | ''broadcast'' | //bool// | 1 = odvysielajú sa udalosti definované na tomto tlačítku. | | ''updateControl'' | //bool// | ''yes'' = cieľový prvok sa obnoví. | ==== Príklad ==== Od verzie 4.5.375 sa dá používať [[#skrateny-zapis|skrátený zápis]] ako pre element ''''. ---- ===== set ===== Táto akcia nastavuje ''formData'' alebo ''formHelperData''. Ak je atribút ''broadcast=1'', potom sa po skončení všetkých akcií na tlačítku odvysielajú udalosti tlačítka, ktoré vyvolalo túto akciu. ==== Príklad ==== ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''formDataId''\\ ''dataId'' | //string// | Index ''formData'' premennej, ktorá sa bude nastavovať. | | ''helperDataId'' | //string// | Index ''helperData'' premennej, ktorá sa bude nastavovať. | | ''controlId''\\ ''var'' | //string// | Prvok na aktuálnom TAB-e a názov premennej, ktorá sa bude nastavovať. | | //Hodnota// ||| | ''value'' | //string// | Priama hodnota z atribútu. | | ''valueDataId''\\ ''valueFormDataId'' | //string// | Hodnota z objektu ''formData''.\\ Napr. ''priezvisko'' | | ''valueDataPath''\\ ''valueFormDataPath'' | //string// | Hodnota zo štruktúry ''formData''.\\ Napr. ''obcan.vek'' | | ''valueHelperDataId'' | //string// | Hodnota z objektu ''helperData''.\\ Napr. ''pom_priezvisko'' | | ''valueHelperDataPath'' | //string// | Hodnota zo štruktúry ''helperData''.\\ Napr. ''pom_obcan.vek'' | | ''keyHelperDataId''\\ ''indexHelperDataId'' | //string// | Index, kľúč na výslednej hodnote. | | ''keyFormDataId''\\ ''indexFormDataId'' | //string// | Index, kľúč na výslednej hodnote.\\ (4.5.223+) | | ''valueControlDataId'' | //bool// | Hodnota z ''formData'' podľa ''controlId'' aktuálneho prvku. | | ''isKeyDown'' | //string// | Či je stlačená predraďovacia klávesa. Možné hodnoty:\\ ''control''\\ ''shift''\\ ''alt'' | | ||| | ''type'' | //string// | Určenie typu, možné hodnoty atribútu:''\\ string\\ boolean, bool\\ number\\ int\\ object\\ array\\ raw\\ nodestring'' | | ''copy'' | //bool// | | | ''math'' | //string// | Základné matematické operácie:''\\ inc\\ dec\\ not\\ randomNumber''\\ Pri ''inc, dec'' može ''value_...'' určiť, o koľko sa zvýši/zníži cieľová hodnota. | | ''randomMin'' | //int// | Minimálna hodnota pre ''math=random'' | | ''randomMax'' | //int// | Maximálna hodnota pre ''math=random'' | | ||| | ''string'' | //string// | Základné stringové operácie:\\ ''substr'', ''substring'' - používa atribúty ''stringStart'', ''stringLength''\\ \\ (4.5.223+)\\ ''chr'' - používa atribúty ''stringAscii''\\ \\ (4.5.373+)\\ ''substrCount'', ''substringCount'' - používa atribúty ''stringSearch''\\ ''search'' - používa atribúty ''stringSearch'', ''stringStart''\\ ''replace'' - používa atribúty ''stringSearch'', ''stringReplace''\\ ''length'', ''size''\\ ''upper''\\ ''lower''\\ ''split'' - používa atribúty ''stringDelimiter'', ''stringLimit'', ''stringSplitMulti'' | | ''stringStart'' | //int// | Začiatok pre ''string=substr'', ''string=search'' | | ''stringLength'' | //int// | Dĺžka pre ''string=substr'' | | ''stringAscii'' | //int// | Ascii pre ''string=chr'' | | ''stringSearch'' | //string// | Hľadaný výraz pre ''string=search'', ''string=replace'', ''string=substrCount'' | | ''stringReplace'' | //string// | Čím sa nahradí nájdený výraz pre ''string=replace'' | | ''stringDelimiter'' | //string// | Delimiter pre ''string=split'' | | ''stringLimit'' | //int// | Limit pre ''string=split'' | | ''stringSplitMulti'' | //bool// | Nastavenie pre ''string=split''. \\ 1 - každý jeden znak v ''stringDelimiter'' bude delimiterom. Každý prvok výsledného poľa bude trimovaný a výsledné pole nebude obsahovať prázdne prvky. | | | | | | ''array'' | //string// | Základné operácie s poľom:\\ (4.5.373+)\\ ''length'', ''count'' | | | | | | ''date'' | //string// | (4.5.224+)\\ ''today'' - dnešný dátum\\ ''next_day'' - následujúci deň\\ ''previous_day'' - predchádzajúci deň\\ ''next_week'' - následujúci týždeň\\ ''previous_week'' - predchádzajúci týždeň\\ \\ (4.5.345+)\\ ''now'' - aktuálny čas vo formate Y-m-d H:i:s'\\ ''timestamp'' - aktuálny čas ako timestamp (JS format)\\ ''unix_timestamp'' - aktuálny čas ako timestamp (UNIX, milisekundy v milisekundách)\\ \\ (4.5.349+)\\ ''next_month'' - 1. deň následujúceho mesiaca\\ ''previous_month'' - 1. deň predchádzajúceho mesiaca\\ ''this_monday'' - pondelok aktuálneho týždňa\\ ''next_monday'' - pondelok následujúceho týždňa\\ ''previous_monday'' - pondelok predchádzajúceho týždňa\\ ''monday'' - pondelok\\ ''first_day_of_month'' - prvý deň v mesiaci\\ ''last_day_of_month'' - posledný deň v mesiaci\\ \\ (4.5.351+)\\ ''format'' - jednoduché formátovanie, formát sa následne definuje v atribúte ''format''. | | ''format'' | //string// | (4.5.345+)\\ Iba pre ''date''=''now'' (od 4.5.351 plati aj pre ostatné ''date'' príkazy).\\ Formát dátumu, podľa PHP funkcie ''date()'' | | | | | | ''broadcast'' | //bool// | 1 = odvysielajú sa udalosti definované na tomto tlačítku. | | ''updateControl'' | //bool// | ''yes'' = cieľový prvok sa obnoví. | ==== Príklady zadania cez atribút ==== Všetky príklady sa dajú použiť aj s nastavovaním ''helperDataId'' namiesto ''formDataId'' alebo ovládací prvok ''controlId''. === formData === === helperData === ==== Príklady zadania cez hodnotu ==== 25 25 === formData === {$formData.vybrany_obcan} CX-{$formData.vybrany_obcan} V-{$formData.vybrany_obcan.vek} === helperData === {$helperData.pom_obcan} V-{$helperData.pom_obcan.vek} === object/array === ---- ==== Skrátený zápis ==== Od verzie 4.5.375 je možné používať skrátené názvy: ^ Dlhý\\ názov ^ Skrátený\\ názov ^ Príklad ^ | ''formDataId'' | ''F'' | | | ''helperDataId'' | ''H'' | | | ''valueFormDataId'' | ''FI'' | | | ''valueFormDataPath'' | ''FP'' | | | ''valueHelperDataPath'' | ''HP'' | | | ''valueHelperDataId'' | ''HI'' | | | ''{$formData}'' | ''{$F}'' | ''{$F.obcan.meno}'' | | ''{$helperData}'' | ''{$H}'' | ''{$H.obcan.meno}'' | Fero {$helperData.pom_obcan.meno} Fero {$H.pom_obcan.meno} ---- ===== push===== Táto akcia pridá hodnotu do poľa pre ''formData'', ''formHelperData'' alebo nejaký ovládací prvok ''controlId''. Syntax je rovnaká ako pre akciu [[#set|set]]. ----- ===== unset===== Táto akcia vymaže nastavenie pre ''formData'', ''formHelperData'' alebo nejaký ovládací prvok ''controlId''. Syntax je rovnaká ako pre akciu [[#set|set]]. ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''formDataId''\\ ''dataId'' | //string// | Index ''formData'' premennej, ktorá sa bude vymazávať. | | ''helperDataId'' | //string// | Index ''helperData'' premennej, ktorá sa bude vymazávať. | | ''controlId''\\ ''var'' | //string// | Prvok na aktuálnom TAB-e a názov premennej, ktorá sa bude vymazávať. | | ||| | ''broadcast'' | //bool// | 1 = odvysielajú sa udalosti definované na tomto tlačítku. | | ''updateControl'' | //bool// | ''yes'' = cieľový prvok sa obnoví. | ==== Príklad ==== ---- ===== runControl ===== Spustenie akcie (akcia, tlačítko, dataRequest). Atribút ''controlId'' alebo ''tag'' je povinný. Pri dataRequest sa vyvolá update. ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''__controlId__'' | //string// | ID prvku, ktorý sa bude updatovať. | | ''__tag__'' | //string// | Tag prvkov, ktoré sa budú updatovať. | ==== Príklad ==== Od verzie 4.5.369+ Ak bude ''controlId'' obsahovať znak ''|'', potom to bude vyodnotené ako parametre volania. Tieto parametre sa prenesú do helperData aktuálneho TAB-u pod kľúče ''_runControlArg0'', ''_runControlArg1'', .... Tieto parametre môžu obsahovať aj zápis ''{$helperData.var88}'', ''{$formData.var88}'' a pod. Nie je implementované na každé ''controlId'', aktuálne iba: runControl, messageBox. ---- ===== updateControl ===== Vyvolanie akcie ''update'' pre konkrétny ovládací prvok. Napríklad pre prvok ''label'' to znamená prekreslenie obsahu, pre ''žurnál'' to znamená nové načítanie obsahu a pod. Atribút ''controlId'' alebo ''tag'' je povinný. ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''__controlId__'' | //string// | ID prvku, ktorý sa bude updatovať. | | ''__tag__'' | //string// | Tag prvkov, ktoré sa budú updatovať. | ==== Príklad ==== ---- ===== messageBox ===== Zobrazenie správy. ==== Atribúty ==== ^ Atribút ^ ^ Popis ^ | ''type'' | //string// | Typ:\\ ''normal''\\ ''info''\\ ''warning''\\ ''error''\\ ''question'', ''yesno'', ''yes_no'' | | ''selectable'' | //boolean// | Bude selektovateľný? | | ''width'' | //int// | Šírka | | ''onYesBroadcastEventId''\\ ''onYesEventId'' | //string// | Udalosť, ktorá sa zavolá pri výbere voľby ''yes'' | | ''onNoBroadcastEventId''\\ ''onNoEventId'' | //string// | Udalosť, ktorá sa zavolá pri výbere voľby ''no'' | | ''onOkBroadcastEventId''\\ ''onOkEventId'' | //string// | Udalosť, ktorá sa zavolá pri výbere voľby ''ok'' | | ''onCancelBroadcastEventId''\\ ''onCancelEventId'' | //string// | Udalosť, ktorá sa zavolá pri výbere voľby ''cancel'' | | ''onYesRunControlId'' | //string// | Control pri udalosti ''yes'' | | ''onNoRunControlId'' | //string// | Control pri udalosti ''no'' | | ''onOkRunControlId'' | //string// | Control pri udalosti ''ok'' | | ''onCancelRunControlId'' | //string// | Control pri udalosti ''cancel'' | ==== Príklad ==== Ahoj, Mesiac! V rámci textu pre zobrazenie sa dá použiť: * ''{$formData.VAR_NAME}'' * ''{$F.VAR_NAME}'' (//4.5.375+//) * ''{$helperData.VAR_NAME}'' * ''{$H.VAR_NAME}'' (//4.5.375+//) * ''{$E.entity}'' - magická premenná pre vkladanie entít (//4.5.239+//) ---- Od verzie 4.5.365 je možné použiť rozšírenú syntax, ktorá umožňuje definovať vlastné tlačítka. ==== Príklad bez vnoreného tagu (