Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/webroot/rsrc/js/application/transactions/behavior-transaction-comment-form.js
12242 views
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
]);
31
JX.DOM.show(panel);
32
}
33
};
34
35
if (config.showPreview) {
36
var request = new JX.PhabricatorShapedRequest(
37
config.actionURI,
38
onresponse,
39
getdata);
40
var trigger = JX.bind(request, request.trigger);
41
JX.DOM.listen(form, 'keydown', null, trigger);
42
var always_trigger = function() {
43
new JX.Request(config.actionURI, onresponse)
44
.setData(getdata())
45
.send();
46
};
47
JX.DOM.listen(form, 'shouldRefresh', null, always_trigger);
48
49
request.start();
50
}
51
});
52
53