[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 /** 2 * @provides javelin-behavior-ponder-votebox 3 * @requires javelin-behavior 4 * javelin-dom 5 * javelin-util 6 * javelin-stratcom 7 * javelin-request 8 */ 9 10 JX.behavior('ponder-votebox', function() { 11 12 function handle_vote(e, vote) { 13 e.kill(); 14 15 var root = e.getNode('ponder-votable'); 16 var data = e.getNodeData('ponder-votable'); 17 18 if (data.vote != vote) { 19 // Remove the user's current vote, if they have one. 20 data.count -= data.vote; 21 data.vote = vote; 22 data.count += vote; 23 } else { 24 // User is undoing their vote. 25 data.vote = 0; 26 data.count -= vote; 27 } 28 29 var upv = JX.DOM.find(root, 'a', 'upvote'); 30 JX.DOM.alterClass(upv, 'ponder-vote-active', (data.vote > 0)); 31 32 var downv = JX.DOM.find(root, 'a', 'downvote'); 33 JX.DOM.alterClass(downv, 'ponder-vote-active', (data.vote < 0)); 34 35 JX.DOM.setContent( 36 JX.DOM.find(root, 'div', 'ponder-vote-count'), 37 data.count); 38 39 new JX.Request(e.getTarget().href, JX.bag) 40 .setData({vote: data.vote}) 41 .send(); 42 } 43 44 JX.Stratcom.listen( 45 'click', 46 'downvote', 47 function(e) { 48 handle_vote(e, -1); 49 }); 50 51 JX.Stratcom.listen( 52 'click', 53 'upvote', 54 function(e) { 55 handle_vote(e, 1); 56 }); 57 });
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |