diff --git a/modules/system/assets/js/framework.js b/modules/system/assets/js/framework.js index a6e71d6a0..7dfd3db97 100644 --- a/modules/system/assets/js/framework.js +++ b/modules/system/assets/js/framework.js @@ -32,11 +32,31 @@ if (window.jQuery === undefined) var isUnloading = false $(window).on('beforeunload', function() { isUnloading = true }) + /* + * Custom function, requests confirmation from the user + */ + + function handleConfirmMessage(message) { + var _event = jQuery.Event('ajaxConfirmMessage') + + _event.promise = $.Deferred() + if ($(window).triggerHandler(_event, [message]) !== undefined) { + _event.promise.done(function(){ + options.confirm = null + new Request(element, handler, options) + }) + return false + } + + if (_event.isDefaultPrevented()) return + if (message) return confirm(message) + } + /* * Initiate request */ - if (options.confirm !== undefined && options.confirm.length && !confirm(options.confirm)) + if (options.confirm && !handleConfirmMessage(options.confirm)) return var