| 1 |
// $Id: project_issue_voting.js,v 1.1 2008/08/15 23:06:02 thehunmonkgroup Exp $
|
| 2 |
|
| 3 |
Drupal.projectIssueVotingAutoAttach = function() {
|
| 4 |
var vdb = [];
|
| 5 |
$('span.project-issue-voting-vote-up').each(function() {
|
| 6 |
// Remove href link
|
| 7 |
$(this).html('');
|
| 8 |
var nid = $(this).attr('nid');
|
| 9 |
$(this).click(function() {
|
| 10 |
Drupal.projectIssueVotingVote(nid, '1');
|
| 11 |
});
|
| 12 |
});
|
| 13 |
$('span.project-issue-voting-vote-down').each(function() {
|
| 14 |
// Remove href link.
|
| 15 |
$(this).html('');
|
| 16 |
var nid = $(this).attr('nid');
|
| 17 |
$(this).click(function() {
|
| 18 |
Drupal.projectIssueVotingVote(nid, '-1');
|
| 19 |
});
|
| 20 |
});
|
| 21 |
}
|
| 22 |
|
| 23 |
Drupal.projectIssueVotingVote = function(nid, vote) {
|
| 24 |
var token = Drupal.settings.projectIssueVotingToken;
|
| 25 |
var url = Drupal.settings.projectIssueVotingURL + "/" + nid + "/" + vote + "/" + token + "/1";
|
| 26 |
// Ajax GET request for vote data.
|
| 27 |
$.ajax({
|
| 28 |
type: "GET",
|
| 29 |
url: url,
|
| 30 |
dataType: "json",
|
| 31 |
success: function(data) {
|
| 32 |
// Update the points.
|
| 33 |
$('#project-issue-voting-votes-total-wrapper-' + nid).html(data.total);
|
| 34 |
$('#project-issue-voting-votes-' + nid).html(data.user);
|
| 35 |
|
| 36 |
if ($('#project-issue-voting-total-votes-link-' + nid).size() > 0) {
|
| 37 |
$('#project-issue-voting-total-votes-link-' + nid).html(data.total_votes_link_votes);
|
| 38 |
}
|
| 39 |
|
| 40 |
if ($('#project-issue-voting-metadata-table-total-votes-' + nid).size() > 0) {
|
| 41 |
$('#project-issue-voting-metadata-table-total-votes-' + nid).html(data.total_votes_metadata_table);
|
| 42 |
}
|
| 43 |
|
| 44 |
// Update the add vote indicator.
|
| 45 |
if (data.vote_add == true) {
|
| 46 |
$('#project-issue-voting-vote-up-' + nid)
|
| 47 |
.removeClass('project-issue-voting-vote-up-inact')
|
| 48 |
.addClass('project-issue-voting-vote-up-act');
|
| 49 |
}
|
| 50 |
else {
|
| 51 |
$('#project-issue-voting-vote-up-' + nid)
|
| 52 |
.removeClass('project-issue-voting-vote-up-act')
|
| 53 |
.addClass('project-issue-voting-vote-up-inact');
|
| 54 |
}
|
| 55 |
|
| 56 |
// Update the subtract vote indicator.
|
| 57 |
if (data.vote_subtract == true) {
|
| 58 |
$('#project-issue-voting-vote-down-' + nid)
|
| 59 |
.removeClass('project-issue-voting-vote-down-inact')
|
| 60 |
.addClass('project-issue-voting-vote-down-act');
|
| 61 |
}
|
| 62 |
else {
|
| 63 |
$('#project-issue-voting-vote-down-' + nid)
|
| 64 |
.removeClass('project-issue-voting-vote-down-act')
|
| 65 |
.addClass('project-issue-voting-vote-down-inact');
|
| 66 |
}
|
| 67 |
|
| 68 |
},
|
| 69 |
error: function(xmlhttp) {
|
| 70 |
alert('An HTTP error '+ xmlhttp.status +' occured.\n'+ db.uri);
|
| 71 |
}
|
| 72 |
});
|
| 73 |
}
|
| 74 |
|
| 75 |
// Global killswitch
|
| 76 |
if (Drupal.jsEnabled) {
|
| 77 |
$(document).ready(Drupal.projectIssueVotingAutoAttach);
|
| 78 |
}
|