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

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2014-04-03 12:42:40 -04:00
'use strict';
/* globals define, app, socket, ajaxify, templates, translator, utils */
define(['forum/accountheader'], function(header) {
var AccountTopics = {},
loadingMore = false;
AccountTopics.init = function() {
header.init();
app.enableInfiniteLoading(function() {
if(!loadingMore) {
loadMore();
}
});
};
function loadMore() {
loadingMore = true;
socket.emit('topics.loadMoreFromSet', {
set: 'uid:' + $('.account-username-box').attr('data-uid') + ':topics',
after: $('.user-topics').attr('data-nextstart')
}, function(err, data) {
if(err) {
return app.alertError(err.message);
}
if (data.topics && data.topics.length) {
onTopicsLoaded(data.topics);
$('.user-topics').attr('data-nextstart', data.nextStart);
}
loadingMore = false;
});
}
function onTopicsLoaded(topics) {
ajaxify.loadTemplate('accounttopics', function(accounttopics) {
var html = templates.parse(templates.getBlock(accounttopics, 'topics'), {topics: topics});
translator.translate(html, function(translatedHTML) {
html = $(translatedHTML);
$('#topics-container').append(html);
html.find('span.timeago').timeago();
app.createUserTooltips();
utils.makeNumbersHumanReadable(html.find('.human-readable-number'));
});
});
}
return AccountTopics;
2014-04-10 20:31:57 +01:00
});