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(...arguments); 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); } } };