kdf
Version:
55 lines (40 loc) • 1.36 kB
text/coffeescript
KDCustomHTMLView = require './../../core/customhtmlview.coffee'
module.exports = class KDCounterDigitView extends KDCustomHTMLView
constructor : (options = {}, data = {}) ->
options.tagName = "ul"
options.initialValue ?= 0
super options, data
@currentValue = options.initialValue
@createDigit()
createDigit : ->
@addSubView @digit = new KDCustomHTMLView
tagName : "li"
cssClass : "real"
partial :
"""
<span class="top">#{@getOption('initialValue')}</span>
<span class="bottom">#{@getOption('initialValue')}</span>
"""
@addSubView @fakeDigit = new KDCustomHTMLView
tagName : "li"
cssClass : "fake"
partial :
"""
<span class="top">#{@getOption('initialValue')}</span>
<span class="bottom">#{@getOption('initialValue')}</span>
"""
@setValue @getOption "initialValue"
setValue : (value) ->
return if value is @currentValue
@currentValue = value
@digit.updatePartial """
<span class="top">#{value}</span>
<span class="bottom">#{value}</span>
"""
@setClass "animate"
KD.utils.wait 500, =>
@fakeDigit.updatePartial """
<span class="top">#{value}</span>
<span class="bottom">#{value}</span>
"""
@unsetClass "animate"