diff options
Diffstat (limited to 'widgets/number/number.coffee')
-rw-r--r-- | widgets/number/number.coffee | 24 |
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}" |