re-add limit and scroll, fix positioning of messages
This commit is contained in:
parent
c0a4fed836
commit
2331e8e006
|
@ -1,14 +1,5 @@
|
|||
{{#if view.log.isLoaded}}
|
||||
{{view Travis.PreView logBinding="view.log"}}
|
||||
|
||||
{{#if view.job.sponsor.name}}
|
||||
<p class="sponsor">
|
||||
{{t builds.messages.sponsored_by}}
|
||||
<a {{bindAttr href="sponsor.url"}}>{{sponsor.name}}</a>
|
||||
</p>
|
||||
{{/if}}
|
||||
|
||||
<a href='#' class="to-top" {{action toTop target="view"}}>To top</a>
|
||||
{{view Travis.PreView jobBinding="view.job" logBinding="view.log"}}
|
||||
{{else}}
|
||||
<div id="log" class="loading">
|
||||
<span>Loading</span>
|
||||
|
|
|
@ -5,6 +5,15 @@
|
|||
</a>
|
||||
<pre id="log" class="ansi"></pre>
|
||||
|
||||
<a href='#' class="to-top" {{action toTop target="view"}}>To top</a>
|
||||
|
||||
{{#if view.job.sponsor.name}}
|
||||
<p class="sponsor">
|
||||
{{t builds.messages.sponsored_by}}
|
||||
<a {{bindAttr href="sponsor.url"}}>{{sponsor.name}}</a>
|
||||
</p>
|
||||
{{/if}}
|
||||
|
||||
{{#if view.limited}}
|
||||
<p class="warning">
|
||||
This log is too long to be displayed. Please reduce the verbosity of your
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
require 'log'
|
||||
require 'travis/ordered_log'
|
||||
|
||||
Log.DEBUG = true
|
||||
Log.DEBUG = false
|
||||
Log.LIMIT = 10000
|
||||
|
||||
Travis.reopen
|
||||
LogView: Travis.View.extend
|
||||
|
@ -13,10 +14,9 @@ Travis.reopen
|
|||
job = @get('job')
|
||||
job.unsubscribe() if job
|
||||
|
||||
toTop: () ->
|
||||
$(window).scrollTop(0)
|
||||
PreView: Em.View.extend
|
||||
|
||||
PreView: Em.View.extend(Travis.OrderedLogEngineMixin, {
|
||||
PreView: Em.View.extend
|
||||
templateName: 'jobs/pre'
|
||||
|
||||
didInsertElement: ->
|
||||
|
@ -41,10 +41,8 @@ Travis.reopen
|
|||
|
||||
createEngine: ->
|
||||
console.log 'log view: create engine' if Log.DEBUG
|
||||
# @limit = new Log.Limit
|
||||
# @scroll = new Log.Scroll
|
||||
# @engine = Log.create(listeners: [new Log.FragmentRenderer, new Log.Folds, @scroll])
|
||||
@engine = new Log
|
||||
@scroll = new Log.Scroll
|
||||
@engine = Log.create(limit: Log.LIMIT, listeners: [@scroll])
|
||||
@observeParts()
|
||||
@numberLineOnHover()
|
||||
|
||||
|
@ -63,11 +61,11 @@ Travis.reopen
|
|||
@propertyDidChange('limited')
|
||||
|
||||
lineNumberDidChange: (->
|
||||
# @scroll.set(number) if !@get('isDestroyed') && number = @get('controller.lineNumber')
|
||||
@scroll.set(number) if !@get('isDestroyed') && number = @get('controller.lineNumber')
|
||||
).observes('controller.lineNumber')
|
||||
|
||||
limited: (->
|
||||
@limit && @limit.limited
|
||||
@engine?.limit?.limited
|
||||
).property()
|
||||
|
||||
plainTextLogUrl: (->
|
||||
|
@ -95,30 +93,33 @@ Travis.reopen
|
|||
window.history.pushState(null, null, "#{window.location.pathname}#L#{number}");
|
||||
@set('controller.lineNumber', number)
|
||||
|
||||
toTop: () ->
|
||||
$(window).scrollTop(0)
|
||||
|
||||
noop: -> # TODO required?
|
||||
|
||||
# Log.Scroll = ->
|
||||
# Log.Scroll.prototype = $.extend new Log.Listener,
|
||||
# set: (number) ->
|
||||
# return unless number
|
||||
# @number = number
|
||||
# @tryScroll()
|
||||
#
|
||||
# insert: (log, line, pos) ->
|
||||
# @tryScroll() if @number
|
||||
# true
|
||||
#
|
||||
# tryScroll: ->
|
||||
# if element = $("#log p:visible")[@number - 1]
|
||||
# $('#main').scrollTop(0)
|
||||
# $('html, body').scrollTop($(element).offset()?.top) # weird, html works in chrome, body in firefox
|
||||
# @highlight(element)
|
||||
# @number = undefined
|
||||
#
|
||||
# highlight: (element) ->
|
||||
# $('#log p.highlight').removeClass('highlight')
|
||||
# $(element).addClass('highlight')
|
||||
#
|
||||
Log.Scroll = ->
|
||||
Log.Scroll.prototype = $.extend new Log.Listener,
|
||||
set: (number) ->
|
||||
return unless number
|
||||
@number = number
|
||||
@tryScroll()
|
||||
|
||||
insert: (log, data, pos) ->
|
||||
@tryScroll() if @number
|
||||
true
|
||||
|
||||
tryScroll: ->
|
||||
if element = $("#log > p:visible")[@number - 1]
|
||||
$('#main').scrollTop(0)
|
||||
$('html, body').scrollTop($(element).offset()?.top) # weird, html works in chrome, body in firefox
|
||||
@highlight(element)
|
||||
@number = undefined
|
||||
|
||||
highlight: (element) ->
|
||||
$('#log p.highlight').removeClass('highlight')
|
||||
$(element).addClass('highlight')
|
||||
|
||||
# Log.Logger = ->
|
||||
# Log.Logger.prototype = $.extend new Log.Listener,
|
||||
# receive: (log, num, string) ->
|
||||
|
|
2
assets/scripts/vendor/log.js
vendored
2
assets/scripts/vendor/log.js
vendored
File diff suppressed because one or more lines are too long
|
@ -15,5 +15,7 @@
|
|||
height: 20px
|
||||
|
||||
.warning
|
||||
color: #c00
|
||||
a
|
||||
color: #c00
|
||||
text-decoration: underline
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
#main
|
||||
.sponsor
|
||||
float: left
|
||||
// float: left
|
||||
margin-top: 0
|
||||
color: #999
|
||||
.to-top
|
||||
display: inline-block
|
||||
width: 50px
|
||||
float: right
|
||||
margin-right: 2px
|
||||
padding-right: 16px
|
||||
text-align: right
|
||||
color: #999
|
||||
background: inline-image('ui/to-top.png') no-repeat right 6px
|
||||
|
|
Loading…
Reference in New Issue
Block a user