1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-21 04:50:55 +01:00
phorge-phorge/webroot/rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js
Bian Jiang c977168797 Show add reviewer typehead when user selects resign as a reviewer.
Summary:
1. Show add reviewer typehead when user selects resign as a reviewer.
2. Change the label for add reviewers typehead when user selects resign as a reviewer.

Test Plan:
1. Add yourself as a reviewer in a diff.
2. Select "Resign as Reviewer" in comment editor.
Add reviewer typehead should display, with label "Suggest Another Reviewer".
Add reviewer typehead is also displayed after user refreshed the page with "Resign as Reviewer"
selected.

Reviewers: wez, epriestley

Reviewed By: epriestley

CC: aran, epriestley, akramer, person

Differential Revision: https://secure.phabricator.com/D6340
2013-07-10 11:05:53 -07:00

48 lines
1.1 KiB
JavaScript

/**
* @provides javelin-behavior-differential-add-reviewers-and-ccs
* @requires javelin-behavior
* javelin-dom
* phabricator-prefab
*/
JX.behavior('differential-add-reviewers-and-ccs', function(config) {
var dynamic = {};
for (var k in config.dynamic) {
var props = config.dynamic[k];
props.id = k;
var tokenizer = JX.Prefab.buildTokenizer(props).tokenizer;
tokenizer.start();
dynamic[k] = {
row : JX.$(props.row),
tokenizer : tokenizer,
actions : props.actions,
labels: props.labels
};
}
JX.DOM.listen(
JX.$(config.select),
'change',
null,
function(e) {
var v = JX.$(config.select).value;
for (var k in dynamic) {
if (dynamic[k].actions[v]) {
JX.DOM.show(dynamic[k].row);
if (dynamic[k].labels) {
var label_node = JX.DOM.find(dynamic[k].row, 'label');
if (label_node) {
JX.DOM.setContent(label_node, dynamic[k].labels[v]);
}
}
dynamic[k].tokenizer.refresh();
} else {
JX.DOM.hide(dynamic[k].row);
}
}
});
});