mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-08 00:54:50 +01: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
4115fd5a43
commit
3bc178dad0
@ -155,14 +155,25 @@ var fw_browser = Class.extend({
|
||||
var self = this;
|
||||
this.ajaxLoaderDiv = jQuery('<div class="loading ui-widget-overlay ui-front">'+egw.lang('please wait...')+'</div>').insertBefore(this.baseDiv);
|
||||
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() {
|
||||
if(self.ajaxLoaderDiv)
|
||||
{
|
||||
self.ajaxLoaderDiv.hide().remove();
|
||||
self.ajaxLoaderDiv = null;
|
||||
// Remove escape timeout
|
||||
clearTimeout(self.ajaxLoaderDivTimeout);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Check whether the given url is a pseudo url which should be executed
|
||||
// by calling the ajax_exec function
|
||||
// we now send whole url back to server, so apps can use $_GET['ajax']==='true'
|
||||
|
Loading…
Reference in New Issue
Block a user