Fixes for ladder refreshing.

This commit is contained in:
Nick Winter 2014-03-03 12:21:59 -08:00
parent a5864c4f0c
commit 0c45b6c0e3
2 changed files with 11 additions and 9 deletions

View file

@ -24,14 +24,17 @@ module.exports = class LadderView extends CocoView
super(options)
@teams = teamDataFromLevel @level
@leaderboards = {}
@refreshLadder()
refreshLadder: ->
for team in @teams
@leaderboards[team.id]?.off 'sync'
# teamSession = _.find @sessions.models, (session) -> session.get('team') is team.id
teamSession = null
# console.log "Team session: #{JSON.stringify teamSession}"
@leaderboards[team.id] = new LeaderboardData(@level, team.id, teamSession)
@leaderboards[team.id].once 'sync', @onLeaderboardLoaded, @
onChallengersLoaded: -> @renderMaybe()
onLeaderboardLoaded: -> @renderMaybe()
renderMaybe: ->
@ -48,7 +51,7 @@ module.exports = class LadderView extends CocoView
team.leaderboard = @leaderboards[team.id] for team in @teams
ctx.levelID = @levelID
ctx
class LeaderboardData
constructor: (@level, @team, @session) ->
_.extend @, Backbone.Events

View file

@ -65,17 +65,16 @@ module.exports = class LadderView extends RootView
@insertSubView(@ladderTab = new LadderTabView({}, @level, @sessions))
@insertSubView(@myMatchesTab = new MyMatchesTabView({}, @level, @sessions))
setInterval(@fetchSessionsAndRefreshViews.bind(@), 10000)
fetchSessionsAndRefreshViews: ->
@sessions.fetch({"success": @refreshViews})
refreshViews: =>
@ladderTab.constructor({}, @level, @sessions)
@ladderTab.refreshLadder()
@myMatchesTab.refreshMatches()
console.log "refreshed views!"
# Simulations
onSimulateAllButtonClick: (e) ->
@ -116,4 +115,4 @@ module.exports = class LadderView extends RootView
teamID = button.data('team')
session = (s for s in @sessions.models when s.get('team') is teamID)[0]
modal = new LadderPlayModal({}, @level, session, teamID)
@openModalView modal
@openModalView modal