1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 08:52:39 +01:00
phorge-phorge/webroot/rsrc/js/application/differential/behavior-diff-radios.js
epriestley 2a39fd09eb Bring Javelin into Phabricator via git submodule, not copy-and-paste
Summary:
Javelin is currently embedded in Phabricator via copy-and-paste of prebuilt
packages. This is not so great.

Pull it in as a submodule instead and make all the Phabriator resources declare
proper dependency trees. Add Javelin linting.

Test Plan:
I tried to run through pretty much all the JS functionality on the site. This is
still a high-risk change, but I did a pretty thorough test

Differential: inline comments, revealing diffs, list tokenizers, comment
preview, editing/deleting comments, add review action.
Maniphest: list tokenizer, comment actions
Herald: rule editing, tokenizers, add/remove rows

Reviewed By: tomo
Reviewers: aran, tomo, mroch, jungejason, tuomaspelkonen
CC: aran, tomo, epriestley
Differential Revision: 223
2011-05-08 13:20:10 -07:00

36 lines
935 B
JavaScript

/**
* @provides javelin-behavior-differential-diff-radios
* @requires javelin-behavior
* javelin-stratcom
* javelin-dom
*/
JX.behavior('differential-diff-radios', function(config) {
JX.Stratcom.listen(
'click',
'differential-new-radio',
function(e) {
var target = e.getTarget();
var adjust;
var node;
var reset = false;
for (var ii = 0; ii < config.radios.length; ii++) {
node = JX.$(config.radios[ii]);
if (parseInt(node.value, 10) >= parseInt(target.value, 10)) {
if (node.checked) {
node.checked = false;
reset = true;
}
node.disabled = 'disabled';
} else {
node.disabled = '';
if (!adjust || adjust.value < node.value) {
adjust = node;
}
}
}
if (reset && adjust) {
adjust.checked = 'checked';
}
});
});