88 lines
2.8 KiB
JavaScript
88 lines
2.8 KiB
JavaScript
var messageHandler = (function(my) {
|
|
|
|
/**
|
|
* Shows a message to the user.
|
|
*
|
|
* @param titleString the title of the message
|
|
* @param messageString the text of the message
|
|
*/
|
|
my.openMessageDialog = function(titleString, messageString) {
|
|
$.prompt(messageString,
|
|
{
|
|
title: titleString,
|
|
persistent: false
|
|
}
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Shows a message to the user with two buttons: first is given as a parameter and the second is Cancel.
|
|
*
|
|
* @param titleString the title of the message
|
|
* @param msgString the text of the message
|
|
* @param persistent boolean value which determines whether the message is persistent or not
|
|
* @param leftButton the fist button's text
|
|
* @param submitFunction function to be called on submit
|
|
* @param loadedFunction function to be called after the prompt is fully loaded
|
|
*/
|
|
my.openTwoButtonDialog = function(titleString, msgString, persistent, leftButton, submitFunction, loadedFunction) {
|
|
var buttons = {};
|
|
buttons[leftButton] = true;
|
|
buttons.Cancel = false;
|
|
$.prompt(msgString, {
|
|
title: titleString,
|
|
persistent: false,
|
|
buttons: buttons,
|
|
defaultButton: 1,
|
|
loaded: loadedFunction,
|
|
submit: submitFunction
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Shows a dialog with different states to the user.
|
|
*
|
|
* @param statesObject object containing all the states of the dialog
|
|
* @param loadedFunction function to be called after the prompt is fully loaded
|
|
* @param stateChangedFunction function to be called when the state of the dialog is changed
|
|
*/
|
|
my.openDialogWithStates = function(statesObject, loadedFunction, stateChangedFunction) {
|
|
|
|
|
|
var myPrompt = $.prompt(statesObject);
|
|
|
|
myPrompt.on('impromptu:loaded', loadedFunction);
|
|
myPrompt.on('impromptu:statechanged', stateChangedFunction);
|
|
};
|
|
|
|
/**
|
|
* Shows a dialog prompting the user to send an error report.
|
|
*
|
|
* @param titleString the title of the message
|
|
* @param msgString the text of the message
|
|
* @param error the error that is being reported
|
|
*/
|
|
my.openReportDialog = function(titleString, msgString, error) {
|
|
my.openMessageDialog(titleString, msgString);
|
|
console.log(error);
|
|
//FIXME send the error to the server
|
|
};
|
|
|
|
/**
|
|
* Shows an error dialog to the user.
|
|
* @param title the title of the message
|
|
* @param message the text of the messafe
|
|
*/
|
|
my.showError = function(title, message) {
|
|
if(!(title || message)) {
|
|
title = title || "Oops!";
|
|
message = message || "There was some kind of error";
|
|
}
|
|
messageHandler.openMessageDialog(title, message);
|
|
};
|
|
|
|
return my;
|
|
}(messageHandler || {}));
|
|
|
|
|