import computed from 'ember-addons/ember-computed-decorators'; export const States = { UNCHECKED: 0, INVALID: 1, VALID: 2 }; export default { _validState: null, errorDescription: null, init() { this._super(); this.set('_validState', States.UNCHECKED); }, @computed('_validState') valid: state => state === States.VALID, @computed('_validState') invalid: state => state === States.INVALID, @computed('_validState') unchecked: state => state === States.UNCHECKED, setValid(valid, description) { this.set('_validState', valid ? States.VALID : States.INVALID); if (!valid && description && description.length) { this.set('errorDescription', description); } else { this.set('errorDescription', null); } } };