summaryrefslogtreecommitdiff
path: root/templates/project/widgets/number/number.coffee
diff options
context:
space:
mode:
authorDaniel Beauchamp <daniel.beauchamp@shopify.com>2012-08-02 13:38:19 -0400
committerDaniel Beauchamp <daniel.beauchamp@shopify.com>2012-08-02 13:38:19 -0400
commitcdd8ff258582f5eba7e3941a5a18007e7aabbbfa (patch)
tree259644bbbda24070efc5685445e6b26187a70b20 /templates/project/widgets/number/number.coffee
parent1dcf732b801f9fa513901fda27388a36eddb44ab (diff)
Better generators, sample widgets, and more!
Diffstat (limited to 'templates/project/widgets/number/number.coffee')
-rw-r--r--templates/project/widgets/number/number.coffee29
1 files changed, 29 insertions, 0 deletions
diff --git a/templates/project/widgets/number/number.coffee b/templates/project/widgets/number/number.coffee
new file mode 100644
index 0000000..aa7cf8b
--- /dev/null
+++ b/templates/project/widgets/number/number.coffee
@@ -0,0 +1,29 @@
+class AllTheThings.Number extends AllTheThings.Widget
+ source: 'number'
+
+ @accessor 'current', Batman.Property.EasingSetter
+
+ ready: ->
+
+ @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}%"
+
+ @accessor 'arrow', ->
+ if @get('last')
+ if parseInt(@get('current')) > parseInt(@get('last')) then 'icon-arrow-up' else 'icon-arrow-down'
+
+ @accessor 'statusStyle', ->
+ "status-#{@get('status')}"
+
+ @accessor 'needsAttention', ->
+ @get('status') == 'warning' || @get('status') == 'danger'
+
+ onData: (data) ->
+ super
+ if data.status
+ $(@get('node')).addClass("status-#{data.status}") \ No newline at end of file