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-phabricator-search-typeahead',
 | 
				
			||||||
    'javelin-behavior-konami',
 | 
					    'javelin-behavior-konami',
 | 
				
			||||||
    'javelin-behavior-aphlict-dropdown',
 | 
					    'javelin-behavior-aphlict-dropdown',
 | 
				
			||||||
 | 
					    'javelin-behavior-history-install',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    'javelin-behavior-phabricator-active-nav',
 | 
					    'javelin-behavior-phabricator-active-nav',
 | 
				
			||||||
    'javelin-behavior-phabricator-nav',
 | 
					    'javelin-behavior-phabricator-nav',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -149,6 +149,7 @@ final class CelerityStaticResourceResponse {
 | 
				
			|||||||
        'refresh-csrf',
 | 
					        'refresh-csrf',
 | 
				
			||||||
        'aphront-basic-tokenizer',
 | 
					        'aphront-basic-tokenizer',
 | 
				
			||||||
        'dark-console',
 | 
					        'dark-console',
 | 
				
			||||||
 | 
					        'history-install',
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      $higher_priority_behaviors = array_select_keys(
 | 
					      $higher_priority_behaviors = array_select_keys(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -153,6 +153,7 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView {
 | 
				
			|||||||
    Javelin::initBehavior('aphront-form-disable-on-submit');
 | 
					    Javelin::initBehavior('aphront-form-disable-on-submit');
 | 
				
			||||||
    Javelin::initBehavior('toggle-class', array());
 | 
					    Javelin::initBehavior('toggle-class', array());
 | 
				
			||||||
    Javelin::initBehavior('konami', array());
 | 
					    Javelin::initBehavior('konami', array());
 | 
				
			||||||
 | 
					    Javelin::initBehavior('history-install');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $current_token = null;
 | 
					    $current_token = null;
 | 
				
			||||||
    if ($user) {
 | 
					    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
 | 
					 * @requires javelin-behavior
 | 
				
			||||||
 *           javelin-stratcom
 | 
					 *           javelin-stratcom
 | 
				
			||||||
 *           javelin-dom
 | 
					 *           javelin-dom
 | 
				
			||||||
 *           javelin-uri
 | 
					 *           javelin-history
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JX.behavior('diffusion-line-linker', function() {
 | 
					JX.behavior('diffusion-line-linker', function() {
 | 
				
			||||||
@@ -31,9 +31,13 @@ JX.behavior('diffusion-line-linker', function() {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  JX.Stratcom.listen(
 | 
					  JX.Stratcom.listen(
 | 
				
			||||||
    'mouseover',
 | 
					    'click',
 | 
				
			||||||
    'diffusion-source',
 | 
					    'diffusion-line-link',
 | 
				
			||||||
    function(e) {
 | 
					    function(e) {
 | 
				
			||||||
 | 
					      e.kill();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  var highlight = function(e) {
 | 
				
			||||||
    if (!origin || e.getNode('diffusion-source') !== root) {
 | 
					    if (!origin || e.getNode('diffusion-source') !== root) {
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -52,7 +56,9 @@ JX.behavior('diffusion-line-linker', function() {
 | 
				
			|||||||
        highlighting = false;
 | 
					        highlighting = false;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    });
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  JX.Stratcom.listen('mouseover', 'diffusion-source', highlight);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  JX.Stratcom.listen(
 | 
					  JX.Stratcom.listen(
 | 
				
			||||||
    'mouseup',
 | 
					    'mouseup',
 | 
				
			||||||
@@ -62,6 +68,8 @@ JX.behavior('diffusion-line-linker', function() {
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      highlight(e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      var o = getRowNumber(origin);
 | 
					      var o = getRowNumber(origin);
 | 
				
			||||||
      var t = getRowNumber(target);
 | 
					      var t = getRowNumber(target);
 | 
				
			||||||
      var lines = (o == t ? o : Math.min(o, t) + '-' + Math.max(o, t));
 | 
					      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;
 | 
					      origin = null;
 | 
				
			||||||
      target = null;
 | 
					      target = null;
 | 
				
			||||||
      e.kill();
 | 
					      e.kill();
 | 
				
			||||||
      JX.$U(uri).go();
 | 
					      JX.History.replace(uri);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user