[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/application/passphrase/ -> phame-credential-control.js (source)

   1  /**
   2   * @provides javelin-behavior-passphrase-credential-control
   3   * @requires javelin-behavior
   4   *           javelin-dom
   5   *           javelin-stratcom
   6   *           javelin-workflow
   7   *           javelin-util
   8   *           javelin-uri
   9   * @javelin
  10   */
  11  
  12  JX.behavior('passphrase-credential-control', function() {
  13  
  14    JX.Stratcom.listen(
  15      'click',
  16      'passphrase-credential-add',
  17      function(e) {
  18        var control = e.getNode('passphrase-credential-control');
  19        var data = e.getNodeData('passphrase-credential-control');
  20  
  21        var uri = JX.$U('/passphrase/edit/');
  22        uri.setQueryParam('type', data.type);
  23        uri.setQueryParam('username', data.username);
  24  
  25        new JX.Workflow(uri)
  26          .setHandler(JX.bind(null, onadd, control))
  27          .start();
  28  
  29        e.kill();
  30      });
  31  
  32    function onadd(control, response) {
  33      var select = JX.DOM.find(control, 'select', 'passphrase-credential-select');
  34  
  35      var data = JX.Stratcom.getData(control);
  36  
  37      // If this allows the user to select "No Credential" (`allowNull`),
  38      // put the new credential in the menu below the "No Credential" option.
  39  
  40      // Otherwise, remove the "(No Existing Credentials)" if it exists and
  41      // put the new credential at the top.
  42  
  43      var target = 0;
  44      for (var ii = 0; ii < select.options.length; ii++) {
  45        if (!select.options[ii].value) {
  46          if (!data.allowNull) {
  47            select.remove(ii);
  48          } else {
  49            target = ii + 1;
  50          }
  51          break;
  52        }
  53      }
  54  
  55      select.add(
  56        JX.$N('option', {value: response.phid}, response.name),
  57        select.options[target] || null);
  58  
  59      select.value = response.phid;
  60      select.disabled = null;
  61    }
  62  
  63  });


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1