re-add limit and scroll, fix positioning of messages

This commit is contained in:
Sven Fuchs 2013-03-13 15:40:10 +01:00
parent c0a4fed836
commit 2331e8e006
6 changed files with 50 additions and 44 deletions

View File

@ -1,14 +1,5 @@
{{#if view.log.isLoaded}} {{#if view.log.isLoaded}}
{{view Travis.PreView logBinding="view.log"}} {{view Travis.PreView jobBinding="view.job" 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>
{{else}} {{else}}
<div id="log" class="loading"> <div id="log" class="loading">
<span>Loading</span> <span>Loading</span>

View File

@ -5,6 +5,15 @@
</a> </a>
<pre id="log" class="ansi"></pre> <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}} {{#if view.limited}}
<p class="warning"> <p class="warning">
This log is too long to be displayed. Please reduce the verbosity of your This log is too long to be displayed. Please reduce the verbosity of your

View File

@ -1,7 +1,8 @@
require 'log' require 'log'
require 'travis/ordered_log' require 'travis/ordered_log'
Log.DEBUG = true Log.DEBUG = false
Log.LIMIT = 10000
Travis.reopen Travis.reopen
LogView: Travis.View.extend LogView: Travis.View.extend
@ -13,10 +14,9 @@ Travis.reopen
job = @get('job') job = @get('job')
job.unsubscribe() if job job.unsubscribe() if job
toTop: () -> PreView: Em.View.extend
$(window).scrollTop(0)
PreView: Em.View.extend(Travis.OrderedLogEngineMixin, { PreView: Em.View.extend
templateName: 'jobs/pre' templateName: 'jobs/pre'
didInsertElement: -> didInsertElement: ->
@ -41,10 +41,8 @@ Travis.reopen
createEngine: -> createEngine: ->
console.log 'log view: create engine' if Log.DEBUG console.log 'log view: create engine' if Log.DEBUG
# @limit = new Log.Limit @scroll = new Log.Scroll
# @scroll = new Log.Scroll @engine = Log.create(limit: Log.LIMIT, listeners: [@scroll])
# @engine = Log.create(listeners: [new Log.FragmentRenderer, new Log.Folds, @scroll])
@engine = new Log
@observeParts() @observeParts()
@numberLineOnHover() @numberLineOnHover()
@ -63,11 +61,11 @@ Travis.reopen
@propertyDidChange('limited') @propertyDidChange('limited')
lineNumberDidChange: (-> lineNumberDidChange: (->
# @scroll.set(number) if !@get('isDestroyed') && number = @get('controller.lineNumber') @scroll.set(number) if !@get('isDestroyed') && number = @get('controller.lineNumber')
).observes('controller.lineNumber') ).observes('controller.lineNumber')
limited: (-> limited: (->
@limit && @limit.limited @engine?.limit?.limited
).property() ).property()
plainTextLogUrl: (-> plainTextLogUrl: (->
@ -95,30 +93,33 @@ Travis.reopen
window.history.pushState(null, null, "#{window.location.pathname}#L#{number}"); window.history.pushState(null, null, "#{window.location.pathname}#L#{number}");
@set('controller.lineNumber', number) @set('controller.lineNumber', number)
toTop: () ->
$(window).scrollTop(0)
noop: -> # TODO required? noop: -> # TODO required?
# Log.Scroll = -> Log.Scroll = ->
# Log.Scroll.prototype = $.extend new Log.Listener, Log.Scroll.prototype = $.extend new Log.Listener,
# set: (number) -> set: (number) ->
# return unless number return unless number
# @number = number @number = number
# @tryScroll() @tryScroll()
#
# insert: (log, line, pos) -> insert: (log, data, pos) ->
# @tryScroll() if @number @tryScroll() if @number
# true true
#
# tryScroll: -> tryScroll: ->
# if element = $("#log p:visible")[@number - 1] if element = $("#log > p:visible")[@number - 1]
# $('#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)
# @number = undefined @number = undefined
#
# highlight: (element) -> highlight: (element) ->
# $('#log p.highlight').removeClass('highlight') $('#log p.highlight').removeClass('highlight')
# $(element).addClass('highlight') $(element).addClass('highlight')
#
# Log.Logger = -> # Log.Logger = ->
# Log.Logger.prototype = $.extend new Log.Listener, # Log.Logger.prototype = $.extend new Log.Listener,
# receive: (log, num, string) -> # receive: (log, num, string) ->

File diff suppressed because one or more lines are too long

View File

@ -15,5 +15,7 @@
height: 20px height: 20px
.warning .warning
color: #c00
a a
color: #c00
text-decoration: underline text-decoration: underline

View File

@ -1,11 +1,14 @@
#main #main
.sponsor .sponsor
float: left // float: left
margin-top: 0 margin-top: 0
color: #999 color: #999
.to-top .to-top
display: inline-block
width: 50px
float: right float: right
margin-right: 2px margin-right: 2px
padding-right: 16px padding-right: 16px
text-align: right
color: #999 color: #999
background: inline-image('ui/to-top.png') no-repeat right 6px background: inline-image('ui/to-top.png') no-repeat right 6px