Get rid of hacks from routes
This commit is contained in:
parent
670f38542a
commit
373c7f706f
|
@ -1,38 +1,6 @@
|
||||||
require 'travis/location'
|
require 'travis/location'
|
||||||
require 'travis/line_number_parser'
|
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
|
Ember.Router.reopen
|
||||||
location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create())
|
location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create())
|
||||||
|
|
||||||
|
@ -159,11 +127,7 @@ Travis.GettingStartedRoute = Ember.Route.extend
|
||||||
@render 'repos', outlet: 'left'
|
@render 'repos', outlet: 'left'
|
||||||
@_super.apply(this, arguments)
|
@_super.apply(this, arguments)
|
||||||
|
|
||||||
Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin, Travis.SetupLastBuild,
|
Travis.IndexCurrentRoute = Ember.Route.extend Travis.SetupLastBuild,
|
||||||
renderDefaultTemplate: ->
|
|
||||||
@render 'repo'
|
|
||||||
@render 'build', outlet: 'pane', into: 'repo'
|
|
||||||
|
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'repo'
|
@render 'repo'
|
||||||
@render 'build', outlet: 'pane', into: 'repo'
|
@render 'build', outlet: 'pane', into: 'repo'
|
||||||
|
@ -171,6 +135,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController
|
||||||
setupController: ->
|
setupController: ->
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
@currentRepoDidChange()
|
@currentRepoDidChange()
|
||||||
|
|
||||||
@container.lookup('controller:repo').activate('index')
|
@container.lookup('controller:repo').activate('index')
|
||||||
@controllerFor('repos').addObserver('firstObject', this, 'currentRepoDidChange')
|
@controllerFor('repos').addObserver('firstObject', this, 'currentRepoDidChange')
|
||||||
|
|
||||||
|
@ -180,7 +145,7 @@ Travis.IndexCurrentRoute = Ember.Route.extend Travis.DontSetupModelForController
|
||||||
currentRepoDidChange: ->
|
currentRepoDidChange: ->
|
||||||
@controllerFor('repo').set('repo', @controllerFor('repos').get('firstObject'))
|
@controllerFor('repo').set('repo', @controllerFor('repos').get('firstObject'))
|
||||||
|
|
||||||
Travis.AbstractBuildsRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
Travis.AbstractBuildsRoute = Ember.Route.extend
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'builds', outlet: 'pane', into: 'repo'
|
@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.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests')
|
||||||
Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches')
|
Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches')
|
||||||
|
|
||||||
Travis.BuildRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
Travis.BuildRoute = Ember.Route.extend
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'build', outlet: 'pane', into: 'repo'
|
@render 'build', outlet: 'pane', into: 'repo'
|
||||||
|
|
||||||
|
@ -223,7 +188,7 @@ Travis.BuildRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||||
@controllerFor('build').set('build', model)
|
@controllerFor('build').set('build', model)
|
||||||
repo.set('build', model)
|
repo.set('build', model)
|
||||||
|
|
||||||
Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
Travis.JobRoute = Ember.Route.extend
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'job', outlet: 'pane', into: 'repo'
|
@render 'job', outlet: 'pane', into: 'repo'
|
||||||
|
|
||||||
|
@ -241,7 +206,7 @@ Travis.JobRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||||
@controllerFor('build').set('build', model.get('build'))
|
@controllerFor('build').set('build', model.get('build'))
|
||||||
repo.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) ->
|
setupController: (controller, model) ->
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
@container.lookup('controller:repo').activate('current')
|
@container.lookup('controller:repo').activate('current')
|
||||||
|
@ -249,7 +214,7 @@ Travis.RepoIndexRoute = Ember.Route.extend Travis.DontSetupModelForControllerMix
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'build', outlet: 'pane', into: 'repo'
|
@render 'build', outlet: 'pane', into: 'repo'
|
||||||
|
|
||||||
Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
Travis.RepoRoute = Ember.Route.extend
|
||||||
renderTemplate: ->
|
renderTemplate: ->
|
||||||
@render 'repo'
|
@render 'repo'
|
||||||
|
|
||||||
|
@ -264,7 +229,7 @@ Travis.RepoRoute = Ember.Route.extend Travis.DontSetupModelForControllerMixin,
|
||||||
[owner, name] = slug.split('/')
|
[owner, name] = slug.split('/')
|
||||||
{ owner: owner, name: name }
|
{ owner: owner, name: name }
|
||||||
|
|
||||||
deserialize: (params) ->
|
model: (params) ->
|
||||||
slug = "#{params.owner}/#{params.name}"
|
slug = "#{params.owner}/#{params.name}"
|
||||||
content = Ember.Object.create slug: slug, isLoaded: false, isLoading: true
|
content = Ember.Object.create slug: slug, isLoaded: false, isLoading: true
|
||||||
proxy = Ember.ObjectProxy.create(content: content)
|
proxy = Ember.ObjectProxy.create(content: content)
|
||||||
|
@ -354,7 +319,7 @@ Travis.AccountRoute = Ember.Route.extend
|
||||||
params = { login: account.get('login') }
|
params = { login: account.get('login') }
|
||||||
profileController.setParams(params)
|
profileController.setParams(params)
|
||||||
|
|
||||||
deserialize: (params) ->
|
model: (params) ->
|
||||||
controller = @container.lookup('controller:accounts')
|
controller = @container.lookup('controller:accounts')
|
||||||
account = controller.findByLogin(params.login)
|
account = controller.findByLogin(params.login)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user