From 62f7553ba4361405256c8aed482c87f66d37feca Mon Sep 17 00:00:00 2001 From: damencho Date: Wed, 6 Jul 2016 11:00:04 -0500 Subject: [PATCH] Updates two button dialogs to be only single instance. --- modules/UI/util/MessageHandler.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/modules/UI/util/MessageHandler.js b/modules/UI/util/MessageHandler.js index 13b55bf81..2324e4b76 100644 --- a/modules/UI/util/MessageHandler.js +++ b/modules/UI/util/MessageHandler.js @@ -15,6 +15,12 @@ let notificationsEnabled = true; */ let popupEnabled = true; +/** + * Currently displayed two button dialog. + * @type {null} + */ +let twoButtonDialog = null; + var messageHandler = { OK: "dialog.OK", CANCEL: "dialog.Cancel", @@ -68,7 +74,7 @@ var messageHandler = { persistent, leftButtonKey, submitFunction, loadedFunction, closeFunction, focus, defaultButton) { - if (!popupEnabled) + if (!popupEnabled || twoButtonDialog) return; var buttons = []; @@ -87,15 +93,23 @@ var messageHandler = { if (msgKey) { message = APP.translation.generateTranslationHTML(msgKey); } - $.prompt(message, { + twoButtonDialog = $.prompt(message, { title: title, persistent: false, buttons: buttons, defaultButton: defaultButton, focus: focus, loaded: loadedFunction, - submit: submitFunction, - close: closeFunction + submit: function (e, v, m, f) { + twoButtonDialog = null; + if (submitFunction) + submitFunction(e, v, m, f); + }, + close: function () { + twoButtonDialog = null; + if (closeFunction) + closeFunction(); + } }); }, @@ -133,7 +147,7 @@ var messageHandler = { if (persistent) { args.closeText = ''; } - + return new Impromptu(msgString, args); },