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