move log subscrition to a log controller
This commit is contained in:
parent
4c699f18c3
commit
2e8b74160c
|
@ -33,7 +33,7 @@
|
|||
if user && token && @validateUser(user)
|
||||
{ user: user, token: token }
|
||||
else
|
||||
console.log('dropping user, no token') unless token?
|
||||
# console.log('dropping user, no token') if token?
|
||||
storage.removeItem('travis.user')
|
||||
storage.removeItem('travis.token')
|
||||
null
|
||||
|
@ -45,7 +45,7 @@
|
|||
if user[field]
|
||||
true
|
||||
else
|
||||
console.log("discarding user data, lacks #{field}")
|
||||
# console.log("discarding user data, lacks #{field}")
|
||||
false
|
||||
|
||||
setData: (data) ->
|
||||
|
|
|
@ -29,6 +29,7 @@ require 'controllers/builds'
|
|||
require 'controllers/flash'
|
||||
require 'controllers/home'
|
||||
require 'controllers/job'
|
||||
require 'controllers/log'
|
||||
require 'controllers/profile'
|
||||
require 'controllers/repos'
|
||||
require 'controllers/repo'
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
Travis.BuildController = Ember.Controller.extend
|
||||
needs: ['repo']
|
||||
needs: ['repo', 'log']
|
||||
repoBinding: 'controllers.repo.repo'
|
||||
buildBinding: 'controllers.repo.build'
|
||||
commitBinding: 'build.commit'
|
||||
jobBinding: 'controllers.log.job'
|
||||
|
||||
currentItemBinding: 'build'
|
||||
|
||||
|
@ -21,3 +22,7 @@ Travis.BuildController = Ember.Controller.extend
|
|||
urlCommitter: (->
|
||||
Travis.Urls.email(@get('commit.committerEmail'))
|
||||
).property('commit.committerEmail')
|
||||
|
||||
hasLoaded: (->
|
||||
@set('controllers.log.job', @get('build.firstJob')) if @get('build.isLoaded') && !@get('build.isMatrix')
|
||||
).observes('build.id', 'loading')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Travis.JobController = Em.Controller.extend
|
||||
needs: ['repo']
|
||||
needs: ['repo', 'log']
|
||||
|
||||
jobBinding: 'controllers.repo.job'
|
||||
repoBinding: 'controllers.repo.repo'
|
||||
|
@ -16,3 +16,7 @@ Travis.JobController = Em.Controller.extend
|
|||
urlCommitter: (->
|
||||
Travis.Urls.email(@get('commit.committerEmail'))
|
||||
).property('commit.committerEmail')
|
||||
|
||||
hasLoaded: (->
|
||||
@set('controllers.log.job', @get('job'))
|
||||
).observes('job.id')
|
||||
|
|
15
assets/scripts/app/controllers/log.coffee
Normal file
15
assets/scripts/app/controllers/log.coffee
Normal file
|
@ -0,0 +1,15 @@
|
|||
Travis.LogController = Ember.Controller.extend
|
||||
needs: ['repo']
|
||||
|
||||
logObserver: (->
|
||||
@unsubscribe()
|
||||
@subscribe(@get('job'))
|
||||
).observes('job.logId')
|
||||
|
||||
subscribe: (job) ->
|
||||
job = @get('job')
|
||||
job.subscribe() if job && !job.get('isFinished')
|
||||
|
||||
unsubscribe: ->
|
||||
job = @get('subscribed')
|
||||
job.unsubscribe() if job
|
|
@ -31,6 +31,10 @@ require 'travis/model'
|
|||
@get('jobs.length') > 1
|
||||
).property('jobs.length')
|
||||
|
||||
firstJob: (->
|
||||
@get('jobs.firstObject')
|
||||
).property('jobs.length')
|
||||
|
||||
isFinished: (->
|
||||
@get('state') in ['passed', 'failed', 'errored', 'canceled']
|
||||
).property('state')
|
||||
|
|
|
@ -10,7 +10,7 @@ require 'travis/model'
|
|||
@fetch()
|
||||
|
||||
fetch: ->
|
||||
console.log 'fetch'
|
||||
console.log 'log model: fetching log' if Log.DEBUG
|
||||
handlers =
|
||||
json: (json) => @loadParts(json['log']['parts'])
|
||||
text: (text) => @loadText(text)
|
||||
|
@ -24,12 +24,12 @@ require 'travis/model'
|
|||
@get('parts').pushObject(part)
|
||||
|
||||
loadParts: (parts) ->
|
||||
console.log 'log model: load parts'
|
||||
console.log 'log model: load parts' if Log.DEBUG
|
||||
@append(part) for part in parts
|
||||
@set('isLoaded', true)
|
||||
|
||||
loadText: (text) ->
|
||||
console.log 'log model: load text'
|
||||
console.log 'log model: load text' if Log.DEBUG
|
||||
number = -1
|
||||
@append(number: 0, content: text)
|
||||
@set('isLoaded', true)
|
||||
|
|
|
@ -24,10 +24,12 @@ $.extend Travis.Pusher.prototype,
|
|||
@pusher.subscribeAll()
|
||||
|
||||
subscribe: (channel) ->
|
||||
console.log("subscribing to #{channel}")
|
||||
channel = @prefix(channel)
|
||||
@pusher.subscribe(channel).bind_all((event, data) => @receive(event, data)) unless @pusher?.channel(channel)
|
||||
|
||||
unsubscribe: (channel) ->
|
||||
console.log("unsubscribing from #{channel}")
|
||||
channel = @prefix(channel)
|
||||
@pusher.unsubscribe(channel) if @pusher?.channel(channel)
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ Travis.JobRoute = Ember.Route.extend Travis.LineNumberParser,
|
|||
controller.set('lineNumber', lineNumber)
|
||||
|
||||
repo = @container.lookup('controller:repo')
|
||||
console.log model.toString()
|
||||
# console.log model.toString()
|
||||
repo.set('job', model)
|
||||
repo.activate('job')
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ Travis.Store = DS.Store.extend
|
|||
|
||||
|
||||
if event == 'job:log'
|
||||
console.log 'store: received job:log event', data
|
||||
console.log 'store: received job:log event', data if Log.DEBUG
|
||||
data = data.job
|
||||
job = @find(Travis.Job, data.id)
|
||||
job.appendLog(number: parseInt(data.number), content: data._log)
|
||||
|
|
|
@ -48,6 +48,6 @@
|
|||
{{view Travis.JobsView jobsBinding="build.requiredJobs" required="true"}}
|
||||
{{view Travis.JobsView jobsBinding="build.allowedFailureJobs"}}
|
||||
{{else}}
|
||||
{{view Travis.LogView jobBinding="build.jobs.firstObject"}}
|
||||
{{view Travis.LogView jobBinding="job"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
|
@ -44,6 +44,7 @@ Travis.reopen
|
|||
|
||||
BuildView: Travis.View.extend
|
||||
templateName: 'builds/show'
|
||||
jobBinding: 'controller.job'
|
||||
classNameBindings: ['color', 'loading']
|
||||
|
||||
loadingBinding: 'controller.loading'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'log'
|
||||
|
||||
Log.DEBUG = true
|
||||
Log.DEBUG = false
|
||||
|
||||
Travis.reopen
|
||||
LogView: Travis.View.extend
|
||||
|
@ -8,14 +8,6 @@ Travis.reopen
|
|||
logBinding: 'job.log'
|
||||
contextBinding: 'job'
|
||||
|
||||
didInsertElement: ->
|
||||
job = @get('job')
|
||||
job.subscribe() if job && !job.get('isFinished')
|
||||
|
||||
willDestroyElement: ->
|
||||
job = @get('job')
|
||||
job.unsubscribe() if job
|
||||
|
||||
toTop: () ->
|
||||
$(window).scrollTop(0)
|
||||
|
||||
|
|
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
Loading…
Reference in New Issue
Block a user