summaryrefslogtreecommitdiff
path: root/templates/project/widgets/number/number.coffee
blob: cb8376e791cb5f4e1521c51cde7d8e5cc06e1405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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}%"

  @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}")