Path: blob/master/webroot/rsrc/js/application/passphrase/passphrase-credential-control.js
12242 views
/**1* @provides javelin-behavior-passphrase-credential-control2* @requires javelin-behavior3* javelin-dom4* javelin-stratcom5* javelin-workflow6* javelin-util7* javelin-uri8* @javelin9*/1011JX.behavior('passphrase-credential-control', function() {1213JX.Stratcom.listen(14'click',15'passphrase-credential-add',16function(e) {17var control = e.getNode('passphrase-credential-control');18var data = e.getNodeData('passphrase-credential-control');1920var uri = JX.$U('/passphrase/edit/');21uri.setQueryParam('type', data.type);22uri.setQueryParam('username', data.username);2324new JX.Workflow(uri)25.setHandler(JX.bind(null, onadd, control))26.start();2728e.kill();29});3031function onadd(control, response) {32var select = JX.DOM.find(control, 'select', 'passphrase-credential-select');3334var data = JX.Stratcom.getData(control);3536// If this allows the user to select "No Credential" (`allowNull`),37// put the new credential in the menu below the "No Credential" option.3839// Otherwise, remove the "(No Existing Credentials)" if it exists and40// put the new credential at the top.4142var target = 0;43for (var ii = 0; ii < select.options.length; ii++) {44if (!select.options[ii].value) {45if (!data.allowNull) {46select.remove(ii);47} else {48target = ii + 1;49}50break;51}52}5354select.add(55JX.$N('option', {value: response.phid}, response.name),56select.options[target] || null);5758select.value = response.phid;59select.disabled = null;60}6162});636465