summaryrefslogtreecommitdiff
path: root/widgets/number/number.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/number/number.coffee')
-rw-r--r--widgets/number/number.coffee24
1 files changed, 24 insertions, 0 deletions
diff --git a/widgets/number/number.coffee b/widgets/number/number.coffee
new file mode 100644
index 0000000..645ee7f
--- /dev/null
+++ b/widgets/number/number.coffee
@@ -0,0 +1,24 @@
+class Dashing.Number extends Dashing.Widget
+ @accessor 'current', Dashing.AnimatedValue
+
+ @accessor 'difference', ->
+ if @get('last')
+ last = parseInt(@get('last'))
+ current = parseInt(@get('current'))
+ if last != 0
+ diff = Math.abs(Math.round((current - last) / last * 100))
+ "#{diff}%"
+ else
+ ""
+
+ @accessor 'arrow', ->
+ if @get('last')
+ if parseInt(@get('current')) > parseInt(@get('last')) then 'icon-arrow-up' else 'icon-arrow-down'
+
+ onData: (data) ->
+ if data.status
+ # clear existing "status-*" classes
+ $(@get('node')).attr 'class', (i,c) ->
+ c.replace /\bstatus-\S+/g, ''
+ # add new class
+ $(@get('node')).addClass "status-#{data.status}"