Abort old aspectFilters requests, close issue 1759.

This commit is contained in:
Raphael Sofaer 2011-08-16 15:31:02 -07:00
parent a5d9d6d212
commit 97ab077e04

View file

@ -5,7 +5,7 @@
var AspectFilters = {
selectedGUIDS: [],
requests: 0,
activeRequest: null,
initialize: function(){
AspectFilters.initializeSelectedGUIDS();
AspectFilters.interceptAspectLinks();
@ -39,8 +39,6 @@ var AspectFilters = {
$('html, body').animate({scrollTop:0}, 'fast');
},
switchToAspect: function(aspectLi){
AspectFilters.requests++;
var guid = aspectLi.attr('data-guid');
// select correct aspect in filter list & deselect others
@ -55,8 +53,6 @@ var AspectFilters = {
$("#aspect_nav a.aspect_selector").click(function(e){
e.preventDefault();
AspectFilters.requests++;
// loading animation
AspectFilters.fadeOut();
@ -128,11 +124,15 @@ var AspectFilters = {
history.pushState(null, document.title, newURL);
}
$.ajax({
try {
AspectFilters.activeRequest.abort();
} catch(e) {} finally {
AspectFilters.activeRequest = null;
}
AspectFilters.activeRequest = $.ajax({
url : newURL,
dataType : 'script',
success : function(data){
AspectFilters.requests--;
// fill in publisher
// (not cached because this element changes)
@ -155,10 +155,8 @@ var AspectFilters = {
Diaspora.widgets.publish("stream/reloaded");
// fade contents back in
if(AspectFilters.requests === 0){
AspectFilters.fadeIn();
}
}
});
},
fadeIn: function(){