import Ember from 'ember' import { invokeAction } from 'ember-invoke-action' export default Ember.Component.extend classNameBindings: ["hasError:error", "containerClass"] classNames: ['field'] disabled: false containerClass: Ember.computed "attribute", -> return "validated-input" unless record = @get('changeset._content') record_name = record.constructor.modelName || 'record' "validated-input-#{record_name}-#{Ember.String.dasherize(@get("attribute"))}".replace(/[\W_]/g, '-') init: -> @_super() Ember.defineProperty(@, "hasError", Ember.computed.bool("changeset.error.#{@get("attribute")}")) actions: validateProperty: (changeset, property) -> changeset.validate(property) inputEnter: (value)-> #https://github.com/DockYard/ember-one-way-controls/blob/master/addon/components/one-way-input.js invokeAction(@, enter, value) if enter = @get('enter') setAttribute: (value) -> #value = switch @get('type') # when 'integer' # # integer will be value or null # res = Number.parseInt(value) # if Number.isFinite(res) then res else null # else value @set "changeset.#{@get('attribute')}", value false