1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-24 06:20:56 +01:00
phorge-phorge/webroot/rsrc/js/application/slowvote/behavior-slowvote-embed.js
epriestley 0569218201 Use JsShrink if jsxmin is not available
Summary: If `jsxmin` is not available, use a pure PHP implementation instead (JsShrink).

Test Plan:
  - Ran `arc lint --lintall` on all JS and fixed every relevant warning.
  - Forced minification on and browsed around the site using JS behaviors. Didn't hit anything problematic.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5670
2013-05-18 17:04:22 -07:00

43 lines
1 KiB
JavaScript

/**
* @provides javelin-behavior-slowvote-embed
* @requires javelin-behavior
* javelin-request
* javelin-stratcom
* javelin-dom
*/
JX.behavior('slowvote-embed', function(config) {
JX.Stratcom.listen(
['click'],
'slowvote-option',
function(e) {
if (!e.isNormalMouseEvent()) {
return;
}
e.kill();
var pollID = e.getNodeData('slowvote-embed').pollID;
var voteURI = '/vote/' + pollID + '/';
var request = new JX.Request(voteURI, function(r) {
var updated_poll = JX.$H(r.contentHTML);
var root = JX.$('base-page');
var polls = JX.DOM.scry(root, 'div', 'slowvote-embed');
for(var i = 0; i < polls.length; i++) {
var data = JX.Stratcom.getData(polls[i]);
if (data.pollID == pollID) {
JX.DOM.replace(polls[i], updated_poll);
}
}
});
request.addData({vote: e.getNodeData('slowvote-option').optionID});
request.send();
});
});