Don't reopen Ember.Route

A better way is to provide Travis.Route, which will be used by default
when generating route objects.

There is also no need to define actions for all the routes as they are
needed only in ApplicationRoute (ie. when they're not handled by other
routes).
This commit is contained in:
Piotr Sarnacki 2014-02-12 08:55:55 +01:00
parent e5749b0629
commit ce74220f28

View File

@ -7,33 +7,7 @@ Ember.Router.reopen
url = url.replace(/#.*?$/, '')
@_super(url)
# TODO: don't reopen Ember.Route to add events, there should be
# a better way (like "parent" resource for everything inside map)
Ember.Route.reopen
_actions:
renderDefaultTemplate: ->
@renderDefaultTemplate() if @renderDefaultTemplate
error: (error) ->
if error == 'needs-auth'
authController = @container.lookup('controller:auth') || @generateController('auth')
authController.set('redirected', true)
@transitionTo('auth')
else
return true
renderNoOwnedRepos: ->
@render('no_owned_repos', outlet: 'main')
renderFirstSync: ->
@renderFirstSync()
afterSignIn: (path) ->
@afterSignIn(path)
afterSignOut: ->
@afterSignOut()
Travis.Route = Ember.Route.extend
afterSignIn: ->
if transition = Travis.auth.get('afterSignInTransition')
Travis.auth.set('afterSignInTransition', null)
@ -72,6 +46,31 @@ Ember.Route.reopen
Travis.storeAfterSignInPath(path)
@transitionTo('auth')
Travis.ApplicationRoute = Travis.Route.extend
actions:
renderDefaultTemplate: ->
@renderDefaultTemplate() if @renderDefaultTemplate
error: (error) ->
if error == 'needs-auth'
authController = @container.lookup('controller:auth') || @generateController('auth')
authController.set('redirected', true)
@transitionTo('auth')
else
return true
renderNoOwnedRepos: ->
@render('no_owned_repos', outlet: 'main')
renderFirstSync: ->
@renderFirstSync()
afterSignIn: (path) ->
@afterSignIn(path)
afterSignOut: ->
@afterSignOut()
Travis.Router.map ->
@resource 'index', path: '/', ->
@route 'current', path: '/'
@ -108,7 +107,7 @@ Travis.SetupLastBuild = Ember.Mixin.create
Ember.run.next =>
@render('builds/not_found', outlet: 'pane', into: 'repo')
Travis.GettingStartedRoute = Ember.Route.extend
Travis.GettingStartedRoute = Travis.Route.extend
setupController: ->
$('body').attr('id', 'home')
@container.lookup('controller:repos').activate()
@ -120,8 +119,8 @@ Travis.GettingStartedRoute = Ember.Route.extend
@render 'repos', outlet: 'left'
@_super.apply(this, arguments)
Travis.FirstSyncRoute = Ember.Route.extend
_actions:
Travis.FirstSyncRoute = Travis.Route.extend
actions:
renderNoOwnedRepos: (->)
# do nothing, we are showing first sync, so it's normal that there is
# no owned repos
@ -136,7 +135,7 @@ Travis.FirstSyncRoute = Ember.Route.extend
@render 'top', outlet: 'top'
@_super.apply(this, arguments)
Travis.IndexCurrentRoute = Ember.Route.extend Travis.SetupLastBuild,
Travis.IndexCurrentRoute = Travis.Route.extend Travis.SetupLastBuild,
renderTemplate: ->
@render 'repo'
@render 'build', outlet: 'pane', into: 'repo'
@ -154,7 +153,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.SetupLastBuild,
currentRepoDidChange: ->
@controllerFor('repo').set('repo', @controllerFor('repos').get('firstObject'))
Travis.AbstractBuildsRoute = Ember.Route.extend
Travis.AbstractBuildsRoute = Travis.Route.extend
renderTemplate: ->
@render 'builds', outlet: 'pane', into: 'repo'
@ -179,7 +178,7 @@ Travis.BuildsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'builds')
Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests')
Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches')
Travis.BuildRoute = Ember.Route.extend
Travis.BuildRoute = Travis.Route.extend
renderTemplate: ->
@render 'build', outlet: 'pane', into: 'repo'
@ -200,7 +199,7 @@ Travis.BuildRoute = Ember.Route.extend
model: (params) ->
Travis.Build.fetch(params.build_id)
Travis.JobRoute = Ember.Route.extend
Travis.JobRoute = Travis.Route.extend
renderTemplate: ->
@render 'job', outlet: 'pane', into: 'repo'
@ -223,7 +222,7 @@ Travis.JobRoute = Ember.Route.extend
model: (params) ->
Travis.Job.fetch(params.job_id)
Travis.RepoIndexRoute = Ember.Route.extend Travis.SetupLastBuild,
Travis.RepoIndexRoute = Travis.Route.extend Travis.SetupLastBuild,
setupController: (controller, model) ->
@_super.apply this, arguments
@controllerFor('repo').activate('current')
@ -231,7 +230,7 @@ Travis.RepoIndexRoute = Ember.Route.extend Travis.SetupLastBuild,
renderTemplate: ->
@render 'build', outlet: 'pane', into: 'repo'
Travis.RepoRoute = Ember.Route.extend
Travis.RepoRoute = Travis.Route.extend
renderTemplate: ->
@render 'repo'
@ -262,7 +261,7 @@ Travis.RepoRoute = Ember.Route.extend
# bubble to the top
return true
Travis.IndexRoute = Ember.Route.extend
Travis.IndexRoute = Travis.Route.extend
renderTemplate: ->
$('body').attr('id', 'home')
@ -274,7 +273,7 @@ Travis.IndexRoute = Ember.Route.extend
@container.lookup('controller:repos').activate()
@container.lookup('controller:application').connectLayout 'home'
Travis.StatsRoute = Ember.Route.extend
Travis.StatsRoute = Travis.Route.extend
renderTemplate: ->
$('body').attr('id', 'stats')
@ -284,7 +283,7 @@ Travis.StatsRoute = Ember.Route.extend
setupController: ->
@container.lookup('controller:application').connectLayout('simple')
Travis.NotFoundRoute = Ember.Route.extend
Travis.NotFoundRoute = Travis.Route.extend
renderTemplate: ->
$('body').attr('id', 'not-found')
@ -294,7 +293,7 @@ Travis.NotFoundRoute = Ember.Route.extend
setupController: ->
@container.lookup('controller:application').connectLayout('simple')
Travis.ProfileRoute = Ember.Route.extend
Travis.ProfileRoute = Travis.Route.extend
needsAuth: true
setupController: ->
@ -309,14 +308,14 @@ Travis.ProfileRoute = Ember.Route.extend
@render 'flash', outlet: 'flash'
@render 'profile'
Travis.ProfileIndexRoute = Ember.Route.extend
Travis.ProfileIndexRoute = Travis.Route.extend
setupController: ->
@container.lookup('controller:profile').activate 'hooks'
renderTemplate: ->
@render 'hooks', outlet: 'pane', into: 'profile', controller: 'profile'
Travis.AccountRoute = Ember.Route.extend
Travis.AccountRoute = Travis.Route.extend
setupController: (controller, account) ->
profileController = @container.lookup('controller:profile')
profileController.activate 'hooks'
@ -349,21 +348,21 @@ Travis.AccountRoute = Ember.Route.extend
else
{}
Travis.AccountIndexRoute = Ember.Route.extend
Travis.AccountIndexRoute = Travis.Route.extend
setupController: ->
@container.lookup('controller:profile').activate 'hooks'
renderTemplate: ->
@render 'hooks', outlet: 'pane', into: 'profile'
Travis.AccountProfileRoute = Ember.Route.extend
Travis.AccountProfileRoute = Travis.Route.extend
setupController: ->
@container.lookup('controller:profile').activate 'user'
renderTemplate: ->
@render 'user', outlet: 'pane', into: 'profile'
Travis.AuthRoute = Ember.Route.extend
Travis.AuthRoute = Travis.Route.extend
renderTemplate: ->
$('body').attr('id', 'auth')