Nástroje používateľa

Nástoje správy stránok


dev:omega:flash:ui:messagebox

messageBox

Zaradenie

  • _UI
    • messageBox

Špecifikácia

function _UI.messageBox(settings)
@param object settings
@return form

Prehľad nastavení

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

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 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?"
});


label

@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&#13;Dalsi novy riadok\nA este <font color='#aa0000'>jeden</font> novy <b>riadok</b>."
});


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 _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:


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 _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 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."
});


iconSymbolId

@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."
});

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 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."
});


Príklady

Základné okno

example.as
_UI.messageBox({
	label: "Skúšobný box."
});

Áno/Nie

example.as
_UI.messageBox({
		label: "Naozaj sa chcete odhlásiť?",
		template: _UI.MESSAGE_BOX_YES_NO
	});

Áno/Nie/Zrušiť

example.as
_UI.messageBox({
		label: "Naozaj chcete pokračovať?",
		template: _UI.MESSAGE_BOX_YES_NO_CANCEL
	});

Odpočet

example.as
_UI.messageBox({
		label: "Naozaj chcete pokračovať?",
		template: _UI.MESSAGE_BOX_YES_NO,
		timeout: {
			time: 10,
			callId: "yes"
		},
		bottomLine: true
	});

Šírka okna

example.as
_UI.messageBox({
		label: "Naozaj chcete pokračovať?",
		template: _UI.MESSAGE_BOX_YES_NO,
		width: 600
	});

Vlastné tlačítka

example.as
_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

example.as
_UI.messageBox({
		label: "Naozaj chcete pokračovať?",
		template: _UI.MESSAGE_BOX_YES_NO,
		checkbox: {
			label: "Aj nabudúce...",
			state: true
		},
		bottomLine: true
	});

Callback

callbackNormal.as
_UI.messageBox({
		template: _UI.MESSAGE_BOX_YES_NO,
		label: "Naozaj chcete pokračovať?",
		bottomLine: true,
		callback: [this, "callbackFnc1", "ARG1"]
	});
 
function callbackFnc1(callId, arg1)
{
}
callbackEvent.as
_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);
}
callbackEvent.as
_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);
}
1) ak je daný preklad k dispozícií
2) Nastavené v language, id=app_message_key_…
3) html tag <br>, entita &#13; alebo znak nového riadku \n
4) library linkageIdentifier
dev/omega/flash/ui/messagebox.txt · Posledná úprava: 2017/10/12 16:43 od Roman Sališ