54 lines
1.9 KiB
JavaScript
54 lines
1.9 KiB
JavaScript
( function( $ ) {
|
|
"use strict";
|
|
$( function() {
|
|
$('body').on('click', '.osetin-vote-trigger', function(){
|
|
var $button = $(this);
|
|
var post_id = $(this).data('post-id');
|
|
var vote_action = $(this).data('vote-action');
|
|
var current_votes_count = $(this).data('votes-count') ? $(this).data('votes-count') : 0;
|
|
var new_votes_count;
|
|
|
|
if(vote_action == 'vote'){
|
|
$button.removeClass('osetin-vote-not-voted').addClass('osetin-vote-has-voted');
|
|
new_votes_count = current_votes_count + 1;
|
|
$button.data('votes-count', new_votes_count);
|
|
$button.data('vote-action', 'unvote');
|
|
$button.find('.osetin-vote-count').text(new_votes_count);
|
|
if(new_votes_count > 0) $button.find('.osetin-vote-count').removeClass('hidden');
|
|
$button.find('.osetin-vote-action-label').text($button.data('has-voted-label'));
|
|
}else{
|
|
$button.addClass('osetin-vote-not-voted').removeClass('osetin-vote-has-voted');
|
|
new_votes_count = current_votes_count - 1;
|
|
$button.data('votes-count', new_votes_count);
|
|
$button.data('vote-action', 'vote');
|
|
$button.find('.osetin-vote-count').text(new_votes_count);
|
|
if(new_votes_count === 0) $button.find('.osetin-vote-count').addClass('hidden');
|
|
$button.find('.osetin-vote-action-label').text($button.data('not-voted-label'));
|
|
}
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: ajaxurl,
|
|
data: {
|
|
"action": "os_vote_process_request",
|
|
"vote_post_id" : post_id,
|
|
"vote_action" : vote_action
|
|
},
|
|
dataType: "json",
|
|
success: function(data){
|
|
if(data.status == 200){
|
|
var count = data.message.count;
|
|
var has_voted = data.message.has_voted;
|
|
if(has_voted){
|
|
|
|
}else{
|
|
|
|
}
|
|
}
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
});
|
|
|
|
} )( jQuery );
|