changes for pro

This commit is contained in:
Sven Fuchs 2012-11-15 16:31:54 +01:00
parent 81c0549d1d
commit 216724af64
9 changed files with 56 additions and 38 deletions

View File

@ -48,7 +48,7 @@
user = @storeUser(data.user) if data?.user user = @storeUser(data.user) if data?.user
@set('state', if user then 'signed-in' else 'signed-out') @set('state', if user then 'signed-in' else 'signed-out')
@set('user', if user then user else undefined) @set('user', if user then user else undefined)
@afterSignIn() @afterSignIn(user) if data
afterSignIn: -> afterSignIn: ->
@get('app.router').send('afterSignIn', @readAfterSignInPath()) @get('app.router').send('afterSignIn', @readAfterSignInPath())

View File

@ -6,7 +6,6 @@ Travis.ReposController = Ember.ArrayController.extend
isLoadedBinding: 'content.isLoaded' isLoadedBinding: 'content.isLoaded'
init: -> init: ->
@activate(@defaultTab)
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes) Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
updateTimes: -> updateTimes: ->
@ -16,6 +15,7 @@ Travis.ReposController = Ember.ArrayController.extend
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes) Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
activate: (tab, params) -> activate: (tab, params) ->
tab ||= @defaultTab
@set('tab', tab) @set('tab', tab)
this["view#{$.camelize(tab)}"](params) this["view#{$.camelize(tab)}"](params)

View File

@ -1,29 +1,35 @@
Travis.Pusher = (key) -> Travis.Pusher = (key) ->
@init(key) if key @init(key) # if key
this this
$.extend Travis.Pusher, $.extend Travis.Pusher,
CHANNELS: ['common'] CHANNELS: ['common']
CHANNEL_PREFIX: '' CHANNEL_PREFIX: ''
ENCRYPTED: false
$.extend Travis.Pusher.prototype, $.extend Travis.Pusher.prototype,
active_channels: [] active_channels: []
init: (key) -> init: (key) ->
Pusher.warn = @warn.bind(this) Pusher.warn = @warn.bind(this)
@pusher = new Pusher(key) @pusher = new Pusher(key, encrypted: Travis.Pusher.ENCRYPTED)
@subscribe(channel) for channel in Travis.Pusher.CHANNELS @subscribeAll(Travis.Pusher.CHANNELS) if Travis.Pusher.CHANNELS
subscribeAll: (channels) ->
for channel in channels
name = @prefix(channel)
unless @pusher.channels.find(name)
channel = @pusher.channels.add(name, this)
channel.bind_all((event, data) => @receive(event, data))
@pusher.subscribeAll()
subscribe: (channel) -> subscribe: (channel) ->
if @pusher && @active_channels.indexOf(channel) == -1 channel = @prefix(channel)
@active_channels.push(channel) @pusher.subscribe(channel).bind_all((event, data) => @receive(event, data)) unless @pusher?.channel(channel)
@pusher.subscribe(@prefix(channel)).bind_all((event, data) => @receive(event, data))
unsubscribe: (channel) -> unsubscribe: (channel) ->
ix = @active_channels.indexOf(channel) channel = @prefix(channel)
if @pusher && ix == -1 @pusher.unsubscribe(channel) if @pusher?.channel(channel)
@active_channels.splice(ix, 1)
@pusher.unsubscribe(@prefix(channel))
prefix: (channel) -> prefix: (channel) ->
"#{Travis.Pusher.CHANNEL_PREFIX}#{channel}" "#{Travis.Pusher.CHANNEL_PREFIX}#{channel}"

View File

@ -170,6 +170,7 @@ Travis.Router = Ember.Router.extend
router.get('applicationController').connectOutlet 'top', 'top' router.get('applicationController').connectOutlet 'top', 'top'
router.get('applicationController').connectOutlet 'main', 'repo' router.get('applicationController').connectOutlet 'main', 'repo'
router.get('applicationController').connectOutlet 'flash', 'flash' router.get('applicationController').connectOutlet 'flash', 'flash'
router.get('reposController').activate()
router.get('repoController').set('repos', router.get('reposController')) router.get('repoController').set('repos', router.get('reposController'))
show: Ember.Route.extend show: Ember.Route.extend

View File

@ -18,7 +18,7 @@
<li {{bindAttr class="view.classProfile"}}> <li {{bindAttr class="view.classProfile"}}>
<p class="handle"> <p class="handle">
<a class="signed-out" href="#" {{action signIn target="Travis.app"}}>{{t layouts.top.github_login}}</a> <a class="signed-out" href="#" {{action signIn target="Travis.app"}}>{{t layouts.top.github_login}}</a>
<a class="signed-in" {{action showProfile href=true}}><img {{bindAttr src="view.gravatarUrl"}}>{{user.name}}</a> <a class="signed-in" {{action showProfile href=true}}><img {{bindAttr src="view.gravatarUrl"}}>{{view.userName}}</a>
<span class="signing-in">Signing in</span> <span class="signing-in">Signing in</span>
</p> </p>
<ul> <ul>

View File

@ -10,22 +10,7 @@
<p class="description">{{description}}</p> <p class="description">{{description}}</p>
<ul class="github-stats"> {{view Travis.RepoShowStatsView}}
<li class="language">
{{lastBuildLanguage}}
</li>
<li>
<a class="watchers" title="Watchers" {{bindAttr href="view.urlGithubWatchers"}}>
{{stats.watchers}}
</a>
</li>
<li>
<a class="forks" title="Forks" {{bindAttr href="view.urlGithubNetwork"}}>
{{stats.forks}}
</a>
</li>
</ul>
{{view Travis.RepoShowTabsView}} {{view Travis.RepoShowTabsView}}
{{view Travis.RepoShowToolsView}} {{view Travis.RepoShowToolsView}}
{{/with}} {{/with}}

View File

@ -0,0 +1,17 @@
<ul class="github-stats">
<!-- <li class="language">
{{lastBuildLanguage}}
</li> -->
<li>
<a class="watchers" title="Watchers" {{bindAttr href="view.urlGithubWatchers"}}>
{{view.stats.watchers}}
</a>
</li>
<li>
<a class="forks" title="Forks" {{bindAttr href="view.urlGithubNetwork"}}>
{{view.stats.forks}}
</a>
</li>
</ul>

View File

@ -11,12 +11,17 @@
isEmpty: (-> isEmpty: (->
@get('repos.isLoaded') && @get('repos.length') == 0 @get('repos.isLoaded') && @get('repos.length') == 0
).property('repos.length') ).property('repos.isLoaded', 'repos.length')
urlGithub: (-> urlGithub: (->
Travis.Urls.githubRepo(@get('repo.slug')) Travis.Urls.githubRepo(@get('repo.slug'))
).property('repo.slug'), ).property('repo.slug'),
RepoShowStatsView: Travis.View.extend
templateName: 'repos/show/stats'
repoBinding: 'parentView.repo'
statsBinding: 'repo.stats'
urlGithubWatchers: (-> urlGithubWatchers: (->
Travis.Urls.githubWatchers(@get('repo.slug')) Travis.Urls.githubWatchers(@get('repo.slug'))
).property('repo.slug'), ).property('repo.slug'),

View File

@ -5,6 +5,10 @@
tabBinding: 'controller.tab' tabBinding: 'controller.tab'
userBinding: 'controller.user' userBinding: 'controller.user'
userName: (->
@get('user.name') || @get('user.login')
).property('user.login', 'user.name')
gravatarUrl: (-> gravatarUrl: (->
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=24&d=mm" "#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=24&d=mm"
).property('user.gravatarId') ).property('user.gravatarId')