topics.js refactor

v1.18.x
barisusakli 11 years ago
parent 2507d6c853
commit 5fe5e3d893

@ -351,64 +351,52 @@ define(['forum/pagination', 'forum/topic/threadTools', 'forum/topic/postTools'],
socket.on('posts.upvote', function(data) { socket.on('posts.upvote', function(data) {
if (data && data.pid) { if (data && data.pid) {
var post = $('li[data-pid="' + data.pid + '"]'), $('li[data-pid="' + data.pid + '"] .upvote').addClass('btn-primary upvoted');
upvote = post.find('.upvote');
upvote.addClass('btn-primary upvoted');
} }
}); });
socket.on('posts.downvote', function(data) { socket.on('posts.downvote', function(data) {
if (data && data.pid) { if (data && data.pid) {
var post = $('li[data-pid="' + data.pid + '"]'), $('li[data-pid="' + data.pid + '"] .downvote').addClass('btn-primary downvoted');
downvote = post.find('.downvote');
downvote.addClass('btn-primary downvoted');
} }
}); });
socket.on('posts.unvote', function(data) { socket.on('posts.unvote', function(data) {
if (data && data.pid) { if (data && data.pid) {
var post = $('li[data-pid="' + data.pid + '"]'), var post = $('li[data-pid="' + data.pid + '"]');
upvote = post.find('.upvote'),
downvote = post.find('.downvote');
upvote.removeClass('btn-primary upvoted'); post.find('.upvote').removeClass('btn-primary upvoted');
downvote.removeClass('btn-primary downvoted'); post.find('.downvote').removeClass('btn-primary downvoted');
} }
}); });
socket.on('posts.favourite', function(data) { socket.on('posts.favourite', function(data) {
if (data && data.pid) { if (data && data.pid) {
var favBtn = $('li[data-pid="' + data.pid + '"] .favourite'); toggleFavourite(data.pid, true);
if(favBtn.length) {
favBtn.addClass('btn-warning')
.attr('data-favourited', true);
var icon = favBtn.find('i');
var className = icon.attr('class');
if (className.indexOf('-o') !== -1) {
icon.attr('class', className.replace('-o', ''));
}
}
} }
}); });
socket.on('posts.unfavourite', function(data) { socket.on('posts.unfavourite', function(data) {
if (data && data.pid) { if (data && data.pid) {
var favBtn = $('li[data-pid="' + data.pid + '"] .favourite'); toggleFavourite(data.pid, false);
if(favBtn.length) {
favBtn.removeClass('btn-warning')
.attr('data-favourited', false);
var icon = favBtn.find('i');
var className = icon.attr('class');
if (className.indexOf('-o') === -1) {
icon.attr('class', className + '-o');
}
}
} }
}); });
function toggleFavourite(pid, isFavourited) {
var favBtn = $('li[data-pid="' + pid + '"] .favourite');
if(favBtn.length) {
favBtn.addClass('btn-warning')
.attr('data-favourited', isFavourited);
var icon = favBtn.find('i');
var className = icon.attr('class');
if (isFavourited ? className.indexOf('-o') !== -1 : className.indexOf('-o') === -1) {
icon.attr('class', isFavourited ? className.replace('-o', '') : className + '-o');
}
}
}
socket.on('event:post_deleted', function(data) { socket.on('event:post_deleted', function(data) {
if (data.pid) { if (data.pid) {
toggle_post_delete_state(data.pid); toggle_post_delete_state(data.pid);

Loading…
Cancel
Save