Files
NodeBB/public/src/forum/unread.js

68 lines
1.6 KiB
JavaScript
Raw Normal View History

2014-01-26 14:56:16 -05:00
define(['forum/recent'], function(recent) {
2013-11-26 23:55:55 -05:00
var Unread = {},
loadingMoreTopics = false;
Unread.init = function() {
app.enterRoom('recent_posts');
$('#new-topics-alert').on('click', function() {
$(this).addClass('hide');
});
2013-08-19 10:58:02 -04:00
2014-01-26 14:56:16 -05:00
recent.watchForNewPosts();
$('#mark-allread-btn').on('click', function() {
var btn = $(this);
2014-01-16 19:58:57 -05:00
socket.emit('topics.markAllRead', function(err) {
if(err) {
return app.alertError('There was an error marking topics read!');
}
2014-01-16 19:58:57 -05:00
btn.remove();
$('#topics-container').empty();
$('#category-no-topics').removeClass('hidden');
app.alertSuccess('All topics marked as read!');
$('#numUnreadBadge')
.removeClass('badge-important')
.addClass('badge-inverse')
.html('0');
});
});
2014-01-26 14:56:16 -05:00
if ($("body").height() <= $(window).height() && $('#topics-container').children().length >= 20) {
$('#load-more-btn').show();
}
2014-01-26 14:56:16 -05:00
$('#load-more-btn').on('click', function() {
loadMoreTopics();
});
2014-01-26 14:56:16 -05:00
app.enableInfiniteLoading(function() {
if(!loadingMoreTopics) {
loadMoreTopics();
}
});
function loadMoreTopics() {
loadingMoreTopics = true;
socket.emit('topics.loadMoreUnreadTopics', {
after: parseInt($('#topics-container').attr('data-next-start'), 10)
2014-01-16 20:53:32 -05:00
}, function(err, data) {
if(err) {
return app.alertError(err.message);
}
if (data.topics && data.topics.length) {
2014-01-26 14:56:16 -05:00
recent.onTopicsLoaded('unread', data.topics);
$('#topics-container').attr('data-next-start', data.nextStart);
} else {
$('#load-more-btn').hide();
}
loadingMoreTopics = false;
});
}
};
return Unread;
});