Files
ember-cli-dunlop/app/components/validated-input.coffee
T
2018-09-28 10:52:33 -05:00

33 lines
1.2 KiB
CoffeeScript

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