mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-29 14:19:48 -04:00
Fixes for ladder refreshing.
This commit is contained in:
parent
a5864c4f0c
commit
0c45b6c0e3
2 changed files with 11 additions and 9 deletions
app/views/play
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue