2013-05-04 00:48:59 +02:00
|
|
|
/**
|
|
|
|
* @provides javelin-behavior-slowvote-embed
|
|
|
|
* @requires javelin-behavior
|
2013-05-19 02:04:22 +02:00
|
|
|
* javelin-request
|
2013-05-04 00:48:59 +02:00
|
|
|
* javelin-stratcom
|
|
|
|
* javelin-dom
|
|
|
|
*/
|
2014-06-23 19:27:47 +02:00
|
|
|
JX.behavior('slowvote-embed', function() {
|
2013-05-04 00:48:59 +02:00
|
|
|
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);
|
2015-01-23 22:29:15 +01:00
|
|
|
var root = JX.$('phabricator-standard-page');
|
2013-05-04 00:48:59 +02:00
|
|
|
|
|
|
|
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();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|