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

This commit is contained in:
Sven Fuchs 2012-10-11 05:07:05 +02:00
commit fe80e405d2
9 changed files with 69 additions and 16 deletions

View File

@ -4,9 +4,5 @@ Travis.AccountsController = Ember.ArrayController.extend
init: ->
@_super()
# content: (->
# Travis.Account.find()
# ).property()
findByLogin: (login) ->
@find (account) -> account.get('login') == 'login'
@find (account) -> account.get('login') == login

View File

@ -33,8 +33,15 @@ Travis.ReposController = Ember.ArrayController.extend
searchObserver: (->
search = @get('search')
tab = if search then 'search' else 'recent'
@activate(tab, search: search)
if search
@searchFor search
else
@activate 'recent'
'recent'
).observes('search')
searchFor: (phrase) ->
Ember.run.cancel(@searchLater) if @searchLater
@searchLater = Ember.run.later(this, (->
@activate 'search', search: phrase
), 500)

View File

@ -92,7 +92,6 @@ resolvePath = (manager, path) ->
return b.get('route.length') - a.get('route.length')
match = null
console.log(childStates.map( (s) -> s.get('route')))
state = childStates.find (state) ->
matcher = state.get('routeMatcher')
if match = matcher.match(path)
@ -128,6 +127,11 @@ Travis.Router = Ember.Router.extend
showAccount: Ember.Route.transitionTo('root.profile.account')
showUserProfile: Ember.Route.transitionTo('root.profile.account.profile')
reload: ->
url = @get('location').getURL()
@transitionTo 'loading'
@route(url)
signedIn: ->
!!Travis.app.get('auth.user')
@ -161,6 +165,7 @@ Travis.Router = Ember.Router.extend
router.route('/')
root: Ember.Route.extend
route: '/'
authenticate: (->)
loading: Ember.State.extend()
@ -209,7 +214,25 @@ Travis.Router = Ember.Router.extend
router.send 'showProfile'
deserialize: (router, params) ->
router.get('accountsController').findByLogin(params.login)
controller = router.get('accountsController')
unless controller.get 'content'
controller.set('content', Travis.Account.find())
account = controller.findByLogin(params.login)
if account
account
else
deferred = $.Deferred()
observer = ->
if account = controller.findByLogin(params.login)
controller.removeObserver 'content.length', observer
deferred.resolve account
controller.addObserver 'content.length', observer
deferred.promise()
serialize: (router, account) ->
if account
@ -271,7 +294,10 @@ Travis.Router = Ember.Router.extend
repos.removeObserver 'isLoaded', observer
deferred.resolve repos.objectAt(0)
repos.addObserver 'isLoaded', observer
if repos.length
deferred.resolve repos[0]
else
repos.addObserver 'isLoaded', observer
deferred.promise()

View File

@ -16,7 +16,21 @@ require 'ext/ember/namespace'
AuthLayoutView: Travis.View.extend(templateName: 'layouts/simple')
ProfileLayoutView: Travis.View.extend(templateName: 'layouts/profile')
StatsLayoutView: Travis.View.extend(templateName: 'layouts/simple')
ApplicationView: Travis.View.extend(templateName: 'application')
ApplicationView: Travis.View.extend
templateName: 'application'
localeDidChange: (->
if locale = Travis.app.get('auth.user.locale')
Travis.setLocale(locale)
Travis.app.get('router').reload()
).observes('Travis.app.auth.user.locale')
click: (event) ->
# TODO: this solves the case of closing menus and popups,
# but I would like to rewrite it later, not sure how
# yet, but this does not seem optimal
if ! $(event.target).parents().andSelf().hasClass('popup')
@popupCloseAll()
if ! $(event.target).parents().andSelf().hasClass('menu')
$('.menu').removeClass('display')
require 'views/accounts'
require 'views/build'

View File

@ -68,9 +68,10 @@
closeMenu: ->
$('.menu').removeClass('display')
menu: ->
menu: (event) ->
@popupCloseAll()
element = $('#tools .menu').toggleClass('display')
event.stopPropagation()
requeue: ->
@closeMenu()
@ -80,6 +81,7 @@
@set('active', true)
@closeMenu()
@popup(event)
event.stopPropagation()
canPush: (->
@get('isBuildTab') && @get('build.isFinished') && @get('hasPushPermissions')

View File

@ -34,9 +34,17 @@ require 'ext/ember/namespace'
INTERVALS: { sponsors: -1, times: -1, updateTimes: 1000 }
setLocale: (locale) ->
return unless locale
I18n.locale = locale
localStorage.setItem('travis.config.locale', locale)
run: (attrs) ->
location.href = location.href.replace('#!/', '') if location.hash.slice(0, 2) == '#!'
@setLocale localStorage.getItem('travis.config.locale')
Ember.run.next this, ->
app = Travis.App.create(attrs || {})
# TODO: router expects the classes for controllers on main namespace, so

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
13b44fe6
bb949c93