Extract remaining controllers and views into individual files
This commit is contained in:
parent
19c80a80af
commit
ecbfe4e74e
assets/scripts/app
|
@ -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'
|
||||
|
|
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'
|
||||
|
||||
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'
|
||||
|
|
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/helpers'
|
||||
require 'helpers/urls'
|
||||
require 'helpers/status_image_formatter'
|
||||
require 'helpers/status_image_formats'
|
||||
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 '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'
|
||||
|
|
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
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user