Wait for slug being present on runnning jobs list
This commit is contained in:
parent
c5dce13317
commit
b5c7e52eaa
|
@ -46,19 +46,36 @@ Travis.RunningJobsController = Em.ArrayProxy.extend
|
||||||
addedJobs: (jobs) ->
|
addedJobs: (jobs) ->
|
||||||
self = this
|
self = this
|
||||||
jobs.forEach (job) ->
|
jobs.forEach (job) ->
|
||||||
slug = job.get('repoSlug')
|
self.waitForSlug(job, 'addJob')
|
||||||
group = self.groupForSlug(slug)
|
|
||||||
group.add(job)
|
|
||||||
|
|
||||||
removedJobs: (jobs) ->
|
removedJobs: (jobs) ->
|
||||||
self = this
|
self = this
|
||||||
jobs.forEach (job) ->
|
jobs.forEach (job) ->
|
||||||
|
self.waitForSlug(job, 'removeJob')
|
||||||
|
|
||||||
|
addJob: (job) ->
|
||||||
slug = job.get('repoSlug')
|
slug = job.get('repoSlug')
|
||||||
group = self.groupForSlug(slug)
|
group = @groupForSlug(slug)
|
||||||
|
group.add(job)
|
||||||
|
|
||||||
|
removeJob: (job) ->
|
||||||
|
slug = job.get('repoSlug')
|
||||||
|
group = @groupForSlug(slug)
|
||||||
group.remove(job)
|
group.remove(job)
|
||||||
|
|
||||||
|
waitForSlug: (job, callbackName) ->
|
||||||
|
callback = @[callbackName]
|
||||||
|
self = this
|
||||||
|
if job.get('repoSlug')?
|
||||||
|
callback.call self, job
|
||||||
|
else
|
||||||
|
observer = ->
|
||||||
|
if job.get('repoSlug')?
|
||||||
|
callback.call self, job
|
||||||
|
job.removeObserver 'repoSlug', observer
|
||||||
|
job.addObserver 'repoSlug', observer
|
||||||
|
|
||||||
groupForSlug: (slug) ->
|
groupForSlug: (slug) ->
|
||||||
console.log 'slug', slug
|
|
||||||
@groupsBySlug[slug] ||= @Group.create(slug: slug, parent: this)
|
@groupsBySlug[slug] ||= @Group.create(slug: slug, parent: this)
|
||||||
|
|
||||||
addGroup: (group) ->
|
addGroup: (group) ->
|
||||||
|
|
Loading…
Reference in New Issue
Block a user