Merge branch 'master' of github.com:travis-ci/travis-ember

Conflicts:
	public/javascripts/application.js
This commit is contained in:
Sven Fuchs 2012-09-27 00:46:00 +02:00
commit 7bf2551990
4 changed files with 59 additions and 38 deletions

View File

@ -4,33 +4,6 @@ Travis.reopen
@tickables = []
Travis.Ticker.create(target: this, interval: Travis.INTERVALS.sponsors)
@connectWorkers(Travis.Worker.find())
@connectQueues(Travis.QUEUES)
@connectSponsors('decks', Travis.Sponsor.decks(), 1)
@connectSponsors('links', Travis.Sponsor.links(), 6)
connectSponsors: (name, sponsors, perPage) ->
controller = Travis.SponsorsController.create(perPage: perPage, content: sponsors)
viewClass = Em.View.extend(templateName: "sponsors/#{name}")
@connectOutlet(outletName: name, controller: controller, viewClass: viewClass)
@tickables.push(controller)
connectWorkers: (workers) ->
controller = Travis.WorkersController.create(content: workers)
viewClass = Em.View.extend(templateName: 'workers/list')
@connectOutlet(outletName: 'workers', controller: controller, viewClass: viewClass)
connectQueues: (queues) ->
queues = for queue in queues
Em.ArrayController.create
content: Travis.Job.queued(queue.name)
id: "queue_#{queue.name}"
name: queue.display
controller = Travis.QueuesController.create(content: queues)
viewClass = Em.View.extend(templateName: 'queues/list')
@connectOutlet(outletName: 'queues', controller: controller, viewClass: viewClass)
tick: ->
tickable.tick() for tickable in @tickables
@ -38,12 +11,13 @@ Travis.reopen
WorkersController: Em.ArrayController.extend
groups: (->
groups = {}
for worker in @get('content').toArray()
host = worker.get('host')
groups[host] = Em.ArrayProxy.create(content: []) unless groups[host]
groups[host].pushObject(worker)
$.values(groups)
if content = @get 'content'
groups = {}
for worker in content.toArray()
host = worker.get('host')
groups[host] = Em.ArrayProxy.create(content: []) unless groups[host]
groups[host].pushObject(worker)
$.values(groups)
).property('content.length')
SponsorsController: Em.ArrayController.extend

View File

@ -6,10 +6,10 @@
<div class='icon'></div>&nbsp;
</div>
{{outlet decks}}
{{outlet workers}}
{{outlet queues}}
{{outlet links}}
{{view view.DecksView}}
{{view view.WorkersView}}
{{view view.QueuesView}}
{{view view.LinksView}}
<div id="about" class="box">
<h4>{{t layouts.about.join}}</h4>

View File

@ -2,6 +2,53 @@
SidebarView: Travis.View.extend
templateName: 'layouts/sidebar'
DecksView: Em.View.extend
templateName: "sponsors/decks"
controller: Travis.SponsorsController.create
perPage: 1
didInsertElement: ->
controller = @get 'controller'
unless controller.get('content')
Travis.app.get('router.sidebarController').tickables.push(controller)
controller.set 'content', Travis.Sponsor.decks()
@_super.apply this, arguments
LinksView: Em.View.extend
templateName: "sponsors/links"
controller: Travis.SponsorsController.create
perPage: 6
didInsertElement: ->
controller = @get 'controller'
unless controller.get('content')
controller.set 'content', Travis.Sponsor.links()
Travis.app.get('router.sidebarController').tickables.push(controller)
@_super.apply this, arguments
WorkersView: Em.View.extend
templateName: 'workers/list'
controller: Travis.WorkersController.create()
didInsertElement: ->
@set 'controller.content', Travis.Worker.find()
@_super.apply this, arguments
QueuesView: Em.View.extend
templateName: 'queues/list'
controller: Travis.QueuesController.create()
didInsertElement: ->
queues = for queue in Travis.QUEUES
Em.ArrayController.create
content: Travis.Job.queued(queue.name)
id: "queue_#{queue.name}"
name: queue.display
@set 'controller.content', queues
@_super.apply this, arguments
WorkersView: Travis.View.extend
toggleWorkers: (event) ->
handle = $(event.target).toggleClass('open')

File diff suppressed because one or more lines are too long