fix an other case were spinner is not removed due to a client-side javascript error

This commit is contained in:
Ralf Becker 2015-10-07 09:32:22 +00:00
parent 3253b6bda1
commit f8821f692f

View File

@ -155,15 +155,15 @@ var fw_browser = Class.extend({
var self = this; var self = this;
this.ajaxLoaderDiv = jQuery('<div class="loading ui-widget-overlay ui-front">'+egw.lang('please wait...')+'</div>').insertBefore(this.baseDiv); this.ajaxLoaderDiv = jQuery('<div class="loading ui-widget-overlay ui-front">'+egw.lang('please wait...')+'</div>').insertBefore(this.baseDiv);
this.loadingDeferred = new jQuery.Deferred(); this.loadingDeferred = new jQuery.Deferred();
// Try to escape from infinitive not resolved loadingDeferred // Try to escape from infinitive not resolved loadingDeferred
// At least user can close the broken tab and work with the others. // At least user can close the broken tab and work with the others.
// Define a escape timeout for 5 sec // Define a escape timeout for 5 sec
this.ajaxLoaderDivTimeout = setTimeout(function(){ this.ajaxLoaderDivTimeout = setTimeout(function(){
self.ajaxLoaderDiv.hide().remove(); (self.ajaxLoaderDiv || jQuery('div.loading')).hide().remove();
self.ajaxLoaderDiv = null; self.ajaxLoaderDiv = null;
},5000); },5000);
this.loadingDeferred.always(function() { this.loadingDeferred.always(function() {
if(self.ajaxLoaderDiv) if(self.ajaxLoaderDiv)
{ {
@ -173,7 +173,7 @@ var fw_browser = Class.extend({
clearTimeout(self.ajaxLoaderDivTimeout); clearTimeout(self.ajaxLoaderDivTimeout);
} }
}); });
// Check whether the given url is a pseudo url which should be executed // Check whether the given url is a pseudo url which should be executed
// by calling the ajax_exec function // by calling the ajax_exec function
// we now send whole url back to server, so apps can use $_GET['ajax']==='true' // we now send whole url back to server, so apps can use $_GET['ajax']==='true'