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) =>
|
}, (t) =>
|
||||||
@router = new Router()
|
@router = new Router()
|
||||||
@router.subscribe()
|
@router.subscribe()
|
||||||
|
onIdleChanged = (to) => => Backbone.Mediator.publish 'application:idle-changed', idle: @userIsIdle = to
|
||||||
@idleTracker = new Idle
|
@idleTracker = new Idle
|
||||||
onAway: => @userIsIdle = true
|
onAway: onIdleChanged true
|
||||||
onAwayBack: => @userIsIdle = false
|
onAwayBack: onIdleChanged false
|
||||||
onHidden: => @userIsIdle = true
|
onHidden: onIdleChanged true
|
||||||
onVisible: => @userIsIdle = false
|
onVisible: onIdleChanged false
|
||||||
awayTimeout: 5 * 60 * 1000
|
awayTimeout: 5 * 60 * 1000
|
||||||
@idleTracker.start()
|
@idleTracker.start()
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,9 @@ module.exports = class LadderView extends RootView
|
||||||
template: require 'templates/play/ladder'
|
template: require 'templates/play/ladder'
|
||||||
startsLoading: true
|
startsLoading: true
|
||||||
|
|
||||||
|
subscriptions:
|
||||||
|
'application:idle-changed': 'onIdleChanged'
|
||||||
|
|
||||||
events:
|
events:
|
||||||
'click #simulate-button': 'onSimulateButtonClick'
|
'click #simulate-button': 'onSimulateButtonClick'
|
||||||
'click #simulate-all-button': 'onSimulateAllButtonClick'
|
'click #simulate-all-button': 'onSimulateAllButtonClick'
|
||||||
|
@ -70,10 +73,14 @@ module.exports = class LadderView extends RootView
|
||||||
@sessions.fetch({"success": @refreshViews})
|
@sessions.fetch({"success": @refreshViews})
|
||||||
|
|
||||||
refreshViews: =>
|
refreshViews: =>
|
||||||
return if @destroyed or application.userIsIdle
|
return if @destroyed or application.userIsIdle or new Date() - 2000 < @lastRefreshTime
|
||||||
|
@lastRefreshTime = new Date()
|
||||||
@ladderTab.refreshLadder()
|
@ladderTab.refreshLadder()
|
||||||
@myMatchesTab.refreshMatches()
|
@myMatchesTab.refreshMatches()
|
||||||
console.log "refreshed views!"
|
console.log "Refreshing ladder and matches views."
|
||||||
|
|
||||||
|
onIdleChanged: (e) ->
|
||||||
|
@refreshViews() unless e.idle
|
||||||
|
|
||||||
# Simulations
|
# Simulations
|
||||||
|
|
||||||
|
|
Reference in a new issue