summaryrefslogtreecommitdiff
path: root/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'javascripts')
-rw-r--r--javascripts/dashing.coffee13
1 files changed, 11 insertions, 2 deletions
diff --git a/javascripts/dashing.coffee b/javascripts/dashing.coffee
index ebf5c0a..f90c14b 100644
--- a/javascripts/dashing.coffee
+++ b/javascripts/dashing.coffee
@@ -25,6 +25,12 @@ Batman.Filters.shortenedNumber = (num) ->
num
class window.Dashing extends Batman.App
+ @on 'reload', (data) ->
+ if data.dashboard?
+ location.reload() if window.location.pathname is "/#{data.dashboard}"
+ else
+ location.reload()
+
@root ->
Dashing.params = Batman.URI.paramsFromQuery(window.location.search.slice(1));
@@ -83,7 +89,6 @@ Dashing.AnimatedValue =
@[k] = num
@set k, to
, 10
- @[k] = num
Dashing.widgets = widgets = {}
Dashing.lastEvents = lastEvents = {}
@@ -98,9 +103,13 @@ source.addEventListener 'error', (e)->
if (e.readyState == EventSource.CLOSED)
console.log("Connection closed")
-source.addEventListener 'message', (e) =>
+source.addEventListener 'message', (e) ->
data = JSON.parse(e.data)
if lastEvents[data.id]?.updatedAt != data.updatedAt
+ # /messages are internal messages, and cannot correspond to widgets.
+ # We will handle them as events on the Dashing application.
+ return Dashing.fire(data.id.slice(1), data) if data.id[0] is '/'
+
if Dashing.debugMode
console.log("Received data for #{data.id}", data)
lastEvents[data.id] = data