diff --git a/public/src/forum/admin/topics.js b/public/src/forum/admin/topics.js index 3630d7701e..d0c6608fef 100644 --- a/public/src/forum/admin/topics.js +++ b/public/src/forum/admin/topics.js @@ -32,6 +32,23 @@ $(document).ready(function() { socket.emit('api:admin.topics.getMore', { limit: 10, after: lastTid + }, function(topics) { + var btnEl = document.getElementById('topics_loadmore'); + + topics = JSON.parse(topics); + if (topics.length > 0) { + var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({ + topics: topics + }), + topicsListEl = document.querySelector('.topics'); + + topicsListEl.innerHTML += html; + btnEl.innerHTML = 'Load More Topics'; + } else { + // Exhausted all topics + btnEl.className += ' disabled'; + btnEl.innerHTML = 'No more topics'; + } }); } }, false); @@ -95,24 +112,4 @@ socket.on('api:topic.restore', function(response) { $(btnEl).removeClass('active'); } -}); - -socket.on('api:admin.topics.getMore', function(topics) { - var btnEl = document.getElementById('topics_loadmore'); - - topics = JSON.parse(topics); - console.log(topics); - if (topics.length > 0) { - var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({ - topics: topics - }), - topicsListEl = document.querySelector('.topics'); - - topicsListEl.innerHTML += html; - btnEl.innerHTML = 'Load More Topics'; - } else { - // Exhausted all topics - btnEl.className += ' disabled'; - btnEl.innerHTML = 'No more topics'; - } }); \ No newline at end of file diff --git a/src/websockets.js b/src/websockets.js index b3eb71850d..096d483176 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -663,9 +663,9 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), }); }); - socket.on('api:admin.topics.getMore', function(data) { + socket.on('api:admin.topics.getMore', function(data, callback) { topics.getAllTopics(data.limit, data.after, function(topics) { - socket.emit('api:admin.topics.getMore', JSON.stringify(topics)); + callback(JSON.stringify(topics)); }); });