Extract remaining controllers and views into individual files

This commit is contained in:
Piotr Sarnacki 2015-01-16 14:34:44 +01:00
parent 19c80a80af
commit ecbfe4e74e
18 changed files with 162 additions and 140 deletions

View File

@ -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'

View 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

View File

@ -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'

View File

@ -0,0 +1,5 @@
Controller = Em.Controller.extend
needs: ['currentUser', 'repos']
userBinding: 'controllers.currentUser'
Travis.AccountsInfoController = Controller

View 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

View File

@ -0,0 +1,3 @@
Controller = Em.Controller.extend()
Travis.MainErrorController = Controller

View File

@ -0,0 +1,9 @@
require 'models/job'
Job = Travis.Job
Controller = Em.ArrayController.extend
content: (->
Job.queued()
).property()
Travis.QueueController = Controller

View File

@ -0,0 +1,9 @@
require 'models/job'
Job = Travis.Job
Controller = Em.ArrayController.extend
content: (->
Job.running()
).property()
Travis.RunningJobsController = Controller

View File

@ -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'

View 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) ->
"[![Build Status](#{statusImageUrl(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
}

View File

@ -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: (->
"[![Build Status](#{@statusImageUrl()})](#{@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)
)

View File

@ -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'

View File

@ -0,0 +1,4 @@
View = Ember.View.extend
layoutName: 'layouts/simple'
Travis.AuthSigninView = View

View File

@ -0,0 +1,4 @@
View = Travis.View.extend
layoutName: 'layouts/simple'
Travis.FirstSyncView = View

View File

@ -0,0 +1,4 @@
View = Travis.View.extend
layoutName: 'layouts/simple'
Travis.InsufficientOauthPermissionsView = View

View File

@ -0,0 +1,5 @@
View = Travis.View.extend
layoutName: 'layouts/home'
classNames: ['main']
Travis.MainView = View

View File

@ -0,0 +1,4 @@
View = Ember.View.extend
layoutName: 'layouts/simple'
Travis.NotFoundView = View

View File

@ -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