import Ember from 'ember'; import BaseComponentMixin from '../mixins/components/base-component'; export default Ember.Component.extend(BaseComponentMixin, { 'col-width': 6, colWidth: Ember.computed.alias('col-width'), classNameBindings: ['hasError:has-error'], model: Ember.computed.alias('route.controller.model'), errors: Ember.computed.alias('route.controller.errors'), hasError: Ember.computed('errors', function() { return this.get('errors.' + this.get('name')); }), 'error-msg': true, errorMsg: Ember.computed.alias('error-msg'), 'label-class': 'col-xs-12 col-sm-3 col-md-3', labelClass: Ember.computed.alias('label-class'), 'input-class': 'col-xs-12 col-sm-5 col-md-5', inputClass: Ember.computed.alias('input-class'), 'data-scope': 'model', dataScope: Ember.computed.alias('data-scope'), didReceiveAttrs() { let me = this; me._super(...arguments); let dataScope = me.get('data-scope'); if ('controller' === dataScope) { me.set('dataModel', me.get('route.controller')); } else if ('route' === dataScope) { me.set('dataModel', me.get('route')); } else { me.set('dataModel', me.get('model')); } }, getVal() { return this.get('dataModel.' + this.get('name')); }, setVal(val) { this.set('dataModel.' + this.get('name'), val); } });