Extract remaining controllers and views into individual files
This commit is contained in:
parent
19c80a80af
commit
ecbfe4e74e
|
@ -1,21 +1 @@
|
||||||
Travis.TravisSwitchComponent = Ember.Component.extend
|
require 'components/travis-switch'
|
||||||
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)
|
|
||||||
|
|
23
assets/scripts/app/components/travis-switch.coffee
Normal file
23
assets/scripts/app/components/travis-switch.coffee
Normal file
|
@ -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
|
|
@ -1,30 +1,4 @@
|
||||||
require 'helpers'
|
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/accounts'
|
||||||
require 'controllers/auth'
|
require 'controllers/auth'
|
||||||
require 'controllers/account'
|
require 'controllers/account'
|
||||||
|
@ -47,3 +21,8 @@ require 'controllers/ssh_key'
|
||||||
require 'controllers/sidebar'
|
require 'controllers/sidebar'
|
||||||
require 'controllers/top'
|
require 'controllers/top'
|
||||||
require 'controllers/first_sync'
|
require 'controllers/first_sync'
|
||||||
|
require 'controllers/accounts/info'
|
||||||
|
require 'controllers/main/error'
|
||||||
|
require 'controllers/builds/item'
|
||||||
|
require 'controllers/queue'
|
||||||
|
require 'controllers/running_jobs'
|
||||||
|
|
5
assets/scripts/app/controllers/accounts/info.coffee
Normal file
5
assets/scripts/app/controllers/accounts/info.coffee
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Controller = Em.Controller.extend
|
||||||
|
needs: ['currentUser', 'repos']
|
||||||
|
userBinding: 'controllers.currentUser'
|
||||||
|
|
||||||
|
Travis.AccountsInfoController = Controller
|
11
assets/scripts/app/controllers/builds/item.coffee
Normal file
11
assets/scripts/app/controllers/builds/item.coffee
Normal file
|
@ -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
|
3
assets/scripts/app/controllers/main/error.coffee
Normal file
3
assets/scripts/app/controllers/main/error.coffee
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Controller = Em.Controller.extend()
|
||||||
|
|
||||||
|
Travis.MainErrorController = Controller
|
9
assets/scripts/app/controllers/queue.coffee
Normal file
9
assets/scripts/app/controllers/queue.coffee
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
require 'models/job'
|
||||||
|
Job = Travis.Job
|
||||||
|
|
||||||
|
Controller = Em.ArrayController.extend
|
||||||
|
content: (->
|
||||||
|
Job.queued()
|
||||||
|
).property()
|
||||||
|
|
||||||
|
Travis.QueueController = Controller
|
9
assets/scripts/app/controllers/running_jobs.coffee
Normal file
9
assets/scripts/app/controllers/running_jobs.coffee
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
require 'models/job'
|
||||||
|
Job = Travis.Job
|
||||||
|
|
||||||
|
Controller = Em.ArrayController.extend
|
||||||
|
content: (->
|
||||||
|
Job.running()
|
||||||
|
).property()
|
||||||
|
|
||||||
|
Travis.RunningJobsController = Controller
|
|
@ -1,5 +1,5 @@
|
||||||
require 'helpers/handlebars'
|
require 'helpers/handlebars'
|
||||||
require 'helpers/helpers'
|
require 'helpers/helpers'
|
||||||
require 'helpers/urls'
|
require 'helpers/urls'
|
||||||
require 'helpers/status_image_formatter'
|
require 'helpers/status_image_formats'
|
||||||
require 'helpers/github_url_properties'
|
require 'helpers/github_url_properties'
|
||||||
|
|
55
assets/scripts/app/helpers/status_image_formats.coffee
Normal file
55
assets/scripts/app/helpers/status_image_formats.coffee
Normal file
|
@ -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) ->
|
||||||
|
"{<img src=\"#{statusImageUrl(slug, branch)}\" alt=\"Build Status\" />}[#{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 <a href=\"#{url}\"><img src=\"#{statusImageUrl(slug, branch)}\"></a>"
|
||||||
|
)
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
|
@ -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: (->
|
|
||||||
"{<img src=\"#{@statusImageUrl()}\" alt=\"Build Status\" />}[#{@url}]"
|
|
||||||
)
|
|
||||||
|
|
||||||
asciidocStatusImage: (->
|
|
||||||
"image:#{@statusImageUrl()}[\"Build Status\", link=\"#{@url}\"]"
|
|
||||||
)
|
|
||||||
|
|
||||||
rstStatusImage: (->
|
|
||||||
".. image:: #{@statusImageUrl()}\n :target: #{@url}"
|
|
||||||
)
|
|
||||||
|
|
||||||
podStatusImage: (->
|
|
||||||
"=for HTML <a href=\"#{@url}\"><img src=\"#{@statusImageUrl()}\"></a>"
|
|
||||||
)
|
|
||||||
|
|
||||||
ccxmlStatusUrl: (->
|
|
||||||
Travis.Urls.ccXml(@slug)
|
|
||||||
)
|
|
|
@ -1,28 +1,5 @@
|
||||||
require 'ext/ember/namespace'
|
require 'ext/ember/namespace'
|
||||||
require 'views/view'
|
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/accounts'
|
||||||
require 'views/annotation'
|
require 'views/annotation'
|
||||||
require 'views/application'
|
require 'views/application'
|
||||||
|
@ -40,3 +17,8 @@ require 'views/status_images'
|
||||||
require 'views/status_image_input'
|
require 'views/status_image_input'
|
||||||
require 'views/dashboard'
|
require 'views/dashboard'
|
||||||
require 'views/show-more-button'
|
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'
|
||||||
|
|
4
assets/scripts/app/views/auth/signin.coffee
Normal file
4
assets/scripts/app/views/auth/signin.coffee
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
View = Ember.View.extend
|
||||||
|
layoutName: 'layouts/simple'
|
||||||
|
|
||||||
|
Travis.AuthSigninView = View
|
4
assets/scripts/app/views/first_sync.coffee
Normal file
4
assets/scripts/app/views/first_sync.coffee
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
View = Travis.View.extend
|
||||||
|
layoutName: 'layouts/simple'
|
||||||
|
|
||||||
|
Travis.FirstSyncView = View
|
|
@ -0,0 +1,4 @@
|
||||||
|
View = Travis.View.extend
|
||||||
|
layoutName: 'layouts/simple'
|
||||||
|
|
||||||
|
Travis.InsufficientOauthPermissionsView = View
|
5
assets/scripts/app/views/main.coffee
Normal file
5
assets/scripts/app/views/main.coffee
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
View = Travis.View.extend
|
||||||
|
layoutName: 'layouts/home'
|
||||||
|
classNames: ['main']
|
||||||
|
|
||||||
|
Travis.MainView = View
|
4
assets/scripts/app/views/not_found.coffee
Normal file
4
assets/scripts/app/views/not_found.coffee
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
View = Ember.View.extend
|
||||||
|
layoutName: 'layouts/simple'
|
||||||
|
|
||||||
|
Travis.NotFoundView = View
|
|
@ -1,19 +1,19 @@
|
||||||
View = Ember.View.extend
|
View = Ember.View.extend
|
||||||
actions:
|
actions:
|
||||||
popup: (name) -> @popup(name)
|
popup: (name) -> @popup(name)
|
||||||
popupClose: -> @popupClose()
|
popupClose: -> @popupClose()
|
||||||
|
|
||||||
popup: (name) ->
|
popup: (name) ->
|
||||||
@popupCloseAll()
|
@popupCloseAll()
|
||||||
name = event?.target?.name || name
|
name = event?.target?.name || name
|
||||||
$("##{name}").toggleClass('display')
|
$("##{name}").toggleClass('display')
|
||||||
popupClose: ->
|
popupClose: ->
|
||||||
$('.popup').removeClass('display')
|
$('.popup').removeClass('display')
|
||||||
popupCloseAll: ->
|
popupCloseAll: ->
|
||||||
if view = Travis.View.currentPopupView
|
if view = Travis.View.currentPopupView
|
||||||
view.destroy()
|
view.destroy()
|
||||||
Travis.View.currentPopupView = null
|
Travis.View.currentPopupView = null
|
||||||
|
|
||||||
$('.popup').removeClass('display')
|
$('.popup').removeClass('display')
|
||||||
|
|
||||||
Travis.View = View
|
Travis.View = View
|
||||||
|
|
Loading…
Reference in New Issue
Block a user