Path: blob/master/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js
12242 views
/**1* @provides javelin-behavior-phabricator-transaction-comment-form2* @requires javelin-behavior3* javelin-dom4* javelin-util5* javelin-request6* phabricator-shaped-request7*/89JX.behavior('phabricator-transaction-comment-form', function(config) {1011var form = JX.$(config.formID);1213var getdata = function() {14var obj = JX.DOM.convertFormToDictionary(form);15obj.__preview__ = 1;16return obj;17};1819var onresponse = function(response) {20var panel = JX.$(config.panelID);21if (!response.xactions.length) {22JX.DOM.hide(panel);23} else {24JX.DOM.setContent(25JX.$(config.timelineID),26[27JX.$H(response.spacer),28JX.$H(response.xactions.join(response.spacer))29]);30JX.DOM.show(panel);31}32};3334if (config.showPreview) {35var request = new JX.PhabricatorShapedRequest(36config.actionURI,37onresponse,38getdata);39var trigger = JX.bind(request, request.trigger);40JX.DOM.listen(form, 'keydown', null, trigger);41var always_trigger = function() {42new JX.Request(config.actionURI, onresponse)43.setData(getdata())44.send();45};46JX.DOM.listen(form, 'shouldRefresh', null, always_trigger);4748request.start();49}50});515253