Fix line numbers when loading an url
This commit is contained in:
parent
de976d136c
commit
1bccb5d177
|
@ -1,4 +1,5 @@
|
||||||
require 'travis/location'
|
require 'travis/location'
|
||||||
|
require 'travis/line_number_parser'
|
||||||
|
|
||||||
Ember.Router.reopen
|
Ember.Router.reopen
|
||||||
location: (if testMode? then Ember.HashLocation.create() else Travis.Location.create())
|
location: (if testMode? then Ember.HashLocation.create() else Travis.Location.create())
|
||||||
|
@ -45,7 +46,7 @@ Travis.BuildsRoute = Travis.AbstractBuidsRoute.extend(contentType: 'builds')
|
||||||
Travis.PullRequestsRoute = Travis.AbstractBuidsRoute.extend(contentType: 'pull_requests')
|
Travis.PullRequestsRoute = Travis.AbstractBuidsRoute.extend(contentType: 'pull_requests')
|
||||||
Travis.BranchesRoute = Travis.AbstractBuidsRoute.extend(contentType: 'branches')
|
Travis.BranchesRoute = Travis.AbstractBuidsRoute.extend(contentType: 'branches')
|
||||||
|
|
||||||
Travis.BuildRoute = Ember.Route.extend
|
Travis.BuildRoute = Ember.Route.extend Travis.LineNumberParser,
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'build', outlet: 'pane', into: 'repo'
|
@render 'build', outlet: 'pane', into: 'repo'
|
||||||
|
|
||||||
|
@ -57,11 +58,14 @@ Travis.BuildRoute = Ember.Route.extend
|
||||||
setupController: (controller, model) ->
|
setupController: (controller, model) ->
|
||||||
model = Travis.Build.find(model) if model && !model.get
|
model = Travis.Build.find(model) if model && !model.get
|
||||||
|
|
||||||
|
if lineNumber = @fetchLineNumber()
|
||||||
|
controller.set('lineNumber', lineNumber)
|
||||||
|
|
||||||
repo = @container.lookup('controller:repo')
|
repo = @container.lookup('controller:repo')
|
||||||
repo.set('build', model)
|
repo.set('build', model)
|
||||||
repo.activate('build')
|
repo.activate('build')
|
||||||
|
|
||||||
Travis.JobRoute = Ember.Route.extend
|
Travis.JobRoute = Ember.Route.extend Travis.LineNumberParser,
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'job', outlet: 'pane', into: 'repo'
|
@render 'job', outlet: 'pane', into: 'repo'
|
||||||
|
|
||||||
|
@ -73,6 +77,9 @@ Travis.JobRoute = Ember.Route.extend
|
||||||
setupController: (controller, model) ->
|
setupController: (controller, model) ->
|
||||||
model = Travis.Job.find(model) if model && !model.get
|
model = Travis.Job.find(model) if model && !model.get
|
||||||
|
|
||||||
|
if lineNumber = @fetchLineNumber()
|
||||||
|
controller.set('lineNumber', lineNumber)
|
||||||
|
|
||||||
repo = @container.lookup('controller:repo')
|
repo = @container.lookup('controller:repo')
|
||||||
console.log model.toString()
|
console.log model.toString()
|
||||||
repo.set('job', model)
|
repo.set('job', model)
|
||||||
|
|
|
@ -19,6 +19,7 @@ Travis.reopen
|
||||||
didInsertElement: ->
|
didInsertElement: ->
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
@createEngine()
|
@createEngine()
|
||||||
|
@lineNumberDidChange()
|
||||||
|
|
||||||
willDestroyElement: ->
|
willDestroyElement: ->
|
||||||
parts = @get('log.parts')
|
parts = @get('log.parts')
|
||||||
|
@ -96,7 +97,7 @@ Log.Scroll.prototype = $.extend new Log.Listener,
|
||||||
@tryScroll() if @number
|
@tryScroll() if @number
|
||||||
|
|
||||||
tryScroll: ->
|
tryScroll: ->
|
||||||
if element = $("#log p:nth-child(#{@number})")
|
if (element = $("#log p:nth-child(#{@number})")) && element.length
|
||||||
$('#main').scrollTop(0)
|
$('#main').scrollTop(0)
|
||||||
$('html, body').scrollTop(element.offset()?.top) # weird, html works in chrome, body in firefox
|
$('html, body').scrollTop(element.offset()?.top) # weird, html works in chrome, body in firefox
|
||||||
@highlight(element)
|
@highlight(element)
|
||||||
|
|
5
assets/scripts/lib/travis/line_number_parser.coffee
Normal file
5
assets/scripts/lib/travis/line_number_parser.coffee
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Travis.LineNumberParser = Ember.Mixin.create
|
||||||
|
fetchLineNumber: ->
|
||||||
|
url = @container.lookup('router:main').get('url')
|
||||||
|
if match = url.match(/#L(\d+)$/)
|
||||||
|
match[1]
|
Loading…
Reference in New Issue
Block a user