Revert "move log subscrition to a log controller"

This was causing the log to not refresh sometimes when switching from
one repo to another, I'm reverting for now, we will have to have another
look.

This reverts commit 2e8b74160c.

Conflicts:
	assets/scripts/app/controllers/build.coffee
	assets/scripts/app/models/build.coffee
	assets/scripts/app/templates/builds/show.hbs
	assets/scripts/app/views/log.coffee
	assets/scripts/vendor/log.js
This commit is contained in:
Piotr Sarnacki 2013-03-14 10:07:35 +01:00
parent 2eab278736
commit 79f1dc448f
9 changed files with 7 additions and 35 deletions

View File

@ -29,7 +29,6 @@ require 'controllers/builds'
require 'controllers/flash' require 'controllers/flash'
require 'controllers/home' require 'controllers/home'
require 'controllers/job' require 'controllers/job'
require 'controllers/log'
require 'controllers/profile' require 'controllers/profile'
require 'controllers/repos' require 'controllers/repos'
require 'controllers/repo' require 'controllers/repo'

View File

@ -1,9 +1,8 @@
Travis.BuildController = Ember.Controller.extend Travis.BuildController = Ember.Controller.extend
needs: ['repo', 'log'] needs: ['repo']
repoBinding: 'controllers.repo.repo' repoBinding: 'controllers.repo.repo'
buildBinding: 'controllers.repo.build' buildBinding: 'controllers.repo.build'
commitBinding: 'build.commit' commitBinding: 'build.commit'
jobBinding: 'controllers.log.job'
currentItemBinding: 'build' currentItemBinding: 'build'
@ -22,7 +21,3 @@ Travis.BuildController = Ember.Controller.extend
urlCommitter: (-> urlCommitter: (->
Travis.Urls.email(@get('commit.committerEmail')) Travis.Urls.email(@get('commit.committerEmail'))
).property('commit.committerEmail') ).property('commit.committerEmail')
hasLoaded: (->
@set('controllers.log.job', @get('build.firstJob')) if @get('build.firstJob') && !@get('build.isMatrix')
).observes('build.id', 'build.firstJob')

View File

@ -1,5 +1,5 @@
Travis.JobController = Em.Controller.extend Travis.JobController = Em.Controller.extend
needs: ['repo', 'log'] needs: ['repo']
jobBinding: 'controllers.repo.job' jobBinding: 'controllers.repo.job'
repoBinding: 'controllers.repo.repo' repoBinding: 'controllers.repo.repo'
@ -16,7 +16,3 @@ Travis.JobController = Em.Controller.extend
urlCommitter: (-> urlCommitter: (->
Travis.Urls.email(@get('commit.committerEmail')) Travis.Urls.email(@get('commit.committerEmail'))
).property('commit.committerEmail') ).property('commit.committerEmail')
hasLoaded: (->
@set('controllers.log.job', @get('job'))
).observes('job.id')

View File

@ -1,15 +0,0 @@
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

View File

@ -30,10 +30,6 @@ require 'travis/model'
@get('jobs.length') > 1 @get('jobs.length') > 1
).property('jobs.length') ).property('jobs.length')
firstJob: (->
@get('jobs').objectAt(0)
).property('jobs.length')
isFinished: (-> isFinished: (->
@get('state') in ['passed', 'failed', 'errored', 'canceled'] @get('state') in ['passed', 'failed', 'errored', 'canceled']
).property('state') ).property('state')

View File

@ -112,7 +112,6 @@ Travis.JobRoute = Ember.Route.extend Travis.LineNumberParser,
controller.set('lineNumber', lineNumber) controller.set('lineNumber', lineNumber)
repo = @container.lookup('controller:repo') repo = @container.lookup('controller:repo')
# console.log model.toString()
repo.set('job', model) repo.set('job', model)
repo.activate('job') repo.activate('job')

View File

@ -53,7 +53,7 @@
{{view Travis.JobsView jobsBinding="build.requiredJobs" required="true"}} {{view Travis.JobsView jobsBinding="build.requiredJobs" required="true"}}
{{view Travis.JobsView jobsBinding="build.allowedFailureJobs"}} {{view Travis.JobsView jobsBinding="build.allowedFailureJobs"}}
{{else}} {{else}}
{{view Travis.LogView jobBinding="job"}} {{view Travis.LogView jobBinding="build.jobs.firstObject"}}
{{/if}} {{/if}}
{{else}} {{else}}
There are no builds for this repository. There are no builds for this repository.

View File

@ -44,7 +44,6 @@ Travis.reopen
BuildView: Travis.View.extend BuildView: Travis.View.extend
templateName: 'builds/show' templateName: 'builds/show'
jobBinding: 'controller.job'
classNameBindings: ['color', 'loading'] classNameBindings: ['color', 'loading']
loadingBinding: 'controller.loading' loadingBinding: 'controller.loading'

View File

@ -157,13 +157,16 @@ Travis.OrderedLogEngineMixin = Ember.Mixin.create
url = Travis.Urls.plainTextLog(@get('log.id')) url = Travis.Urls.plainTextLog(@get('log.id'))
this.$("#log").append $("<p class=\"cut\">Log was too long to display. Download the <a href=\"#{url}\">the raw version</a> to get the full log.</p>") this.$("#log").append $("<p class=\"cut\">Log was too long to display. Download the <a href=\"#{url}\">the raw version</a> to get the full log.</p>")
Travis.reopen Travis.reopen
LogView: Travis.View.extend LogView: Travis.View.extend
templateName: 'jobs/log' templateName: 'jobs/log'
logBinding: 'job.log' logBinding: 'job.log'
contextBinding: 'job' contextBinding: 'job'
didInsertElement: ->
job = @get('job')
job.subscribe() if job && !job.get('isFinished')
willDestroyElement: -> willDestroyElement: ->
job = @get('job') job = @get('job')
job.unsubscribe() if job job.unsubscribe() if job