Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/differential/behavior-comment-preview.js
| Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | JX.behavior('differential-feedback-preview', function(config) { | ||||
| JX.DOM.listen(content, 'keydown', null, trigger); | JX.DOM.listen(content, 'keydown', null, trigger); | ||||
| JX.DOM.listen(action, 'change', null, trigger); | JX.DOM.listen(action, 'change', null, trigger); | ||||
| for (field in previewTokenizers) { | for (field in previewTokenizers) { | ||||
| previewTokenizers[field].listen('change', trigger); | previewTokenizers[field].listen('change', trigger); | ||||
| } | } | ||||
| request.start(); | request.start(); | ||||
| function refreshInlinePreview() { | function refreshInlinePreview() { | ||||
| new JX.Request(config.inlineuri, function(r) { | new JX.Request(config.inlineuri, function(r) { | ||||
| var inline = JX.$(config.inline); | var inline = JX.$(config.inline); | ||||
| JX.DOM.setContent(inline, JX.$H(r)); | JX.DOM.setContent(inline, JX.$H(r)); | ||||
| JX.Stratcom.invoke('differential-preview-update', null, { | JX.Stratcom.invoke('differential-preview-update', null, { | ||||
| container: inline | container: inline | ||||
| }); | }); | ||||
| // Go through the previews and activate any "View" links where the | updateLinks(); | ||||
| // actual comment appears in the document. | }) | ||||
| .setTimeout(5000) | |||||
| .send(); | |||||
| } | |||||
| function updateLinks() { | |||||
| var inline = JX.$(config.inline); | |||||
| var links = JX.DOM.scry( | var links = JX.DOM.scry( | ||||
| inline, | inline, | ||||
| 'a', | 'a', | ||||
| 'differential-inline-preview-jump'); | 'differential-inline-preview-jump'); | ||||
| for (var ii = 0; ii < links.length; ii++) { | for (var ii = 0; ii < links.length; ii++) { | ||||
| var data = JX.Stratcom.getData(links[ii]); | var data = JX.Stratcom.getData(links[ii]); | ||||
| try { | try { | ||||
| JX.$(data.anchor); | JX.$(data.anchor); | ||||
| links[ii].href = '#' + data.anchor; | links[ii].href = '#' + data.anchor; | ||||
| JX.DOM.setContent(links[ii], 'View'); | JX.DOM.setContent(links[ii], 'View'); | ||||
| } catch (ignored) { | } catch (ignored) { | ||||
| // This inline comment isn't visible, e.g. on some other diff. | // This inline comment isn't visible, e.g. on some other diff. | ||||
| } | } | ||||
| } | } | ||||
| }) | |||||
| .setTimeout(5000) | |||||
| .send(); | |||||
| } | } | ||||
| JX.Stratcom.listen( | JX.Stratcom.listen( | ||||
| 'differential-inline-comment-update', | 'differential-inline-comment-update', | ||||
| null, | null, | ||||
| refreshInlinePreview); | refreshInlinePreview); | ||||
| JX.Stratcom.listen( | |||||
| 'differential-inline-comment-refresh', | |||||
| null, | |||||
| updateLinks); | |||||
| refreshInlinePreview(); | refreshInlinePreview(); | ||||
| }); | }); | ||||