[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/application/transactions/ -> behavior-transaction-comment-form.js (source)

   1  /**
   2   * @provides javelin-behavior-phabricator-transaction-comment-form
   3   * @requires javelin-behavior
   4   *           javelin-dom
   5   *           javelin-util
   6   *           javelin-request
   7   *           phabricator-shaped-request
   8   */
   9  
  10  JX.behavior('phabricator-transaction-comment-form', function(config) {
  11  
  12    var form = JX.$(config.formID);
  13  
  14    var getdata = function() {
  15      var obj = JX.DOM.convertFormToDictionary(form);
  16      obj.__preview__ = 1;
  17      return obj;
  18    };
  19  
  20    var onresponse = function(response) {
  21      var panel = JX.$(config.panelID);
  22      if (!response.xactions.length) {
  23        JX.DOM.hide(panel);
  24      } else {
  25        JX.DOM.setContent(
  26          JX.$(config.timelineID),
  27          [
  28            JX.$H(response.spacer),
  29            JX.$H(response.xactions.join(response.spacer)),
  30            JX.$H(response.spacer)
  31          ]);
  32        JX.DOM.show(panel);
  33      }
  34    };
  35  
  36    if (config.showPreview) {
  37      var request = new JX.PhabricatorShapedRequest(
  38        config.actionURI,
  39        onresponse,
  40        getdata);
  41      var trigger = JX.bind(request, request.trigger);
  42      JX.DOM.listen(form, 'keydown', null, trigger);
  43      var always_trigger = function() {
  44        new JX.Request(config.actionURI, onresponse)
  45          .setData(getdata())
  46          .send();
  47      };
  48      JX.DOM.listen(form, 'shouldRefresh', null, always_trigger);
  49  
  50      request.start();
  51    }
  52  });


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