]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5209 Scrolling
authorStas Vilchik <vilchiks@gmail.com>
Wed, 25 Jun 2014 05:55:59 +0000 (11:55 +0600)
committerStas Vilchik <vilchiks@gmail.com>
Wed, 25 Jun 2014 05:55:59 +0000 (11:55 +0600)
sonar-server/src/main/coffee/component-viewer/app.coffee
sonar-server/src/main/coffee/component-viewer/duplication-popup.coffee
sonar-server/src/main/coffee/component-viewer/main.coffee

index aab3912ddc14564e9d01c0c7c8408b51a7323f15..7b3e11fd67423e85e8156f347a63cbff0dfcc824 100644 (file)
@@ -61,7 +61,12 @@ requirejs [
 
       if params.line?
         viewer.sourceView.highlightedLine = params.line
+        viewer.on 'sized', ->
+          viewer.off 'sized'
+          viewer.scrollToLine params.line
+
       viewer.open params.component
+
       viewer.on 'loaded', ->
         if params.tab? && params.item? && params.period?
           viewer.headerView.enableBar(params.tab).done ->
@@ -85,6 +90,7 @@ requirejs [
         else viewer.showAllLines()
 
 
+
   # Message bundles
   l10nXHR = window.requestMessages()
 
index 784f875795ba7c70eb1f77b84c76880b87593787..ebd2b77d07f08712dbf2484b3150e7b1ba617006 100644 (file)
@@ -24,7 +24,8 @@ define [
     goToFile: (e) ->
       key = $(e.currentTarget).data 'key'
       line = $(e.currentTarget).data 'line'
-      return if key == @options.main.component.get 'key'
+      if key == @options.main.component.get 'key'
+        return @options.main.scrollToLine line
       files = @options.main.source.get('duplicationFiles')
       @options.main.addTransition 'duplication', @collection.map (item) ->
         file = files[item.get('_ref')]
index e5271366e03552934b314ea20feb36602cd2d45b..62618a4757a6d0a17ce64e537f85a821e3ad42fe 100644 (file)
@@ -295,9 +295,12 @@ define [
 
 
     scrollToLine: (line) ->
-      @scrolled = line
       row = @sourceView.$(".row[data-line-number=#{line}]")
-      return unless row.length > 0
+      unless row.length > 0
+        unless @scrolled
+          setTimeout (=> @scrollToLine(line)), 100
+        return
+      @scrolled = line
       d = row.offset().top - @$el.offset().top - SCROLL_OFFSET
       @scrollPlusDelta d