Abort old aspectFilters requests, close issue 1759.
This commit is contained in:
parent
a5d9d6d212
commit
97ab077e04
1 changed files with 8 additions and 10 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
var AspectFilters = {
|
var AspectFilters = {
|
||||||
selectedGUIDS: [],
|
selectedGUIDS: [],
|
||||||
requests: 0,
|
activeRequest: null,
|
||||||
initialize: function(){
|
initialize: function(){
|
||||||
AspectFilters.initializeSelectedGUIDS();
|
AspectFilters.initializeSelectedGUIDS();
|
||||||
AspectFilters.interceptAspectLinks();
|
AspectFilters.interceptAspectLinks();
|
||||||
|
|
@ -39,8 +39,6 @@ var AspectFilters = {
|
||||||
$('html, body').animate({scrollTop:0}, 'fast');
|
$('html, body').animate({scrollTop:0}, 'fast');
|
||||||
},
|
},
|
||||||
switchToAspect: function(aspectLi){
|
switchToAspect: function(aspectLi){
|
||||||
AspectFilters.requests++;
|
|
||||||
|
|
||||||
var guid = aspectLi.attr('data-guid');
|
var guid = aspectLi.attr('data-guid');
|
||||||
|
|
||||||
// select correct aspect in filter list & deselect others
|
// select correct aspect in filter list & deselect others
|
||||||
|
|
@ -55,8 +53,6 @@ var AspectFilters = {
|
||||||
$("#aspect_nav a.aspect_selector").click(function(e){
|
$("#aspect_nav a.aspect_selector").click(function(e){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
AspectFilters.requests++;
|
|
||||||
|
|
||||||
// loading animation
|
// loading animation
|
||||||
AspectFilters.fadeOut();
|
AspectFilters.fadeOut();
|
||||||
|
|
||||||
|
|
@ -128,11 +124,15 @@ var AspectFilters = {
|
||||||
history.pushState(null, document.title, newURL);
|
history.pushState(null, document.title, newURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
$.ajax({
|
try {
|
||||||
|
AspectFilters.activeRequest.abort();
|
||||||
|
} catch(e) {} finally {
|
||||||
|
AspectFilters.activeRequest = null;
|
||||||
|
}
|
||||||
|
AspectFilters.activeRequest = $.ajax({
|
||||||
url : newURL,
|
url : newURL,
|
||||||
dataType : 'script',
|
dataType : 'script',
|
||||||
success : function(data){
|
success : function(data){
|
||||||
AspectFilters.requests--;
|
|
||||||
// fill in publisher
|
// fill in publisher
|
||||||
// (not cached because this element changes)
|
// (not cached because this element changes)
|
||||||
|
|
||||||
|
|
@ -155,10 +155,8 @@ var AspectFilters = {
|
||||||
Diaspora.widgets.publish("stream/reloaded");
|
Diaspora.widgets.publish("stream/reloaded");
|
||||||
|
|
||||||
// fade contents back in
|
// fade contents back in
|
||||||
if(AspectFilters.requests === 0){
|
|
||||||
AspectFilters.fadeIn();
|
AspectFilters.fadeIn();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fadeIn: function(){
|
fadeIn: function(){
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue