mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 05:53:39 -04:00
Better handling of refreshing ladder and matches views depending on idle state.
This commit is contained in:
parent
7e8f74f385
commit
77c9217357
2 changed files with 14 additions and 6 deletions
app
|
@ -44,11 +44,12 @@ Application = initialize: ->
|
|||
}, (t) =>
|
||||
@router = new Router()
|
||||
@router.subscribe()
|
||||
onIdleChanged = (to) => => Backbone.Mediator.publish 'application:idle-changed', idle: @userIsIdle = to
|
||||
@idleTracker = new Idle
|
||||
onAway: => @userIsIdle = true
|
||||
onAwayBack: => @userIsIdle = false
|
||||
onHidden: => @userIsIdle = true
|
||||
onVisible: => @userIsIdle = false
|
||||
onAway: onIdleChanged true
|
||||
onAwayBack: onIdleChanged false
|
||||
onHidden: onIdleChanged true
|
||||
onVisible: onIdleChanged false
|
||||
awayTimeout: 5 * 60 * 1000
|
||||
@idleTracker.start()
|
||||
|
||||
|
|
|
@ -25,6 +25,9 @@ module.exports = class LadderView extends RootView
|
|||
template: require 'templates/play/ladder'
|
||||
startsLoading: true
|
||||
|
||||
subscriptions:
|
||||
'application:idle-changed': 'onIdleChanged'
|
||||
|
||||
events:
|
||||
'click #simulate-button': 'onSimulateButtonClick'
|
||||
'click #simulate-all-button': 'onSimulateAllButtonClick'
|
||||
|
@ -70,10 +73,14 @@ module.exports = class LadderView extends RootView
|
|||
@sessions.fetch({"success": @refreshViews})
|
||||
|
||||
refreshViews: =>
|
||||
return if @destroyed or application.userIsIdle
|
||||
return if @destroyed or application.userIsIdle or new Date() - 2000 < @lastRefreshTime
|
||||
@lastRefreshTime = new Date()
|
||||
@ladderTab.refreshLadder()
|
||||
@myMatchesTab.refreshMatches()
|
||||
console.log "refreshed views!"
|
||||
console.log "Refreshing ladder and matches views."
|
||||
|
||||
onIdleChanged: (e) ->
|
||||
@refreshViews() unless e.idle
|
||||
|
||||
# Simulations
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue