====== messageBox ======
===== Zaradenie =====
* ''**_UI**''
* ''messageBox''
===== Špecifikácia =====
function _UI.messageBox(settings)
@param object settings
@return form
===== Prehľad nastavení =====
^ vlastnosť ^ typ ^ default ^ popis ^
| ''[[#template|template]]'' | //number// | ''_UI.MESSAGE_BOX_NORMAL'' | ''_UI.MESSAGE_BOX_NORMAL'' \\ ''_UI.MESSAGE_BOX_INFO'' \\ ''_UI.MESSAGE_BOX_WARNING'' \\ ''_UI.MESSAGE_BOX_ERROR'' \\ ''_UI.MESSAGE_BOX_YES_NO'' \\ ''_UI.MESSAGE_BOX_YES_NO_CANCEL'' |
| ''[[#label|label]]'' | //string// | | |
| ''[[#callback|callback]]'' | //array// | ''null'' | |
| ''[[#callback|callbackResponse]]'' \\ ''[[#callback|response]]'' | //number// | ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' | ''_UI.MESSAGE_BOX_RESPONSE_NONE'' \\ ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' \\ ''_UI.MESSAGE_BOX_RESPONSE_EVENT'' |
| ''[[#callback_-callid|callback_{callId}]]'' \\ ''[[#callback_-callid|on{callId}Callback]]'' | //array// | ''null'' | |
| ''[[#icon|icon]]'' | //number// | ''null'' | ''_UI.MESSAGE_BOX_ICON_NONE'' \\ ''_UI.MESSAGE_BOX_ICON_INFO'' \\ ''_UI.MESSAGE_BOX_ICON_WARNING'' \\ ''_UI.MESSAGE_BOX_ICON_ERROR'' \\ ''_UI.MESSAGE_BOX_ICON_QUESTION'' |
| ''[[#iconSymbolId|iconSymbolId]]'' | //string// | ''null'' | |
| ''[[#sound|sound]]'' | //number// | ''null'' | ''_UI.MESSAGE_BOX_SOUND_NONE'' \\ ''_UI.MESSAGE_BOX_SOUND_INFO'' \\ ''_UI.MESSAGE_BOX_SOUND_WARNING'' \\ ''_UI.MESSAGE_BOX_SOUND_ERROR'' \\ ''_UI.MESSAGE_BOX_SOUND_QUESTION'' |
| ''[[#soundSymbolId|soundSymbolId]]'' | //string// | ''null'' | ''sound_error'' \\ ''sound_ding'' \\ ''...'' |
| ''[[#disableSound|disableSound]]'' | //boolean// | ''false'' | |
| ''[[#bottomLine|bottomLine]]'' \\ ''[[#bottomLine|line]]'' | //boolean// | ''false'' | |
| ''width'' | //number// | ''null'' | |
| ''height'' | //number// | ''null'' | |
| ''selectable'' | //boolean// | ''false'' | |
| ''checkbox'' | //object// | ''null'' | |
| - ''label'' | //string// | | |
| - ''state'' | //boolean// | ''false'' | |
| ''buttons'' | //array// | ''null'' | |
| - ''callId'' | //string// | | |
| - ''label'' | //string// | | |
| - ''hint'' | //string// | | |
| - ''symbolId'' | //string// | | |
| - ''key'' | //string// \\ //number// \\ //array// | | |
| - ''callback'' | | | |
| ''timeout'' | //object// | ''null'' | |
| - ''time'' | //number// | ''10'' | |
| - ''callId'' | //string// | | |
| ''useDisableBox'' | //boolean// | ''true'' | |
| ''autoScroll'' | //boolean// | ''false'' | |
| ''autoScrollHtml'' | //boolean// | ''false'' | |
===== Nastavenia =====
==== template ====
@param number settings.template
''**settings.template**'' je niečo ako rýchla šablóna a určuje základnú formu, ako bude messageBox zobrazený.
\\ Môže mať nastavenú jednu z následujúcich hodnôt:
^ Hodnota ^ Základné nastavenie ^
| ''_UI.MESSAGE_BOX_NORMAL'' | tlačítko ''**OK**'' |
| ''_UI.MESSAGE_BOX_INFO'' | ikona ''Info'', tlačítko ''**OK**'', zvuk ''ding'' |
| ''_UI.MESSAGE_BOX_WARNING'' | ikona ''Warning'', tlačítko ''**OK**'', zvuk ''error'' |
| ''_UI.MESSAGE_BOX_ERROR'' | ikona ''Error'', tlačítko ''**OK**'', zvuk ''error_1'' |
| ''_UI.MESSAGE_BOX_YES_NO'' | ikona ''Question'', tlačítka ''**Yes**'' a ''**No**'', zvuk ''ding'' |
| ''_UI.MESSAGE_BOX_YES_NO_CANCEL'' | ikona ''Question'', tlačítka ''**Yes**'', ''**No**'' a ''**Cancel**'', zvuk ''ding'' |
Preddefinované tlačítka sa zobrazujú v lokálnom jazyku prihláseného užívateľa ((ak je daný preklad k dispozícií))
a zároveň reagujú aj na preddefinované klávesy podľa lokálneho jazyka
prihláseného užívateľa.
\\ Napríklad tlačítko ''**Yes**'' sa dá v slovenskom jazyku vyvolať klávesou ''**A**''.
Tlačítko ''**Cancel**'' reaguje na klávesu ''**Esc**'' a Tlačítko ''**OK**'' reaguje na klávesu ''**Enter**'' ((Nastavené v language, ''id=app_message_key_...'')).
Samozrejme je možné zobraziť aj vlastné [[#buttons|tlačítka]].
Ikonu môžete nastaviť aj pomocou parametra ''[[#icon|settings.icon]]'' alebo ''[[#iconSymbolId|settings.iconSymbolId]]''.
----
''**template=_UI.MESSAGE_BOX_NORMAL**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
label: "Udaje boli nacitane."
});
{{ messagebox-normal.jpg?nolink |}}
----
''**template=_UI.MESSAGE_BOX_INFO**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_INFO,
label: "Udaje boli nacitane."
});
{{ messagebox-info.jpg?nolink |}}
----
''**template=_UI.MESSAGE_BOX_WARNING**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_WARNING,
label: "Chyba pri citani udajov."
});
{{ messagebox-warning.jpg?nolink |}}
----
''**template=_UI.MESSAGE_BOX_ERROR**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_ERROR,
label: "Vazna chyba pri citani udajov."
});
{{ messagebox-error.jpg?nolink |}}
----
''**template=_UI.MESSAGE_BOX_YES_NO**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Naozaj chcete pokracovat?"
});
{{ messagebox-yes-no.jpg?nolink |}}
----
''**template=_UI.MESSAGE_BOX_YES_NO_CANCEL**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO_CANCEL,
label: "Naozaj chcete prepisat udaje?"
});
{{ messagebox-yes-no-cancel.jpg?nolink |}}
----
==== label ====
@param string settings.label
**Povinný** parameter ''**settings.label**'' určuje, aký text sa zobrazí v messageBox-e.
\\ Môže byť samozrejme viac-riadkový ((html tag ''
'', entita ''
'' alebo znak nového riadku ''\n''))
a môže obsahovať HTML formátovanie.
_UI.messageBox({
template: _UI.MESSAGE_BOX_INFO,
label: "Udaje boli nacitane.
Novy riadok
Dalsi novy riadok\nA este jeden novy riadok."
});
{{ messagebox-label.jpg?nolink |}}
----
==== callback ====
@param array settings.callback
@param number settings.callbackResponse=_UI.MESSAGE_BOX_RESPONSE_EVENT
Nepovinný parameter ''**settings.callback**'' určuje, ktorá funkcia sa zavolá po stlačení tlačítka v messageBox-e.
\\ Parameter ''settings.callback'' sa definuje ako pole pre funkciu ''[[/dev/omega/flash/global-misc#_call|_call()]]''.
Parameter ''**settings.callbackResponse**'' určuje, akým spôsobom bude výsledok prenesený do callback funkcie.
\\ Predvolený je ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**''.
:!: Parameter ''**settings.response**'' je synonymom pre ''**settings.callbackResponse**''.
Stlačené tlačítko bude typu //string// a budeme ho volať ako ''**callId**''.
V prípade preddefinovaných tlačítiek sa jedná o následovné hodnoty:
^ Tlačíko ^ Skutočná hodnota ^ Prístup aj cez ^
| Ok | ''%%"ok"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_OK'' |
| Cancel | ''%%"cancel"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_CANCEL'' |
| Yes | ''%%"yes"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_YES'' |
| No | ''%%"no"%%'' | ''_UI.MESSAGE_BOX_RESPONSE_NO'' |
^ Hodnota ^ Popis ^
| ''_UI.MESSAGE_BOX_RESPONSE_EVENT'' | Výsledok bude premenná typu ''bEvent'' |
| ''_UI.MESSAGE_BOX_RESPONSE_NORMAL'' | Výsledok bude ''string''. |
V prípade ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**'' bude ''callId'' stlačeného tlačítka uložený
v ''e.response.callId''
a zároveň aj v ''e.callId'', kde ''**e**'' je premenná typu bEvent.
__Príklad 1:__
\\ Použitie ''**_UI.MESSAGE_BOX_RESPONSE_EVENT**'', prípadne tento argument je možné úplne vynechať, lebo je predvolený.
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Chcete pokracovat?",
callbackResponse: _UI.MESSAGE_BOX_RESPONSE_EVENT, // default, nemusí byť uvedený
callback: [this, "responseEventFnc", "argument1", "argument2"]
});
function responseEventFnc(e, arg1, arg2)
{
// callId tlačítka bude v e.response.callId, prípadne v e.callId
avhd({
e_callId: e.callId,
e_callId2: e.getCallId(),
e_response: e.response,
arg1: arg1,
arg2: arg2
});
}
{{ :dev:omega:flash:ui:messagebox-callback1.jpg?nolink |}}
Po stlačení tlačítka **Áno** sa zobrazí následujúci výsledok:
{{ :dev:omega:flash:ui:messagebox-callback1-result-event.jpg?nolink |}}
__Príklad 2:__
\\ Použitie ''**_UI.MESSAGE_BOX_RESPONSE_NORMAL**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Chcete pokracovat?",
callbackResponse: _UI.MESSAGE_BOX_RESPONSE_NORMAL,
callback: [this, "responseNormalFnc", "argument1", "argument2"]
});
function responseNormalFnc(callId, arg1, arg2)
{
avhd({
callId: callId,
arg1: arg1,
arg2: arg2
});
}
{{ :dev:omega:flash:ui:messagebox-callback1.jpg?nolink |}}
Po stlačení tlačítka **Áno** sa zobrazí následujúci výsledok:
{{ :dev:omega:flash:ui:messagebox-callback1-result-normal.jpg?nolink |}}
----
==== callback_{callId} ====
@param array settings.callback_{callId}
@param array settings.on{callId}Callback Alternatívne použitie
Pomocou tohoto parametra je možné nadefinovať rýchle callback volanie pre tlačítka.
\\ ''{callId}'' treba nahradiť za ''callId'' tlačítka, na ktoré chceme naviazať callback funkciu.
Parameter ''settings.callback_{callId}'' sa definuje ako pole pre funkciu ''[[/dev/omega/flash/global-misc#_call|_call()]]''.
:!: Callback funkcia už nedostane žiaden parameter o výsledku.
Napríklad ak chcete, aby sa po stlačení tlačítka **Yes** zavolala funkcia a po stlačení tlačítka **No** iná funkcia, potom môžeme použiť násl. skript:
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Chcete pokracovat?",
callback_yes: [this, "responseYesFnc", "argument1", "argument2"],
callback_no: [this, "responseNoFnc"]
});
function responseYesFnc(arg1, arg2)
{
avhd({
arg1: arg1,
arg2: arg2
});
}
function responseNoFnc()
{
}
__Alternatívne použitie:__
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Chcete pokracovat?",
callback: [this, "dummyFnc"],
onYesCallback: [this, "responseYesFnc", "argument1", "argument2"],
onNoCallback: [this, "responseNoFnc"]
});
----
==== icon ====
@param number settings.icon
''**settings.icon**'' určuje, aká ikona bude použitá v messageBox-e.
Ikona sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ju nemusíte extra nastavovať.
\\ Môže mať nastavenú jednu z následujúcich hodnôt:
| ''_UI.MESSAGE_BOX_ICON_NONE'' |
| ''_UI.MESSAGE_BOX_ICON_INFO'' |
| ''_UI.MESSAGE_BOX_ICON_WARNING'' |
| ''_UI.MESSAGE_BOX_ICON_ERROR'' |
| ''_UI.MESSAGE_BOX_ICON_QUESTION'' |
''**icon=_UI.MESSAGE_BOX_ICON_INFO**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
icon: _UI.MESSAGE_BOX_ICON_INFO,
label: "Udaje boli nacitane."
});
{{ messagebox-icon-info.jpg?nolink |}}
----
''**icon=_UI.MESSAGE_BOX_ICON_WARNING**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
icon: _UI.MESSAGE_BOX_ICON_WARNING,
label: "Udaje boli nacitane."
});
{{ messagebox-icon-warning.jpg?nolink |}}
----
''**icon=_UI.MESSAGE_BOX_ICON_ERROR**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
icon: _UI.MESSAGE_BOX_ICON_ERROR,
label: "Udaje boli nacitane."
});
{{ messagebox-icon-error.jpg?nolink |}}
----
''**icon=_UI.MESSAGE_BOX_ICON_QUESTION**''
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
icon: _UI.MESSAGE_BOX_ICON_QUESTION,
label: "Udaje boli nacitane."
});
{{ messagebox-icon-question.jpg?nolink |}}
----
==== iconSymbolId ====
@param string settings.iconSymbolId
''**settings.iconSymbolId**'' určuje, aký symbol ikony bude použitý v messageBox-e.
Symbol je identifikátor ((''library linkageIdentifier'')) z knižnice.
\\ Veľkosť ikony by mala byť približne 32x32 px.
Ikona sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ju nemusíte extra nastavovať.
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
iconSymbolId: "my_message_box_special_symbol",
label: "Udaje boli nacitane."
});
----
==== sound ====
@param number settings.sound
''**settings.sound**'' určuje, aký zvuk bude prehraný pri zobrazení messageBox-u.
Zvuk sa automaticky nastaví, ak použijete parameter ''[[#template|settings.template]]'', takže ho nemusíte extra nastavovať.
\\ Môže mať nastavenú jednu z následujúcich hodnôt:
| ''_UI.MESSAGE_BOX_SOUND_NONE'' |
| ''_UI.MESSAGE_BOX_SOUND_INFO'' |
| ''_UI.MESSAGE_BOX_SOUND_WARNING'' |
| ''_UI.MESSAGE_BOX_SOUND_ERROR'' |
| ''_UI.MESSAGE_BOX_SOUND_QUESTION'' |
_UI.messageBox({
template: _UI.MESSAGE_BOX_NORMAL,
sound: _UI.MESSAGE_BOX_SOUND_ERROR,
label: "Udaje boli nacitane."
});
----
==== disableSound ====
@param boolean settings.disableSound=false
Ak bude parameter ''**settings.disableSound=true**'',
potom sa neprehrá žiaden zvuk aj napriek tomu, že bol nadefinovaný.
_UI.messageBox({
template: _UI.MESSAGE_BOX_ERROR,
disableSound: true,
label: "Udaje neboli nacitane."
});
----
==== bottomLine ====
@param boolean settings.bottomLine=false
Ak bude parameter ''**settings.bottomLine=true**'',
potom sa v spodnej časti messageBox-u zobrazí deliaca čiara.
Táto čiara je vhodná pri zobrazení dlhších textov a viacerých možností voľby.
:!: Parameter ''**settings.line**'' je synonymom pre ''**settings.bottomLine**''.
_UI.messageBox({
template: _UI.MESSAGE_BOX_ERROR,
bottomLine: true,
label: "Udaje neboli nacitane."
});
{{ messagebox-bottom-line.jpg?nolink |}}
----
===== Príklady =====
==== Základné okno ====
_UI.messageBox({
label: "Skúšobný box."
});
----
==== Áno/Nie ====
_UI.messageBox({
label: "Naozaj sa chcete odhlásiť?",
template: _UI.MESSAGE_BOX_YES_NO
});
----
==== Áno/Nie/Zrušiť ====
_UI.messageBox({
label: "Naozaj chcete pokračovať?",
template: _UI.MESSAGE_BOX_YES_NO_CANCEL
});
----
==== Odpočet ====
_UI.messageBox({
label: "Naozaj chcete pokračovať?",
template: _UI.MESSAGE_BOX_YES_NO,
timeout: {
time: 10,
callId: "yes"
},
bottomLine: true
});
----
==== Šírka okna ====
_UI.messageBox({
label: "Naozaj chcete pokračovať?",
template: _UI.MESSAGE_BOX_YES_NO,
width: 600
});
----
==== Vlastné tlačítka ====
_UI.messageBox({
label: "Naozaj chcete pokračovať?",
buttons: [
{
callId: "opt1",
label: "Option1",
key: "1",
symbolId: "cancel_symbol",
hint: "Ak toto stlačíte, potom ..."
},
{
callId: "opt2",
label: "Option2",
key: ["2", Key.ENTER],
callback: [this, "callbackFnc"]
}
],
bottomLine: true
});
----
==== Checkbox ====
_UI.messageBox({
label: "Naozaj chcete pokračovať?",
template: _UI.MESSAGE_BOX_YES_NO,
checkbox: {
label: "Aj nabudúce...",
state: true
},
bottomLine: true
});
----
==== Callback ====
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Naozaj chcete pokračovať?",
bottomLine: true,
callback: [this, "callbackFnc1", "ARG1"]
});
function callbackFnc1(callId, arg1)
{
}
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Naozaj chcete pokračovať?",
bottomLine: true,
response: _UI.MESSAGE_BOX_RESPONSE_EVENT,
[this, "callbackFnc2", "ARG1"]
});
function callbackFnc2(e, arg1)
{
trace(e.response.callId);
trace(e.response.checkboxState);
}
_UI.messageBox({
template: _UI.MESSAGE_BOX_YES_NO,
label: "Naozaj chcete pokračovať?",
bottomLine: true,
response: _UI.MESSAGE_BOX_RESPONSE_EVENT,
callback: [this, "callbackFnc2", "ARG1"],
callback_ok: [this, "callbackFncOk", "ARG1"]
}
);
function callbackFnc2(e, arg1)
{
trace(e.response.callId);
trace(e.response.checkboxState);
}
function callbackFncOk(e, arg1)
{
trace(e.response.callId);
trace(e.response.checkboxState);
}