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