changed favouriting to wait for socket call to end before changing star class

v1.18.x
Baris Usakli 12 years ago
parent 6e17ff7981
commit 8dc7a0dbbf

@ -254,11 +254,9 @@
var element = $(this).find('i'); var element = $(this).find('i');
if(element.attr('class') == 'icon-star-empty') { if(element.attr('class') == 'icon-star-empty') {
element.attr('class', 'icon-star');
socket.emit('api:posts.favourite', {pid: pid, room_id: app.current_room}); socket.emit('api:posts.favourite', {pid: pid, room_id: app.current_room});
} }
else { else {
element.attr('class', 'icon-star-empty');
socket.emit('api:posts.unfavourite', {pid: pid, room_id: app.current_room}); socket.emit('api:posts.unfavourite', {pid: pid, room_id: app.current_room});
} }
}); });
@ -387,7 +385,14 @@
}); });
socket.on('api:posts.favourite', function(data) { socket.on('api:posts.favourite', function(data) {
if (data.status !== 'ok' && data.pid) { if (data.status === 'ok' && data.pid) {
var favEl = document.querySelector('.post_rep_' + data.pid).nextSibling;
if (favEl) favEl.className = 'icon-star';
}
});
socket.on('api:posts.unfavourite', function(data) {
if (data.status === 'ok' && data.pid) {
var favEl = document.querySelector('.post_rep_' + data.pid).nextSibling; var favEl = document.querySelector('.post_rep_' + data.pid).nextSibling;
if (favEl) favEl.className = 'icon-star-empty'; if (favEl) favEl.className = 'icon-star-empty';
} }

@ -13,11 +13,6 @@ var RDB = require('./redis.js'),
type: 'error', type: 'error',
timeout: 5000 timeout: 5000
}); });
socket.emit('api:posts.favourite', {
status: 'error',
pid: pid
});
return; return;
} }
@ -39,7 +34,8 @@ var RDB = require('./redis.js'),
} }
socket.emit('api:posts.favourite', { socket.emit('api:posts.favourite', {
status: 'ok' status: 'ok',
pid: pid
}); });
} }
}); });
@ -75,6 +71,11 @@ var RDB = require('./redis.js'),
if (room_id) { if (room_id) {
io.sockets.in(room_id).emit('event:rep_down', {uid: uid !== uid_of_poster ? uid_of_poster : 0, pid: pid}); io.sockets.in(room_id).emit('event:rep_down', {uid: uid !== uid_of_poster ? uid_of_poster : 0, pid: pid});
} }
socket.emit('api:posts.unfavourite', {
status: 'ok',
pid: pid
});
} }
}); });
}); });

Loading…
Cancel
Save