Make routes code more async capable when setting job
After changing Ember Data to Ember Model, the default behavior is to not return promise by default from `find` call. This is better in general for our use case, because we don't block rendering the UI while data loads, but we now have to handle cases where model is not yet loaded in `setupController`
This commit is contained in:
parent
373c7f706f
commit
af3f865854
|
@ -203,8 +203,16 @@ Travis.JobRoute = Ember.Route.extend
|
|||
repo = @controllerFor('repo')
|
||||
repo.set('job', model)
|
||||
repo.activate('job')
|
||||
@controllerFor('build').set('build', model.get('build'))
|
||||
repo.set('build', model.get('build'))
|
||||
|
||||
# since we're no longer using promises, the setupController resolves right away,
|
||||
# so we need to wait for build to be loaded
|
||||
buildObserver = ->
|
||||
if build = model.get('build')
|
||||
@controllerFor('build').set('build', build)
|
||||
repo.set('build', build)
|
||||
|
||||
model.removeObserver('build', buildObserver)
|
||||
model.addObserver('build', this, buildObserver)
|
||||
|
||||
Travis.RepoIndexRoute = Ember.Route.extend Travis.SetupLastBuild,
|
||||
setupController: (controller, model) ->
|
||||
|
|
Loading…
Reference in New Issue
Block a user