From 986b3a95a85da08e237b0a522c75acc6fa5b0a17 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Mon, 15 Dec 2014 17:48:59 +1100 Subject: [PATCH] Add the ability to override the confirm function --- modules/system/assets/js/framework.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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