mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-25 06:50:55 +01:00
90364cafdc
Summary: Moves shared code from Differential and Maniphest comment previews into PhabricatorShapedRequest, and then implements Maniphest previews. This doesn't implement comment drafts, I'll follow up with that but it requires this and is completely separable. This also always shows the preview as "commented" rather than previewing the actual transaction. I'll follow up with that but I think it will require a little factoring and this is useful even without transaction details. I need to tweak the styling a bit too. Test Plan: Typed text in Maniphest and Differential. Toggled Differential action. Made comments. Reviewed By: rm Reviewers: rm, tuomaspelkonen, jungejason, aran CC: aran, rm Differential Revision: 258
51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
/**
|
|
* @provides javelin-behavior-differential-feedback-preview
|
|
* @requires javelin-behavior
|
|
* javelin-stratcom
|
|
* javelin-dom
|
|
* javelin-request
|
|
* javelin-util
|
|
* phabricator-shaped-request
|
|
*/
|
|
|
|
JX.behavior('differential-feedback-preview', function(config) {
|
|
|
|
var action = JX.$(config.action);
|
|
var content = JX.$(config.content);
|
|
|
|
var callback = function(r) {
|
|
JX.DOM.setContent(JX.$(config.preview), JX.$H(r));
|
|
};
|
|
|
|
var getdata = function() {
|
|
return {
|
|
content : content.value,
|
|
action : action.value
|
|
};
|
|
};
|
|
|
|
var request = new JX.PhabricatorShapedRequest(config.uri, callback, getdata);
|
|
var trigger = JX.bind(request, request.trigger);
|
|
|
|
JX.DOM.listen(content, 'keydown', null, trigger);
|
|
JX.DOM.listen(action, 'change', null, trigger);
|
|
|
|
request.start();
|
|
|
|
|
|
|
|
function refreshInlinePreview() {
|
|
new JX.Request(config.inlineuri, function(r) {
|
|
JX.DOM.setContent(JX.$(config.inline), JX.$H(r));
|
|
})
|
|
.setTimeout(5000)
|
|
.send();
|
|
}
|
|
|
|
JX.Stratcom.listen(
|
|
'differential-inline-comment-update',
|
|
null,
|
|
refreshInlinePreview);
|
|
|
|
refreshInlinePreview();
|
|
});
|