diff --git a/management/templates/index.html b/management/templates/index.html index 411fdb92..2efa6250 100644 --- a/management/templates/index.html +++ b/management/templates/index.html @@ -264,12 +264,13 @@ function show_modal_confirm(title, question, verb, yes_callback, cancel_callback $('#global_modal').modal({}); } -var is_ajax_loading = false; +var ajax_num_executing_requests = 0; function ajax(options) { - setTimeout("if (is_ajax_loading) $('#ajax_loading_indicator').fadeIn()", 100); + setTimeout("if (ajax_num_executing_requests > 0) $('#ajax_loading_indicator').fadeIn()", 100); function hide_loading_indicator() { - is_ajax_loading = false; - $('#ajax_loading_indicator').hide(); + ajax_num_executing_requests--; + if (ajax_num_executing_requests == 0) + $('#ajax_loading_indicator').stop().hide(); // stop() prevents an ongoing fade from causing the thing to be shown again after this call } var old_success = options.success; var old_error = options.error; @@ -287,7 +288,7 @@ function ajax(options) { else old_error(jqxhr.responseText, jqxhr); }; - is_ajax_loading = true; + ajax_num_executing_requests++; $.ajax(options); }