Get rid of hacks from routes
This commit is contained in:
parent
670f38542a
commit
373c7f706f
|
@ -1,38 +1,6 @@
|
|||
require 'travis/location'
|
||||
require 'travis/line_number_parser'
|
||||
|
||||
Travis.DontSetupModelForControllerMixin = Ember.Mixin.create
|
||||
# I've override setup to *not* set controller's model
|
||||
# this can be remove when this patch will be merged https://github.com/emberjs/ember.js/pull/2044
|
||||
# this will allow us to override setting up model for a controller
|
||||
setup: (context) ->
|
||||
isTop = undefined
|
||||
unless @_redirected
|
||||
isTop = true
|
||||
@_redirected = []
|
||||
|
||||
@_checkingRedirect = true
|
||||
depth = ++@_redirectDepth
|
||||
|
||||
if context is `undefined`
|
||||
@redirect()
|
||||
else
|
||||
@redirect context
|
||||
|
||||
@_redirectDepth--
|
||||
@_checkingRedirect = false
|
||||
|
||||
redirected = @_redirected
|
||||
|
||||
@_redirected = null if isTop
|
||||
|
||||
return false if redirected[depth]
|
||||
|
||||
controller = @controllerFor(@routeName, context)
|
||||
|
||||
@setupController controller, context
|
||||
@renderTemplate controller, context
|
||||
|
||||
Ember.Router.reopen
|
||||
location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create())
|
||||
|
||||
|
@ -159,11 +127,7 @@ Travis.GettingStartedRoute = Ember.Route.extend
|
|||
@render 'repos', outlet: 'left'
|
||||
@_super.apply(this, arguments)
|
||||
|
||||
Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, Travis.SetupLastBuild,
|
||||
renderDefaultTemplate: ->
|
||||
@render 'repo'
|
||||
@render 'build', outlet: 'pane', into: 'repo'
|
||||
|
||||
Travis.IndexCurrentRoute = Ember.Route.extend Travis.SetupLastBuild,
|
||||
renderTemplate: ->
|
||||
@render 'repo'
|
||||
@render 'build', outlet: 'pane', into: 'repo'
|
||||
|
@ -171,6 +135,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController
|
|||
setupController: ->
|
||||
@_super.apply this, arguments
|
||||
@currentRepoDidChange()
|
||||
|
||||
@container.lookup('controller:repo').activate('index')
|
||||
@controllerFor('repos').addObserver('firstObject', this, 'currentRepoDidChange')
|
||||
|
||||
|
@ -180,7 +145,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController
|
|||
currentRepoDidChange: ->
|
||||
@controllerFor('repo').set('repo', @controllerFor('repos').get('firstObject'))
|
||||
|
||||
Travis.AbstractBuildsRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||
Travis.AbstractBuildsRoute = Ember.Route.extend
|
||||
renderTemplate: ->
|
||||
@render 'builds', outlet: 'pane', into: 'repo'
|
||||
|
||||
|
@ -205,7 +170,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.DontSetupModelForControllerMixin,
|
||||
Travis.BuildRoute = Ember.Route.extend
|
||||
renderTemplate: ->
|
||||
@render 'build', outlet: 'pane', into: 'repo'
|
||||
|
||||
|
@ -223,7 +188,7 @@ Travis.BuildRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
|||
@controllerFor('build').set('build', model)
|
||||
repo.set('build', model)
|
||||
|
||||
Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||
Travis.JobRoute = Ember.Route.extend
|
||||
renderTemplate: ->
|
||||
@render 'job', outlet: 'pane', into: 'repo'
|
||||
|
||||
|
@ -241,7 +206,7 @@ Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
|||
@controllerFor('build').set('build', model.get('build'))
|
||||
repo.set('build', model.get('build'))
|
||||
|
||||
Travis.RepoIndexRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, Travis.SetupLastBuild,
|
||||
Travis.RepoIndexRoute = Ember.Route.extend Travis.SetupLastBuild,
|
||||
setupController: (controller, model) ->
|
||||
@_super.apply this, arguments
|
||||
@container.lookup('controller:repo').activate('current')
|
||||
|
@ -249,7 +214,7 @@ Travis.RepoIndexRoute = Ember.Route.extend Travis.DontSetupModelForControllerMix
|
|||
renderTemplate: ->
|
||||
@render 'build', outlet: 'pane', into: 'repo'
|
||||
|
||||
Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||
Travis.RepoRoute = Ember.Route.extend
|
||||
renderTemplate: ->
|
||||
@render 'repo'
|
||||
|
||||
|
@ -264,7 +229,7 @@ Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
|||
[owner, name] = slug.split('/')
|
||||
{ owner: owner, name: name }
|
||||
|
||||
deserialize: (params) ->
|
||||
model: (params) ->
|
||||
slug = "#{params.owner}/#{params.name}"
|
||||
content = Ember.Object.create slug: slug, isLoaded: false, isLoading: true
|
||||
proxy = Ember.ObjectProxy.create(content: content)
|
||||
|
@ -354,7 +319,7 @@ Travis.AccountRoute = Ember.Route.extend
|
|||
params = { login: account.get('login') }
|
||||
profileController.setParams(params)
|
||||
|
||||
deserialize: (params) ->
|
||||
model: (params) ->
|
||||
controller = @container.lookup('controller:accounts')
|
||||
account = controller.findByLogin(params.login)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user