diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index a8c9be07..79e5392b 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -25,14 +25,6 @@ Travis.TopController = Em.Controller.extend Travis.get('authState') == 'signing-in' ).property('Travis.authState') -Travis.ApplicationController = Em.Controller.extend - templateName: 'layouts/home' - - connectLayout: (name) -> - name = "layouts/#{name}" - if @get('templateName') != name - @set('templateName', name) - Travis.MainController = Em.Controller.extend() Travis.StatsLayoutController = Em.Controller.extend() Travis.ProfileLayoutController = Em.Controller.extend() diff --git a/assets/scripts/app/controllers/repos.coffee b/assets/scripts/app/controllers/repos.coffee index 8bb5a377..7935067b 100644 --- a/assets/scripts/app/controllers/repos.coffee +++ b/assets/scripts/app/controllers/repos.coffee @@ -1,6 +1,11 @@ require 'travis/limited_array' Travis.ReposController = Ember.ArrayController.extend + actions: + activate: (name) -> + @transitionToRoot() + @activate(name) + defaultTab: ( -> if @get('currentUser.id') 'owned' diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 2ce50a2e..1b308214 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -74,8 +74,9 @@ Travis.Router.map -> @route 'auth', path: '/auth' @resource 'profile', path: '/profile', -> - @resource 'account', path: '/:login' - @route 'info', path: '/info' + @resource 'accounts', path: '/', -> + @resource 'account', path: '/:login' + @route 'info', path: '/info' @route 'notFound', path: "/*path" @@ -130,7 +131,6 @@ Travis.SimpleLayoutRoute = Travis.Route.extend setupController: -> $('body').attr('id', 'home') @container.lookup('controller:repos').activate() - @container.lookup('controller:application').connectLayout 'simple' @_super.apply(this, arguments) renderTemplate: -> @@ -295,11 +295,12 @@ Travis.IndexRoute = Travis.Route.extend renderTemplate: -> $('body').attr('id', 'home') - @render 'repos', outlet: 'left' + @_super.apply this, arguments + + @render 'repos', outlet: 'left', into: 'index' setupController: (controller)-> @container.lookup('controller:repos').activate() - @container.lookup('controller:application').connectLayout 'home' Travis.StatsRoute = Travis.Route.extend renderTemplate: -> @@ -307,42 +308,39 @@ Travis.StatsRoute = Travis.Route.extend @render 'stats' - setupController: -> - @container.lookup('controller:application').connectLayout('simple') - Travis.NotFoundRoute = Travis.Route.extend renderTemplate: -> $('body').attr('id', 'not-found') @render 'not_found' - setupController: -> - @container.lookup('controller:application').connectLayout('simple') - Travis.ProfileRoute = Travis.Route.extend needsAuth: true setupController: (controller, model) -> - @container.lookup('controller:application').connectLayout('profile') @controllerFor('accounts').set('model', model) + renderTemplate: -> + $('body').attr('id', 'profile') + @_super.apply(this, arguments) + @render 'loading', outlet: 'left', into: 'profile' + +Travis.AccountsRoute = Travis.Route.extend model: -> Travis.Account.fetch(all: true) renderTemplate: -> - $('body').attr('id', 'profile') - @render 'accounts', outlet: 'left' - @_super.apply(this, arguments) + @render 'profile_accounts', outlet: 'left', into: 'profile' -Travis.ProfileIndexRoute = Travis.Route.extend +Travis.AccountsIndexRoute = Travis.Route.extend redirect: -> # TODO: setting accounts model in ProfileRoute is wrong, but # at this stage it's better than what we had before - accounts = @modelFor('profile') + accounts = @modelFor('accounts') login = @controllerFor('currentUser').get('login') account = accounts.find (account) -> account.get('login') == login - @transitionTo 'account', account + @replaceWith 'account', account Travis.AccountRoute = Travis.Route.extend setupController: (controller, account) -> @@ -351,7 +349,7 @@ Travis.AccountRoute = Travis.Route.extend @controllerFor('profile').activate 'hooks' model: (params) -> - @modelFor('profile').find (account) -> account.get('login') == params.login + @modelFor('accounts').find (account) -> account.get('login') == params.login serialize: (account) -> if account && account.get @@ -372,9 +370,6 @@ Travis.AuthRoute = Travis.Route.extend @render 'auth.signin' - setupController: -> - @container.lookup('controller:application').connectLayout('simple') - deactivate: -> @controllerFor('auth').set('redirected', false) diff --git a/assets/scripts/app/templates/accounts.hbs b/assets/scripts/app/templates/accounts.hbs new file mode 100644 index 00000000..c24cd689 --- /dev/null +++ b/assets/scripts/app/templates/accounts.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/assets/scripts/app/templates/application.hbs b/assets/scripts/app/templates/application.hbs new file mode 100644 index 00000000..c24cd689 --- /dev/null +++ b/assets/scripts/app/templates/application.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/assets/scripts/app/templates/index.hbs b/assets/scripts/app/templates/index.hbs new file mode 100644 index 00000000..c24cd689 --- /dev/null +++ b/assets/scripts/app/templates/index.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/assets/scripts/app/templates/layouts/home.hbs b/assets/scripts/app/templates/layouts/home.hbs index 4e6fc0fe..3ce0b50f 100644 --- a/assets/scripts/app/templates/layouts/home.hbs +++ b/assets/scripts/app/templates/layouts/home.hbs @@ -8,5 +8,5 @@
{{render "flash"}} - {{outlet}} + {{yield}}
diff --git a/assets/scripts/app/templates/layouts/profile.hbs b/assets/scripts/app/templates/layouts/profile.hbs index 2a908308..9349d495 100644 --- a/assets/scripts/app/templates/layouts/profile.hbs +++ b/assets/scripts/app/templates/layouts/profile.hbs @@ -8,7 +8,7 @@
{{render "flash"}} - {{outlet main}} + {{yield}}