diff options
author | Marc Alexander <admin@m-a-styles.de> | 2012-12-19 16:41:25 +0100 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2013-01-01 20:29:30 +0100 |
commit | 5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af (patch) | |
tree | f2e6dcc1e769f690be6479794fab8e6969823fe1 /phpBB/assets | |
parent | e444f5bf2a8b30aefb3700ce358d2a6be66c8cb5 (diff) | |
download | forums-5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af.tar forums-5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af.tar.gz forums-5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af.tar.bz2 forums-5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af.tar.xz forums-5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af.zip |
[ticket/10805] Clear loading alert timeout after ajax request finished
The timeout for the "request timed out" popup should be cleared if it
finished. Since it is currently not cleared, the timeout alert appears as
an extra overlay if another ajaxified function is ran within 5 seconds of
the initial function call. This patch will take care of clearing the
timeout if either the success (function return_handler()) or error
(function error_handler()) functions are called.
PHPBB3-10805
Diffstat (limited to 'phpBB/assets')
-rw-r--r-- | phpBB/assets/javascript/core.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index c18bec7035..36e547b056 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -13,6 +13,7 @@ var keymap = { var dark = $('#darkenwrapper'); var loading_alert = $('#loadingalert'); +var phpbbAlertTimer = 0; /** @@ -30,7 +31,7 @@ phpbb.loading_alert = function() { loading_alert.show(); dark.fadeIn(phpbb.alert_time, function() { // Wait five seconds and display an error if nothing has been returned by then. - setTimeout(function() { + phpbbAlertTimer = setTimeout(function() { if (loading_alert.is(':visible')) { phpbb.alert($('#phpbb_alert').attr('data-l-err'), $('#phpbb_alert').attr('data-l-timeout-processing-req')); @@ -43,6 +44,16 @@ phpbb.loading_alert = function() { } /** + * Clear loading alert timeout +*/ +phpbb.clearLoadingTimeout = function() { + if (phpbbAlertTimer != 0) { + clearTimeout(phpbbAlertTimer); + phpbbAlertTimer = 0; + } +} + +/** * Display a simple alert similar to JSs native alert(). * * You can only call one alert or confirm box at any one time. @@ -271,6 +282,8 @@ phpbb.ajaxify = function(options) { { var alert; + phpbb.clearLoadingTimeout(); + // Is a confirmation required? if (typeof res.S_CONFIRM_ACTION === 'undefined') { @@ -341,6 +354,7 @@ phpbb.ajaxify = function(options) { { var alert; + phpbb.clearLoadingTimeout(); alert = phpbb.alert(dark.attr('data-ajax-error-title'), dark.attr('data-ajax-error-text')); } |