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: -> init: ->
@_super() @_super()
# content: (->
# Travis.Account.find()
# ).property()
findByLogin: (login) -> 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: (-> searchObserver: (->
search = @get('search') search = @get('search')
tab = if search then 'search' else 'recent' if search
@activate(tab, search: search) @searchFor search
else
@activate 'recent'
'recent'
).observes('search') ).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') return b.get('route.length') - a.get('route.length')
match = null match = null
console.log(childStates.map( (s) -> s.get('route')))
state = childStates.find (state) -> state = childStates.find (state) ->
matcher = state.get('routeMatcher') matcher = state.get('routeMatcher')
if match = matcher.match(path) if match = matcher.match(path)
@ -128,6 +127,11 @@ Travis.Router = Ember.Router.extend
showAccount: Ember.Route.transitionTo('root.profile.account') showAccount: Ember.Route.transitionTo('root.profile.account')
showUserProfile: Ember.Route.transitionTo('root.profile.account.profile') showUserProfile: Ember.Route.transitionTo('root.profile.account.profile')
reload: ->
url = @get('location').getURL()
@transitionTo 'loading'
@route(url)
signedIn: -> signedIn: ->
!!Travis.app.get('auth.user') !!Travis.app.get('auth.user')
@ -161,6 +165,7 @@ Travis.Router = Ember.Router.extend
router.route('/') router.route('/')
root: Ember.Route.extend root: Ember.Route.extend
route: '/'
authenticate: (->) authenticate: (->)
loading: Ember.State.extend() loading: Ember.State.extend()
@ -209,7 +214,25 @@ Travis.Router = Ember.Router.extend
router.send 'showProfile' router.send 'showProfile'
deserialize: (router, params) -> 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) -> serialize: (router, account) ->
if account if account
@ -271,6 +294,9 @@ Travis.Router = Ember.Router.extend
repos.removeObserver 'isLoaded', observer repos.removeObserver 'isLoaded', observer
deferred.resolve repos.objectAt(0) deferred.resolve repos.objectAt(0)
if repos.length
deferred.resolve repos[0]
else
repos.addObserver 'isLoaded', observer repos.addObserver 'isLoaded', observer
deferred.promise() deferred.promise()

View File

@ -16,7 +16,21 @@ require 'ext/ember/namespace'
AuthLayoutView: Travis.View.extend(templateName: 'layouts/simple') AuthLayoutView: Travis.View.extend(templateName: 'layouts/simple')
ProfileLayoutView: Travis.View.extend(templateName: 'layouts/profile') ProfileLayoutView: Travis.View.extend(templateName: 'layouts/profile')
StatsLayoutView: Travis.View.extend(templateName: 'layouts/simple') 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/accounts'
require 'views/build' require 'views/build'

View File

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

View File

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