jam-cloud/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee

40 lines
948 B
CoffeeScript

$ = jQuery
context = window
logger = context.JK.logger
rest = new context.JK.Rest()
@LatencyStore = Reflux.createStore(
{
latencies: []
listenables: @LatencyActions
init: ->
this.listenTo(context.AppStore, this.onAppInit)
onAppInit: (@app) ->
changed: () ->
$(document).triggerHandler("user_latency_update", @latencies)
@trigger(@latencies)
onResolve: (user_ids) ->
rest.getLatencyToUsers({user_ids: user_ids}).done((response) => @onLoaded(response)).fail((jqXHR) => @onLatencyFail(jqXHR, user_ids))
onLoaded: (response) ->
logger.debug("LatencyStore.onLoaded", response);
@latencies.push(response)
@changed()
onLatencyFail:(jqXHR, user_ids) ->
LatencyActions.fail(user_ids)
onFail:(user_ids) ->
$(document).triggerHandler("user_latency_fail", user_ids)
@trigger(user_ids)
getState:() ->
{ latencies: @latencies }
}
)