From 681622b58c85543e1851cce9531ce658c046f8fa Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 15 Jan 2015 16:26:21 +0100 Subject: [PATCH] Clean up controllers a bit --- assets/scripts/app/controllers.coffee | 57 +------------------ assets/scripts/app/controllers/auth.coffee | 2 +- .../app/controllers/env_var_new.coffee | 7 ++- .../scripts/app/controllers/first_sync.coffee | 7 +++ assets/scripts/app/controllers/home.coffee | 1 - assets/scripts/app/controllers/profile.coffee | 9 +-- assets/scripts/app/controllers/repo.coffee | 2 +- assets/scripts/app/controllers/sidebar.coffee | 17 ++++++ assets/scripts/app/controllers/stats.coffee | 9 --- assets/scripts/app/controllers/top.coffee | 13 +++++ assets/scripts/app/routes.coffee | 2 - assets/scripts/app/routes/stats.coffee | 12 ---- 12 files changed, 49 insertions(+), 89 deletions(-) create mode 100644 assets/scripts/app/controllers/first_sync.coffee delete mode 100644 assets/scripts/app/controllers/home.coffee create mode 100644 assets/scripts/app/controllers/sidebar.coffee delete mode 100644 assets/scripts/app/controllers/stats.coffee create mode 100644 assets/scripts/app/controllers/top.coffee delete mode 100644 assets/scripts/app/routes/stats.coffee diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index 4b7fcfb5..d0f4a672 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -1,45 +1,9 @@ require 'helpers' -Travis.Controller = Em.Controller.extend() -Travis.TopController = Em.Controller.extend - needs: ['currentUser'] - userBinding: 'controllers.currentUser' - - userName: (-> - @get('user.name') || @get('user.login') - ).property('user.login', 'user.name') - - gravatarUrl: (-> - "#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm" - ).property('user.gravatarId') - - signedIn: (-> - Travis.get('authState') == 'signed-in' - ).property('Travis.authState') - - signedOut: (-> - Travis.get('authState') == 'signed-out' - ).property('Travis.authState') - - signingIn: (-> - Travis.get('authState') == 'signing-in' - ).property('Travis.authState') - -Travis.MainController = Em.Controller.extend() -Travis.StatsLayoutController = Em.Controller.extend() -Travis.ProfileLayoutController = Em.Controller.extend() -Travis.AuthLayoutController = Em.Controller.extend() - Travis.AccountsInfoController = Em.Controller.extend needs: ['currentUser', 'repos'] userBinding: 'controllers.currentUser' -Travis.FirstSyncController = Em.Controller.extend - needs: ['currentUser'] - user: Ember.computed.alias('controllers.currentUser') - - isSyncing: Ember.computed.alias('user.isSyncing') - Travis.MainErrorController = Em.Controller.extend() Travis.BuildsItemController = Em.ObjectController.extend(Travis.GithubUrlProperties, needs: ['builds'] @@ -57,35 +21,17 @@ Travis.RunningJobsController = Em.ArrayController.extend Travis.Job.running() ).property() -Travis.SidebarController = Em.ArrayController.extend - init: -> - @_super.apply this, arguments - @tickables = [] - - tips: [ - "Did you know that you can parallelize tests on Travis CI? Learn more" - "Did you know that you can split a build into several smaller pieces? Learn more" - "Did you know that you can skip a build? Learn more" - ] - - tip: (-> - if tips = @get('tips') - tips[Math.floor(Math.random()*tips.length)] - ).property().volatile() - require 'controllers/accounts' require 'controllers/auth' require 'controllers/account' require 'controllers/build' require 'controllers/builds' require 'controllers/flash' -require 'controllers/home' require 'controllers/job' require 'controllers/profile' require 'controllers/repos' require 'controllers/repo' require 'controllers/settings' -require 'controllers/stats' require 'controllers/current_user' require 'controllers/request' require 'controllers/requests' @@ -94,3 +40,6 @@ require 'controllers/env_var' require 'controllers/env_vars' require 'controllers/env_var_new' require 'controllers/ssh_key' +require 'controllers/sidebar' +require 'controllers/top' +require 'controllers/first_sync' diff --git a/assets/scripts/app/controllers/auth.coffee b/assets/scripts/app/controllers/auth.coffee index cfaac6d0..4bbfb9e6 100644 --- a/assets/scripts/app/controllers/auth.coffee +++ b/assets/scripts/app/controllers/auth.coffee @@ -1 +1 @@ -Travis.AuthController = Travis.Controller.extend() +Travis.AuthController = Ember.Controller.extend() diff --git a/assets/scripts/app/controllers/env_var_new.coffee b/assets/scripts/app/controllers/env_var_new.coffee index 2aac40e2..ecaf3816 100644 --- a/assets/scripts/app/controllers/env_var_new.coffee +++ b/assets/scripts/app/controllers/env_var_new.coffee @@ -1,6 +1,9 @@ require 'travis/validations' -Travis.EnvVarsNewController = Travis.Controller.extend Travis.Validations, +Validations = Travis.Validations +EnvVar = Travis.EnvVar + +Travis.EnvVarsNewController = Ember.Controller.extend Validations, needs: ['repo'] repo: Ember.computed.alias('controllers.repo.repo') @@ -23,7 +26,7 @@ Travis.EnvVarsNewController = Travis.Controller.extend Travis.Validations, @set('isSaving', true) if @isValid() - env_var = Travis.EnvVar.create( + env_var = EnvVar.create( name: @get('name') value: @get('value') public: @get('public') diff --git a/assets/scripts/app/controllers/first_sync.coffee b/assets/scripts/app/controllers/first_sync.coffee new file mode 100644 index 00000000..eb4b4b14 --- /dev/null +++ b/assets/scripts/app/controllers/first_sync.coffee @@ -0,0 +1,7 @@ +Controller = Em.Controller.extend + needs: ['currentUser'] + user: Ember.computed.alias('controllers.currentUser') + + isSyncing: Ember.computed.alias('user.isSyncing') + +Travis.FirstSyncController = Controller diff --git a/assets/scripts/app/controllers/home.coffee b/assets/scripts/app/controllers/home.coffee deleted file mode 100644 index 068e6edd..00000000 --- a/assets/scripts/app/controllers/home.coffee +++ /dev/null @@ -1 +0,0 @@ -Travis.HomeLayoutController = Travis.Controller.extend() diff --git a/assets/scripts/app/controllers/profile.coffee b/assets/scripts/app/controllers/profile.coffee index 298f3700..6ff6703d 100644 --- a/assets/scripts/app/controllers/profile.coffee +++ b/assets/scripts/app/controllers/profile.coffee @@ -1,4 +1,4 @@ -Travis.ProfileController = Travis.Controller.extend +Travis.ProfileController = Ember.Controller.extend name: 'profile' needs: ['currentUser', 'accounts', 'account'] @@ -16,14 +16,9 @@ Travis.ProfileController = Travis.Controller.extend @connectTab('user') connectTab: (tab) -> - if tab == 'user' - view = 'AccountsInfoView' - else - view = "#{$.camelize(tab)}View" - viewClass = Travis[view] @set('tab', tab) billingUrl: (-> id = if @get('account.type') == 'user' then 'user' else @get('account.login') - "#{Travis.config.billing_endpoint}/subscriptions/#{id}" + "#{@get('config').billing_endpoint}/subscriptions/#{id}" ).property('account.login', 'account.type') diff --git a/assets/scripts/app/controllers/repo.coffee b/assets/scripts/app/controllers/repo.coffee index a2d73bf5..777f1474 100644 --- a/assets/scripts/app/controllers/repo.coffee +++ b/assets/scripts/app/controllers/repo.coffee @@ -1,4 +1,4 @@ -Travis.RepoController = Travis.Controller.extend +Travis.RepoController = Ember.Controller.extend needs: ['repos', 'currentUser', 'build', 'request', 'job'] currentUserBinding: 'controllers.currentUser' diff --git a/assets/scripts/app/controllers/sidebar.coffee b/assets/scripts/app/controllers/sidebar.coffee new file mode 100644 index 00000000..3d1485a1 --- /dev/null +++ b/assets/scripts/app/controllers/sidebar.coffee @@ -0,0 +1,17 @@ +Controller = Em.ArrayController.extend + init: -> + @_super.apply this, arguments + @tickables = [] + + tips: [ + "Did you know that you can parallelize tests on Travis CI? Learn more" + "Did you know that you can split a build into several smaller pieces? Learn more" + "Did you know that you can skip a build? Learn more" + ] + + tip: (-> + if tips = @get('tips') + tips[Math.floor(Math.random()*tips.length)] + ).property().volatile() + +Travis.SidebarController = Controller diff --git a/assets/scripts/app/controllers/stats.coffee b/assets/scripts/app/controllers/stats.coffee deleted file mode 100644 index 3d6da596..00000000 --- a/assets/scripts/app/controllers/stats.coffee +++ /dev/null @@ -1,9 +0,0 @@ -Travis.StatsController = Travis.Controller.extend - name: 'stats' - - init: -> - @_super.apply this, arguments - #@connectOutlet(outletName: 'main', controller: this, viewClass: Travis.StatsView) - - activate: (action, params) -> - # noop diff --git a/assets/scripts/app/controllers/top.coffee b/assets/scripts/app/controllers/top.coffee new file mode 100644 index 00000000..2b9d343f --- /dev/null +++ b/assets/scripts/app/controllers/top.coffee @@ -0,0 +1,13 @@ +Controller = Em.Controller.extend + needs: ['currentUser'] + userBinding: 'controllers.currentUser' + + userName: (-> + @get('user.name') || @get('user.login') + ).property('user.login', 'user.name') + + gravatarUrl: (-> + "#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm" + ).property('user.gravatarId') + +Travis.TopController = Controller diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 830bf89a..66e0eb40 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -35,7 +35,6 @@ Travis.Router.map -> @route 'first_sync' @route 'insufficient_oauth_permissions' - @route 'stats', path: '/stats' @route 'auth', path: '/auth' @resource 'profile', path: '/profile', -> @@ -80,5 +79,4 @@ require 'routes/settings/index' require 'routes/settings' require 'routes/simple_layout' require 'routes/ssh_key' -require 'routes/stats' require 'routes/dashboard' diff --git a/assets/scripts/app/routes/stats.coffee b/assets/scripts/app/routes/stats.coffee deleted file mode 100644 index 2b39dae0..00000000 --- a/assets/scripts/app/routes/stats.coffee +++ /dev/null @@ -1,12 +0,0 @@ -require 'routes/route' - -TravisRoute = Travis.Route - -Route = TravisRoute.extend - renderTemplate: -> - $('body').attr('id', 'stats') - - @render 'stats' - - -Travis.StatsRoute = Route