Add ChunkBuffer to log
This commit is contained in:
parent
ab97ca0e78
commit
2eab278736
|
@ -1,4 +1,5 @@
|
||||||
require 'travis/model'
|
require 'travis/model'
|
||||||
|
require 'travis/chunk_buffer'
|
||||||
|
|
||||||
@Travis.Log = Em.Object.extend
|
@Travis.Log = Em.Object.extend
|
||||||
version: 0 # used to refresh log on requeue
|
version: 0 # used to refresh log on requeue
|
||||||
|
@ -6,9 +7,13 @@ require 'travis/model'
|
||||||
length: 0
|
length: 0
|
||||||
|
|
||||||
init: ->
|
init: ->
|
||||||
@set('parts', Ember.ArrayProxy.create(content: []))
|
@setParts()
|
||||||
@fetch()
|
@fetch()
|
||||||
|
|
||||||
|
setParts: ->
|
||||||
|
#@set 'parts', Ember.ArrayProxy.create(content: [])
|
||||||
|
@set 'parts', Travis.ChunkBuffer.create(content: [])
|
||||||
|
|
||||||
fetch: ->
|
fetch: ->
|
||||||
console.log 'log model: fetching log' if Log.DEBUG
|
console.log 'log model: fetching log' if Log.DEBUG
|
||||||
handlers =
|
handlers =
|
||||||
|
@ -17,7 +22,7 @@ require 'travis/model'
|
||||||
Travis.Log.Request.create(id: id, handlers: handlers).run() if id = @get('job.id')
|
Travis.Log.Request.create(id: id, handlers: handlers).run() if id = @get('job.id')
|
||||||
|
|
||||||
clear: ->
|
clear: ->
|
||||||
@set('parts', Ember.ArrayProxy.create(content: []))
|
@setParts()
|
||||||
@incrementProperty('version')
|
@incrementProperty('version')
|
||||||
|
|
||||||
append: (part) ->
|
append: (part) ->
|
||||||
|
@ -31,7 +36,7 @@ require 'travis/model'
|
||||||
loadText: (text) ->
|
loadText: (text) ->
|
||||||
console.log 'log model: load text' if Log.DEBUG
|
console.log 'log model: load text' if Log.DEBUG
|
||||||
number = -1
|
number = -1
|
||||||
@append(number: 0, content: text)
|
@append(number: 1, content: text)
|
||||||
@set('isLoaded', true)
|
@set('isLoaded', true)
|
||||||
|
|
||||||
Travis.Log.Request = Em.Object.extend
|
Travis.Log.Request = Em.Object.extend
|
||||||
|
|
|
@ -34,15 +34,19 @@ Travis.UnorderedLogEngineMixin = Ember.Mixin.create
|
||||||
@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: (->
|
||||||
|
@limit && @limit.limited
|
||||||
|
).property()
|
||||||
|
|
||||||
Travis.OrderedLogEngineMixin = Ember.Mixin.create
|
Travis.OrderedLogEngineMixin = Ember.Mixin.create
|
||||||
setupEngine: ->
|
setupEngine: ->
|
||||||
@set('logManager', Travis.OrderedLog.create(target: this))
|
@set('logManager', Travis.OrderedLog.create(target: this))
|
||||||
|
|
||||||
@get('logManager').append @get('log.parts').map( (part) -> Ember.get(part, 'content') )
|
@get('logManager').append @get('log.parts')
|
||||||
|
|
||||||
@get('log.parts').addArrayObserver this,
|
@get('log.parts').addArrayObserver this,
|
||||||
didChange: 'partsDidChange'
|
didChange: 'partsDidChange'
|
||||||
willChange: 'partsWillChange'
|
willChange: 'noop'
|
||||||
|
|
||||||
destroyEngine: (view) ->
|
destroyEngine: (view) ->
|
||||||
@get('logManager').destroy()
|
@get('logManager').destroy()
|
||||||
|
@ -51,7 +55,7 @@ Travis.OrderedLogEngineMixin = Ember.Mixin.create
|
||||||
willChange: 'noop'
|
willChange: 'noop'
|
||||||
|
|
||||||
partsDidChange: (parts, index, removedCount, addedCount) ->
|
partsDidChange: (parts, index, removedCount, addedCount) ->
|
||||||
addedParts = parts.slice(index, index + addedCount).map( (part) -> Ember.get(part, 'content') )
|
addedParts = parts.slice(index, index + addedCount)
|
||||||
@get('logManager').append addedParts
|
@get('logManager').append addedParts
|
||||||
|
|
||||||
lineNumberDidChange: (->
|
lineNumberDidChange: (->
|
||||||
|
@ -189,9 +193,6 @@ Travis.reopen
|
||||||
@rerender() if @get('inDOM')
|
@rerender() if @get('inDOM')
|
||||||
).observes('log')
|
).observes('log')
|
||||||
|
|
||||||
#limited: (->
|
|
||||||
# @limit && @limit.limited
|
|
||||||
#).property()
|
|
||||||
|
|
||||||
plainTextLogUrl: (->
|
plainTextLogUrl: (->
|
||||||
Travis.Urls.plainTextLog(id) if id = @get('log.job.id')
|
Travis.Urls.plainTextLog(id) if id = @get('log.job.id')
|
||||||
|
|
|
@ -32,18 +32,18 @@ Travis.ChunkBuffer = Em.ArrayProxy.extend
|
||||||
@get('content').replace(idx, amt, objects)
|
@get('content').replace(idx, amt, objects)
|
||||||
|
|
||||||
queue: (->
|
queue: (->
|
||||||
Em.ArrayProxy.create(Em.SortableMixin,
|
Em.ArrayProxy.extend(Em.SortableMixin, {
|
||||||
content: []
|
content: []
|
||||||
sortProperties: ['number']
|
sortProperties: ['number']
|
||||||
sortAscending: true
|
sortAscending: true
|
||||||
)
|
}).create()
|
||||||
).property()
|
).property()
|
||||||
|
|
||||||
contentArrayDidChange: (array, index, removedCount, addedCount) ->
|
contentArrayDidChange: (array, index, removedCount, addedCount) ->
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
|
|
||||||
if addedCount
|
if addedCount
|
||||||
queue = @get('queue.content')
|
queue = @get('queue')
|
||||||
addedObjects = array.slice(index, index + addedCount)
|
addedObjects = array.slice(index, index + addedCount)
|
||||||
console.log 'Added log parts with numbers:', addedObjects.map( (element) -> get(element, 'number') )+'', 'current', @get('next')
|
console.log 'Added log parts with numbers:', addedObjects.map( (element) -> get(element, 'number') )+'', 'current', @get('next')
|
||||||
queue.pushObjects addedObjects
|
queue.pushObjects addedObjects
|
||||||
|
|
Loading…
Reference in New Issue
Block a user