From 5d07ddffaf1f5a173ce3b4fede45e80ff8f7d1af Mon Sep 17 00:00:00 2001 From: Marc Alexander <admin@m-a-styles.de> Date: Wed, 19 Dec 2012 16:41:25 +0100 Subject: [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 --- phpBB/assets/javascript/core.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'phpBB/assets/javascript') 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')); @@ -42,6 +43,16 @@ phpbb.loading_alert = function() { return loading_alert; } +/** + * Clear loading alert timeout +*/ +phpbb.clearLoadingTimeout = function() { + if (phpbbAlertTimer != 0) { + clearTimeout(phpbbAlertTimer); + phpbbAlertTimer = 0; + } +} + /** * Display a simple alert similar to JSs native alert(). * @@ -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')); } -- cgit v1.2.1 From 48b6e45f7cee93dcbcc3b9b3ca857a4ed8f07437 Mon Sep 17 00:00:00 2001 From: Marc Alexander <admin@m-a-styles.de> Date: Wed, 2 Jan 2013 16:44:05 +0100 Subject: [ticket/10805] Compare phpbbAlertTimer against null PHPBB3-10805 --- phpBB/assets/javascript/core.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'phpBB/assets/javascript') diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index 36e547b056..29b1ec7872 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -13,7 +13,7 @@ var keymap = { var dark = $('#darkenwrapper'); var loading_alert = $('#loadingalert'); -var phpbbAlertTimer = 0; +var phpbbAlertTimer = null; /** @@ -47,9 +47,9 @@ phpbb.loading_alert = function() { * Clear loading alert timeout */ phpbb.clearLoadingTimeout = function() { - if (phpbbAlertTimer != 0) { + if (phpbbAlertTimer != null) { clearTimeout(phpbbAlertTimer); - phpbbAlertTimer = 0; + phpbbAlertTimer = null; } } -- cgit v1.2.1