19 lines
610 B
CoffeeScript
19 lines
610 B
CoffeeScript
import Ember from 'ember'
|
|
|
|
# = number-input numericValue=path.to.numeric_value, taken from mozo
|
|
export default Ember.TextField.extend
|
|
type: 'number'
|
|
attributeBindings: ['min', 'max', 'step']
|
|
classNames: ['number-input']
|
|
focusIn: -> @$().select()
|
|
init: ->
|
|
@_super arguments...
|
|
value = @get 'numericValue'
|
|
# value? returns true on 0
|
|
@set 'value', if value? then String(value) else ''
|
|
handle_value_change: Ember.observer 'value', ->
|
|
string_value = @get('value')
|
|
setValue = parseFloat(string_value)
|
|
@set "numericValue", if Number.isFinite(setValue) then setValue else null
|
|
|