discourse/app/assets/javascripts/wizard/mixins/valid-state.js.es6

37 lines
789 B
Plaintext
Raw Normal View History

2018-06-15 11:03:24 -04:00
import computed from "ember-addons/ember-computed-decorators";
2016-08-25 13:14:56 -04:00
export const States = {
UNCHECKED: 0,
INVALID: 1,
VALID: 2
};
export default {
_validState: null,
errorDescription: null,
2016-08-25 13:14:56 -04:00
init() {
this._super(...arguments);
2018-06-15 11:03:24 -04:00
this.set("_validState", States.UNCHECKED);
2016-08-25 13:14:56 -04:00
},
2018-07-30 11:56:48 -04:00
@computed("_validState")
valid: state => state === States.VALID,
2016-08-25 13:14:56 -04:00
2018-07-30 11:56:48 -04:00
@computed("_validState")
invalid: state => state === States.INVALID,
2016-08-25 13:14:56 -04:00
2018-07-30 11:56:48 -04:00
@computed("_validState")
unchecked: state => state === States.UNCHECKED,
2016-08-25 13:14:56 -04:00
setValid(valid, description) {
2018-06-15 11:03:24 -04:00
this.set("_validState", valid ? States.VALID : States.INVALID);
if (!valid && description && description.length) {
2018-06-15 11:03:24 -04:00
this.set("errorDescription", description);
} else {
2018-06-15 11:03:24 -04:00
this.set("errorDescription", null);
}
2016-08-25 13:14:56 -04:00
}
};