mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-24 20:01:36 +02:00
Escape from infinitive loadingDeferred if the diferred did not get resolved or rejected, and give user a chance to try other tabs
This commit is contained in:
parent
d571dffd20
commit
8f92df1a86
@ -155,11 +155,22 @@ 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
|
||||||
|
// At least user can close the broken tab and work with the others.
|
||||||
|
// Define a escape timeout for 5 sec
|
||||||
|
this.ajaxLoaderDivTimeout = setTimeout(function(){
|
||||||
|
self.ajaxLoaderDiv.hide().remove();
|
||||||
|
self.ajaxLoaderDiv = null;
|
||||||
|
},5000);
|
||||||
|
|
||||||
this.loadingDeferred.always(function() {
|
this.loadingDeferred.always(function() {
|
||||||
if(self.ajaxLoaderDiv)
|
if(self.ajaxLoaderDiv)
|
||||||
{
|
{
|
||||||
self.ajaxLoaderDiv.hide().remove();
|
self.ajaxLoaderDiv.hide().remove();
|
||||||
self.ajaxLoaderDiv = null;
|
self.ajaxLoaderDiv = null;
|
||||||
|
// Remove escape timeout
|
||||||
|
clearTimeout(self.ajaxLoaderDivTimeout);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user