travis-web/assets/scripts/app/controllers/repos.coffee
2012-10-09 18:23:11 +02:00

41 lines
997 B
CoffeeScript

require 'travis/limited_array'
Travis.ReposController = Ember.ArrayController.extend
defaultTab: 'recent'
sortProperties: ['sortOrder']
init: ->
@activate(@defaultTab)
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
updateTimes: ->
if content = @get('content')
content.forEach (r) -> r.updateTimes()
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
activate: (tab, params) ->
@set('tab', tab)
this["view#{$.camelize(tab)}"](params)
viewRecent: ->
content = Travis.LimitedArray.create
content: Travis.Repo.find()
limit: 30
@set('content', content)
viewOwned: ->
@set('content', Travis.Repo.ownedBy(Travis.app.get('currentUser.login')))
viewSearch: (params) ->
@set('content', Travis.Repo.search(params.search))
searchObserver: (->
search = @get('search')
tab = if search then 'search' else 'recent'
@activate(tab, search: search)
).observes('search')