fixed #649 - Once you hit the end, infinite loader will stop for good. If infinite loader is active when the browser hits the bottom, updateHeader will not assume 100%.

This commit is contained in:
Julian Lam
2014-01-17 14:47:18 -05:00
parent 962955f06a
commit d8c4609ee0
2 changed files with 30 additions and 24 deletions

View File

@@ -957,7 +957,8 @@ define(['composer'], function(composer) {
});
setTimeout(function() {
if (scrollTop + windowHeight == jQuery(document).height()) {
console.log(infiniteLoaderActive);
if (scrollTop + windowHeight == jQuery(document).height() && !infiniteLoaderActive) {
pagination.innerHTML = Topic.postCount + ' out of ' + Topic.postCount;
progressBar.width('100%');
}
@@ -1099,32 +1100,35 @@ define(['composer'], function(composer) {
return;
}
infiniteLoaderActive = true;
if (indicatorEl.attr('done') === '0') {
infiniteLoaderActive = true;
indicatorEl.fadeIn();
socket.emit('topics.loadMore', {
tid: tid,
after: parseInt($('#post-container .post-row.infiniteloaded').last().attr('data-index'), 10) + 1
}, function (err, data) {
if(err) {
return app.alertError(err.message);
}
infiniteLoaderActive = false;
if (data && data.posts && data.posts.length) {
indicatorEl.attr('done', '0');
createNewPosts(data, true);
} else {
indicatorEl.attr('done', '1');
updateHeader();
}
indicatorEl.fadeOut();
if (callback) {
callback(data.posts);
}
});
}
socket.emit('topics.loadMore', {
tid: tid,
after: parseInt($('#post-container .post-row.infiniteloaded').last().attr('data-index'), 10) + 1
}, function (err, data) {
if(err) {
return app.alertError(err.message);
}
infiniteLoaderActive = false;
if (data && data.posts && data.posts.length) {
indicatorEl.attr('done', '0');
createNewPosts(data, true);
} else {
indicatorEl.attr('done', '1');
}
indicatorEl.fadeOut();
if (callback) {
callback(data.posts);
}
});
}
return Topic;