37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | /** | ||
|  |  * @provides javelin-behavior-diff-preview-link | ||
|  |  * @requires javelin-behavior | ||
|  |  *           javelin-stratcom | ||
|  |  *           javelin-dom | ||
|  |  */ | ||
|  | 
 | ||
|  | JX.behavior('diff-preview-link', function(config, statics) { | ||
|  |   if (statics.initialized) { | ||
|  |     return; | ||
|  |   } | ||
|  |   statics.initialized = true; | ||
|  | 
 | ||
|  |   var pht = JX.phtize(config.pht); | ||
|  | 
 | ||
|  |   // After inline comment previews are rendered, hook up the links to the
 | ||
|  |   // comments that are visible on the current page.
 | ||
|  |   function link_inline_preview(e) { | ||
|  |     var root = e.getData().rootNode; | ||
|  |     var links = JX.DOM.scry(root, 'a',  'differential-inline-preview-jump'); | ||
|  | 
 | ||
|  |     for (var ii = 0; ii < links.length; ii++) { | ||
|  |       var data = JX.Stratcom.getData(links[ii]); | ||
|  |       try { | ||
|  |         JX.$(data.anchor); | ||
|  |         links[ii].href = '#' + data.anchor; | ||
|  |         JX.DOM.setContent(links[ii], pht('view')); | ||
|  |       } catch (ignored) { | ||
|  |         // This inline comment isn't visible, e.g. on some other diff.
 | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |   } | ||
|  | 
 | ||
|  |   JX.Stratcom.listen('EditEngine.didCommentPreview', null, link_inline_preview); | ||
|  | }); |