_UI
messageBox
function _UI.messageBox(settings) @param object settings @return form
vlastnosť | typ | default | popis |
---|---|---|---|
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 | string | ||
callback | array | null | |
callbackResponse response | number | _UI.MESSAGE_BOX_RESPONSE_NORMAL | _UI.MESSAGE_BOX_RESPONSE_NONE _UI.MESSAGE_BOX_RESPONSE_NORMAL _UI.MESSAGE_BOX_RESPONSE_EVENT |
callback_{callId} on{callId}Callback | array | null | |
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 | string | null | |
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 | string | null | sound_error sound_ding … |
disableSound | boolean | false | |
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 |
@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 1)
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
2).
Samozrejme je možné zobraziť aj vlastné tlačítka.
Ikonu môžete nastaviť aj pomocou parametra settings.icon
alebo settings.iconSymbolId
.
template=_UI.MESSAGE_BOX_NORMAL
_UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, label: "Udaje boli nacitane." });
template=_UI.MESSAGE_BOX_INFO
_UI.messageBox({ template: _UI.MESSAGE_BOX_INFO, label: "Udaje boli nacitane." });
template=_UI.MESSAGE_BOX_WARNING
_UI.messageBox({ template: _UI.MESSAGE_BOX_WARNING, label: "Chyba pri citani udajov." });
template=_UI.MESSAGE_BOX_ERROR
_UI.messageBox({ template: _UI.MESSAGE_BOX_ERROR, label: "Vazna chyba pri citani udajov." });
template=_UI.MESSAGE_BOX_YES_NO
_UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO, label: "Naozaj chcete pokracovat?" });
template=_UI.MESSAGE_BOX_YES_NO_CANCEL
_UI.messageBox({ template: _UI.MESSAGE_BOX_YES_NO_CANCEL, label: "Naozaj chcete prepisat udaje?" });
@param string settings.label
Povinný parameter settings.label
určuje, aký text sa zobrazí v messageBox-e.
Môže byť samozrejme viac-riadkový 3)
a môže obsahovať HTML formátovanie.
_UI.messageBox({ template: _UI.MESSAGE_BOX_INFO, label: "Udaje boli nacitane.<br>Novy riadok Dalsi novy riadok\nA este <font color='#aa0000'>jeden</font> novy <b>riadok</b>." });
@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 _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 }); }
Po stlačení tlačítka Áno sa zobrazí následujúci výsledok:
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 }); }
Po stlačení tlačítka Áno sa zobrazí následujúci výsledok:
@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 _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"] });
@param number settings.icon
settings.icon
určuje, aká ikona bude použitá v messageBox-e.
Ikona sa automaticky nastaví, ak použijete parameter 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." });
icon=_UI.MESSAGE_BOX_ICON_WARNING
_UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_WARNING, label: "Udaje boli nacitane." });
icon=_UI.MESSAGE_BOX_ICON_ERROR
_UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_ERROR, label: "Udaje boli nacitane." });
icon=_UI.MESSAGE_BOX_ICON_QUESTION
_UI.messageBox({ template: _UI.MESSAGE_BOX_NORMAL, icon: _UI.MESSAGE_BOX_ICON_QUESTION, label: "Udaje boli nacitane." });
@param string settings.iconSymbolId
settings.iconSymbolId
určuje, aký symbol ikony bude použitý v messageBox-e.
Symbol je identifikátor 4) z knižnice.
Veľkosť ikony by mala byť približne 32×32 px.
Ikona sa automaticky nastaví, ak použijete parameter 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." });
@param number settings.sound
settings.sound
určuje, aký zvuk bude prehraný pri zobrazení messageBox-u.
Zvuk sa automaticky nastaví, ak použijete parameter 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." });
@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." });
@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." });
_UI.messageBox({ label: "Skúšobný box." });
_UI.messageBox({ label: "Naozaj sa chcete odhlásiť?", template: _UI.MESSAGE_BOX_YES_NO });
_UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO_CANCEL });
_UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, timeout: { time: 10, callId: "yes" }, bottomLine: true });
_UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, width: 600 });
_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 });
_UI.messageBox({ label: "Naozaj chcete pokračovať?", template: _UI.MESSAGE_BOX_YES_NO, checkbox: { label: "Aj nabudúce...", state: true }, bottomLine: true });
_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); }