[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/application/maniphest/ -> behavior-transaction-preview.js (source)

   1  /**
   2   * @provides javelin-behavior-maniphest-transaction-preview
   3   * @requires javelin-behavior
   4   *           javelin-dom
   5   *           javelin-util
   6   *           javelin-json
   7   *           javelin-stratcom
   8   *           phabricator-shaped-request
   9   */
  10  
  11  JX.behavior('maniphest-transaction-preview', function(config) {
  12  
  13    var comments = JX.$(config.comments);
  14    var action = JX.$(config.action);
  15  
  16    var callback = function(r) {
  17      JX.DOM.setContent(JX.$(config.preview), JX.$H(r));
  18    };
  19  
  20    var getdata = function() {
  21      var selected = action.value;
  22  
  23      var value = null;
  24      try {
  25        var control = JX.$(config.map[selected]);
  26        var input = ([]
  27          .concat(JX.DOM.scry(control, 'select'))
  28          .concat(JX.DOM.scry(control, 'input')))[0];
  29        if (JX.DOM.isType(input, 'input')) {
  30          // Avoid reading 'value'(s) out of the tokenizer free text input.
  31          if (input.type != 'hidden') {
  32            value = null;
  33          // Get the tokenizer and all that delicious data
  34          } else {
  35            var tokenizer_dom = JX.$(config.tokenizers[selected].id);
  36            var tokenizer     = JX.Stratcom.getData(tokenizer_dom).tokenizer;
  37            value = JX.JSON.stringify(JX.keys(tokenizer.getTokens()));
  38          }
  39        } else {
  40          value = input.value;
  41        }
  42      } catch (_ignored_) {
  43        // Ignored.
  44      }
  45  
  46      return {
  47        comments : comments.value,
  48        action : selected,
  49        value : value || ''
  50      };
  51    };
  52  
  53    var request = new JX.PhabricatorShapedRequest(config.uri, callback, getdata);
  54    var trigger = JX.bind(request, request.trigger);
  55  
  56    JX.DOM.listen(comments, 'keydown', null, trigger);
  57    JX.DOM.listen(action, 'change', null, trigger);
  58  
  59    request.start();
  60  });


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