travis-web/assets/scripts/app/views/sidebar.coffee
Mathias Meyer a0ab577b6c Add RGSoC logo to the top of the sidebar.
Remove the current sponsors from the sidebar.
2013-05-31 21:17:06 +02:00

88 lines
2.4 KiB
CoffeeScript

@Travis.reopen
SidebarView: Travis.View.extend
templateName: 'layouts/sidebar'
didInsertElement: ->
@_super.apply this, arguments
#@activate('jobs')
activate: (name) ->
console.log
return if @get('activeTab') == name
@set('activeTab', name)
@connectOutlet 'pane', Travis.SidebarView["#{name.capitalize()}View"].create(controller: @get('controller'))
classQueues: (->
'active' if @get('activeTab') == 'queues'
).property('activeTab')
classWorkers: (->
'active' if @get('activeTab') == 'workers'
).property('activeTab')
classJobs: (->
'active' if @get('activeTab') == 'jobs'
).property('activeTab')
QueuesView: Em.View.extend
templateName: 'queues/list'
init: ->
@_super.apply this, arguments
@set 'controller', @get('controller').container.lookup('controller:queues')
WorkersView: Travis.View.extend
toggleWorkers: ->
handle = $(event.target).toggleClass('open')
if handle.hasClass('open')
$('#workers li').addClass('open')
else
$('#workers li').removeClass('open')
WorkersListView: Travis.View.extend
toggle: ->
this.$().find('> li').toggleClass('open')
WorkersItemView: Travis.View.extend
classNameBindings: ['worker.state']
display: (->
name = (@get('worker.name') || '').replace('travis-', '')
state = @get('worker.state')
if state == 'working'
"<span class='name'>#{name}: #{@get('worker.repoSlug')}</span> ##{@get('worker.jobNumber')}".htmlSafe()
else
"#{name}: #{state}"
).property('worker.state')
QueueItemView: Travis.View.extend
tagName: 'li'
Travis.SidebarView.reopenClass
WorkersView: Em.View.extend
templateName: 'workers/list'
init: ->
@_super.apply this, arguments
@set 'controller', @get('controller').container.lookup('controller:workers')
JobsView: Em.View.extend
templateName: 'jobs/running'
elementId: 'running-jobs'
init: ->
@_super.apply this, arguments
@set 'controller', @get('controller').container.lookup('controller:runningJobs')
groupsBinding: 'controller.sortedGroups'
jobsBinding: 'controller'
GroupView: Em.View.extend
templateName: 'jobs/running/group'
tagName: 'li'
contextBinding: 'group'
expanded: false
classNameBindings: ['expanded']
classNames: ['group']
toggle: ->
@toggleProperty('expanded')