Don't reload page after clicking on Diffusion line link
Summary: For a single line, I can use the right click. But for highlighting multiple lines, I have to wait for page reload. It would be nice to track this in history but that's more involved. This is actually maybe better behavior. Test Plan: Clicked on the line link, dragged and dropped on it. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D5172
This commit is contained in:
		| @@ -50,6 +50,7 @@ $package_spec = array( | ||||
|     'javelin-behavior-phabricator-search-typeahead', | ||||
|     'javelin-behavior-konami', | ||||
|     'javelin-behavior-aphlict-dropdown', | ||||
|     'javelin-behavior-history-install', | ||||
|  | ||||
|     'javelin-behavior-phabricator-active-nav', | ||||
|     'javelin-behavior-phabricator-nav', | ||||
|   | ||||
| @@ -149,6 +149,7 @@ final class CelerityStaticResourceResponse { | ||||
|         'refresh-csrf', | ||||
|         'aphront-basic-tokenizer', | ||||
|         'dark-console', | ||||
|         'history-install', | ||||
|       ); | ||||
|  | ||||
|       $higher_priority_behaviors = array_select_keys( | ||||
|   | ||||
| @@ -153,6 +153,7 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView { | ||||
|     Javelin::initBehavior('aphront-form-disable-on-submit'); | ||||
|     Javelin::initBehavior('toggle-class', array()); | ||||
|     Javelin::initBehavior('konami', array()); | ||||
|     Javelin::initBehavior('history-install'); | ||||
|  | ||||
|     $current_token = null; | ||||
|     if ($user) { | ||||
|   | ||||
| @@ -0,0 +1,9 @@ | ||||
| /** | ||||
|  * @provides javelin-behavior-history-install | ||||
|  * @requires javelin-behavior | ||||
|  *           javelin-history | ||||
|  */ | ||||
|  | ||||
| JX.behavior('history-install', function() { | ||||
|   JX.History.install(); | ||||
| }); | ||||
| @@ -3,7 +3,7 @@ | ||||
|  * @requires javelin-behavior | ||||
|  *           javelin-stratcom | ||||
|  *           javelin-dom | ||||
|  *           javelin-uri | ||||
|  *           javelin-history | ||||
|  */ | ||||
|  | ||||
| JX.behavior('diffusion-line-linker', function() { | ||||
| @@ -31,9 +31,13 @@ JX.behavior('diffusion-line-linker', function() { | ||||
|     }); | ||||
|  | ||||
|   JX.Stratcom.listen( | ||||
|     'mouseover', | ||||
|     'diffusion-source', | ||||
|     'click', | ||||
|     'diffusion-line-link', | ||||
|     function(e) { | ||||
|       e.kill(); | ||||
|     }); | ||||
|  | ||||
|   var highlight = function(e) { | ||||
|     if (!origin || e.getNode('diffusion-source') !== root) { | ||||
|       return; | ||||
|     } | ||||
| @@ -52,7 +56,9 @@ JX.behavior('diffusion-line-linker', function() { | ||||
|         highlighting = false; | ||||
|       } | ||||
|     } | ||||
|     }); | ||||
|   }; | ||||
|  | ||||
|   JX.Stratcom.listen('mouseover', 'diffusion-source', highlight); | ||||
|  | ||||
|   JX.Stratcom.listen( | ||||
|     'mouseup', | ||||
| @@ -62,6 +68,8 @@ JX.behavior('diffusion-line-linker', function() { | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       highlight(e); | ||||
|  | ||||
|       var o = getRowNumber(origin); | ||||
|       var t = getRowNumber(target); | ||||
|       var lines = (o == t ? o : Math.min(o, t) + '-' + Math.max(o, t)); | ||||
| @@ -72,7 +80,7 @@ JX.behavior('diffusion-line-linker', function() { | ||||
|       origin = null; | ||||
|       target = null; | ||||
|       e.kill(); | ||||
|       JX.$U(uri).go(); | ||||
|       JX.History.replace(uri); | ||||
|     }); | ||||
|  | ||||
| }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 vrana
					vrana