diff --git a/assets/scripts/app/components.coffee b/assets/scripts/app/components.coffee
index 2ea5726d..5877b6a4 100644
--- a/assets/scripts/app/components.coffee
+++ b/assets/scripts/app/components.coffee
@@ -1,21 +1 @@
-Travis.TravisSwitchComponent = Ember.Component.extend
- tagName: 'a'
- classNames: ['travis-switch']
- classNameBindings: ['_active:active']
-
- # TODO: how to handle overriding properties to
- # avoid naming it _action?
- _active: (->
- @get('target.active') || @get('active')
- ).property('target.active', 'active')
-
- click: ->
- target = @get('target')
- if @get('toggleAutomatically') != 'false'
- if target
- @set('target.active', !@get('target.active'))
- else
- @set('active', !@get('active'))
- # allow for bindings to propagate
- Ember.run.next this, ->
- @sendAction('action', target)
+require 'components/travis-switch'
diff --git a/assets/scripts/app/components/travis-switch.coffee b/assets/scripts/app/components/travis-switch.coffee
new file mode 100644
index 00000000..2fa7fe33
--- /dev/null
+++ b/assets/scripts/app/components/travis-switch.coffee
@@ -0,0 +1,23 @@
+Component = Ember.Component.extend
+ tagName: 'a'
+ classNames: ['travis-switch']
+ classNameBindings: ['_active:active']
+
+ # TODO: how to handle overriding properties to
+ # avoid naming it _action?
+ _active: (->
+ @get('target.active') || @get('active')
+ ).property('target.active', 'active')
+
+ click: ->
+ target = @get('target')
+ if @get('toggleAutomatically') != 'false'
+ if target
+ @set('target.active', !@get('target.active'))
+ else
+ @set('active', !@get('active'))
+ # allow for bindings to propagate
+ Ember.run.next this, ->
+ @sendAction('action', target)
+
+Travis.TravisSwitchComponent = Component
diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee
index 48b2081f..bd90010a 100644
--- a/assets/scripts/app/controllers.coffee
+++ b/assets/scripts/app/controllers.coffee
@@ -1,30 +1,4 @@
require 'helpers'
-
-Travis.AccountsInfoController = Em.Controller.extend
- needs: ['currentUser', 'repos']
- userBinding: 'controllers.currentUser'
-
-Travis.MainErrorController = Em.Controller.extend()
-Travis.BuildsItemController = Em.ObjectController.extend(Travis.GithubUrlProperties,
- needs: ['builds']
- isPullRequestsListBinding: 'controllers.builds.isPullRequestsList'
- buildBinding: 'content'
-
- color: (->
- Travis.Helpers.colorForState(@get('build.state'))
- ).property('build.state')
-)
-
-Travis.QueueController = Em.ArrayController.extend
- content: (->
- Travis.Job.queued()
- ).property()
-
-Travis.RunningJobsController = Em.ArrayController.extend
- content: (->
- Travis.Job.running()
- ).property()
-
require 'controllers/accounts'
require 'controllers/auth'
require 'controllers/account'
@@ -47,3 +21,8 @@ require 'controllers/ssh_key'
require 'controllers/sidebar'
require 'controllers/top'
require 'controllers/first_sync'
+require 'controllers/accounts/info'
+require 'controllers/main/error'
+require 'controllers/builds/item'
+require 'controllers/queue'
+require 'controllers/running_jobs'
diff --git a/assets/scripts/app/controllers/accounts/info.coffee b/assets/scripts/app/controllers/accounts/info.coffee
new file mode 100644
index 00000000..538617bb
--- /dev/null
+++ b/assets/scripts/app/controllers/accounts/info.coffee
@@ -0,0 +1,5 @@
+Controller = Em.Controller.extend
+ needs: ['currentUser', 'repos']
+ userBinding: 'controllers.currentUser'
+
+Travis.AccountsInfoController = Controller
diff --git a/assets/scripts/app/controllers/builds/item.coffee b/assets/scripts/app/controllers/builds/item.coffee
new file mode 100644
index 00000000..3cbe5846
--- /dev/null
+++ b/assets/scripts/app/controllers/builds/item.coffee
@@ -0,0 +1,11 @@
+Controller = Em.ObjectController.extend(Travis.GithubUrlProperties,
+ needs: ['builds']
+ isPullRequestsListBinding: 'controllers.builds.isPullRequestsList'
+ buildBinding: 'content'
+
+ color: (->
+ Travis.Helpers.colorForState(@get('build.state'))
+ ).property('build.state')
+)
+
+Travis.BuildsItemController = Controller
diff --git a/assets/scripts/app/controllers/main/error.coffee b/assets/scripts/app/controllers/main/error.coffee
new file mode 100644
index 00000000..e997f66a
--- /dev/null
+++ b/assets/scripts/app/controllers/main/error.coffee
@@ -0,0 +1,3 @@
+Controller = Em.Controller.extend()
+
+Travis.MainErrorController = Controller
diff --git a/assets/scripts/app/controllers/queue.coffee b/assets/scripts/app/controllers/queue.coffee
new file mode 100644
index 00000000..cbc45e4b
--- /dev/null
+++ b/assets/scripts/app/controllers/queue.coffee
@@ -0,0 +1,9 @@
+require 'models/job'
+Job = Travis.Job
+
+Controller = Em.ArrayController.extend
+ content: (->
+ Job.queued()
+ ).property()
+
+Travis.QueueController = Controller
diff --git a/assets/scripts/app/controllers/running_jobs.coffee b/assets/scripts/app/controllers/running_jobs.coffee
new file mode 100644
index 00000000..f1d48459
--- /dev/null
+++ b/assets/scripts/app/controllers/running_jobs.coffee
@@ -0,0 +1,9 @@
+require 'models/job'
+Job = Travis.Job
+
+Controller = Em.ArrayController.extend
+ content: (->
+ Job.running()
+ ).property()
+
+Travis.RunningJobsController = Controller
diff --git a/assets/scripts/app/helpers.coffee b/assets/scripts/app/helpers.coffee
index 5c5b4f46..02ed5eb8 100644
--- a/assets/scripts/app/helpers.coffee
+++ b/assets/scripts/app/helpers.coffee
@@ -1,5 +1,5 @@
require 'helpers/handlebars'
require 'helpers/helpers'
require 'helpers/urls'
-require 'helpers/status_image_formatter'
+require 'helpers/status_image_formats'
require 'helpers/github_url_properties'
diff --git a/assets/scripts/app/helpers/status_image_formats.coffee b/assets/scripts/app/helpers/status_image_formats.coffee
new file mode 100644
index 00000000..65aa31e4
--- /dev/null
+++ b/assets/scripts/app/helpers/status_image_formats.coffee
@@ -0,0 +1,55 @@
+require 'helper/urls'
+
+ccXmlUrl = Travis.Urls.ccXml
+statusImageUrl = Travis.Urls.statusImage
+
+urlRepo: ( (slug) ->
+ "https://#{location.host}/#{slug}"
+)
+
+markdownStatusImage: ( (url, slug, branch) ->
+ "[})](#{url})"
+)
+
+textileStatusImage: ( (url, slug, branch) ->
+ "!#{statusImageUrl(slug, branch)}!:#{url}"
+)
+
+rdocStatusImage: ( (url, slug, branch) ->
+ "{
}[#{url}]"
+)
+
+asciidocStatusImage: ( (url, slug, branch) ->
+ "image:#{statusImageUrl(slug, branch)}[\"Build Status\", link=\"#{url}\"]"
+)
+
+rstStatusImage: ( (url, slug, branch) ->
+ ".. image:: #{statusImageUrl(slug, branch)}\n :target: #{url}"
+)
+
+podStatusImage: ( (url, slug, branch) ->
+ "=for HTML
"
+)
+
+ccxmlStatusUrl: ( (slug) ->
+ ccXmlUrl(slug)
+)
+
+format: (version, slug, branch) ->
+ url = urlRepo(slug)
+
+ switch version
+ when 'Image URL' then statusImageUrl(url, slug, branch)
+ when 'Markdown' then markdownStatusImage(url, slug, branch)
+ when 'Textile' then textileStatusImage(url, slug, branch)
+ when 'Rdoc' then rdocStatusImage(url, slug, branch)
+ when 'AsciiDoc' then asciidocStatusImage(url, slug, branch)
+ when 'Rst' then rstStatusImage(url, slug, branch)
+ when 'Pod' then podStatusImage(url, slug, branch)
+ when 'CCTray' then ccxmlStatusUrl(url, slug, branch)
+
+
+
+Travis.StatusImageFormats = {
+ format: format
+}
diff --git a/assets/scripts/app/helpers/status_image_formatter.coffee b/assets/scripts/app/helpers/status_image_formatter.coffee
deleted file mode 100644
index 348346bc..00000000
--- a/assets/scripts/app/helpers/status_image_formatter.coffee
+++ /dev/null
@@ -1,55 +0,0 @@
-@Travis.StatusImageFormatter =
- slug: null
- url: null
- branch: null
-
- format: (version, slug, branch) ->
- @slug = slug
- @branch = branch
- @url = @urlRepo()
-
- switch version
- when 'Image URL' then @statusImageUrl()
- when 'Markdown' then @markdownStatusImage()
- when 'Textile' then @textileStatusImage()
- when 'Rdoc' then @rdocStatusImage()
- when 'AsciiDoc' then @asciidocStatusImage()
- when 'Rst' then @rstStatusImage()
- when 'Pod' then @podStatusImage()
- when 'CCTray' then @ccxmlStatusUrl()
-
- urlRepo: (->
- "https://#{location.host}/#{@slug}"
- )
-
- statusImageUrl: (->
- Travis.Urls.statusImage(@slug, @branch)
- )
-
- markdownStatusImage: (->
- "[})](#{@url})"
- )
-
- textileStatusImage: (->
- "!#{@statusImageUrl()}!:#{@url}"
- )
-
- rdocStatusImage: (->
- "{
}[#{@url}]"
- )
-
- asciidocStatusImage: (->
- "image:#{@statusImageUrl()}[\"Build Status\", link=\"#{@url}\"]"
- )
-
- rstStatusImage: (->
- ".. image:: #{@statusImageUrl()}\n :target: #{@url}"
- )
-
- podStatusImage: (->
- "=for HTML
"
- )
-
- ccxmlStatusUrl: (->
- Travis.Urls.ccXml(@slug)
- )
diff --git a/assets/scripts/app/views.coffee b/assets/scripts/app/views.coffee
index 85eb00eb..adbb4af5 100644
--- a/assets/scripts/app/views.coffee
+++ b/assets/scripts/app/views.coffee
@@ -1,28 +1,5 @@
require 'ext/ember/namespace'
require 'views/view'
-
-Em.View.reopen
- init: ->
- this.container ||= Travis.__container__
-
- @_super.apply(this, arguments)
-
-Travis.NotFoundView = Ember.View.extend
- layoutName: 'layouts/simple'
-
-Travis.MainView = Travis.View.extend
- layoutName: 'layouts/home'
- classNames: ['main']
-
-Travis.AuthSigninView = Travis.View.extend
- layoutName: 'layouts/simple'
-
-Travis.InsufficientOauthPermissionsView = Travis.View.extend
- layoutName: 'layouts/simple'
-
-Travis.FirstSyncView = Travis.View.extend
- layoutName: 'layouts/simple'
-
require 'views/accounts'
require 'views/annotation'
require 'views/application'
@@ -40,3 +17,8 @@ require 'views/status_images'
require 'views/status_image_input'
require 'views/dashboard'
require 'views/show-more-button'
+require 'views/main'
+require 'views/not_found'
+require 'views/auth/signin'
+require 'views/insufficient_oauth_permissions'
+require 'views/first_sync'
diff --git a/assets/scripts/app/views/auth/signin.coffee b/assets/scripts/app/views/auth/signin.coffee
new file mode 100644
index 00000000..db0b7772
--- /dev/null
+++ b/assets/scripts/app/views/auth/signin.coffee
@@ -0,0 +1,4 @@
+View = Ember.View.extend
+ layoutName: 'layouts/simple'
+
+Travis.AuthSigninView = View
diff --git a/assets/scripts/app/views/first_sync.coffee b/assets/scripts/app/views/first_sync.coffee
new file mode 100644
index 00000000..eb5a266a
--- /dev/null
+++ b/assets/scripts/app/views/first_sync.coffee
@@ -0,0 +1,4 @@
+View = Travis.View.extend
+ layoutName: 'layouts/simple'
+
+Travis.FirstSyncView = View
diff --git a/assets/scripts/app/views/insufficient_oauth_permissions.coffee b/assets/scripts/app/views/insufficient_oauth_permissions.coffee
new file mode 100644
index 00000000..d7943de2
--- /dev/null
+++ b/assets/scripts/app/views/insufficient_oauth_permissions.coffee
@@ -0,0 +1,4 @@
+View = Travis.View.extend
+ layoutName: 'layouts/simple'
+
+Travis.InsufficientOauthPermissionsView = View
diff --git a/assets/scripts/app/views/main.coffee b/assets/scripts/app/views/main.coffee
new file mode 100644
index 00000000..895f4686
--- /dev/null
+++ b/assets/scripts/app/views/main.coffee
@@ -0,0 +1,5 @@
+View = Travis.View.extend
+ layoutName: 'layouts/home'
+ classNames: ['main']
+
+Travis.MainView = View
diff --git a/assets/scripts/app/views/not_found.coffee b/assets/scripts/app/views/not_found.coffee
new file mode 100644
index 00000000..f616d9dd
--- /dev/null
+++ b/assets/scripts/app/views/not_found.coffee
@@ -0,0 +1,4 @@
+View = Ember.View.extend
+ layoutName: 'layouts/simple'
+
+Travis.NotFoundView = View
diff --git a/assets/scripts/app/views/view.coffee b/assets/scripts/app/views/view.coffee
index 9ee4526a..4ae0ec60 100644
--- a/assets/scripts/app/views/view.coffee
+++ b/assets/scripts/app/views/view.coffee
@@ -1,19 +1,19 @@
View = Ember.View.extend
- actions:
- popup: (name) -> @popup(name)
- popupClose: -> @popupClose()
+ actions:
+ popup: (name) -> @popup(name)
+ popupClose: -> @popupClose()
- popup: (name) ->
- @popupCloseAll()
- name = event?.target?.name || name
- $("##{name}").toggleClass('display')
- popupClose: ->
- $('.popup').removeClass('display')
- popupCloseAll: ->
- if view = Travis.View.currentPopupView
- view.destroy()
- Travis.View.currentPopupView = null
+ popup: (name) ->
+ @popupCloseAll()
+ name = event?.target?.name || name
+ $("##{name}").toggleClass('display')
+ popupClose: ->
+ $('.popup').removeClass('display')
+ popupCloseAll: ->
+ if view = Travis.View.currentPopupView
+ view.destroy()
+ Travis.View.currentPopupView = null
- $('.popup').removeClass('display')
+ $('.popup').removeClass('display')
Travis.View = View