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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
828 B
JavaScript
Raw Normal View History

import discourseComputed from "discourse-common/utils/decorators";
2016-08-26 01:14:56 +08:00
export const States = {
UNCHECKED: 0,
INVALID: 1,
VALID: 2,
};
export default {
_validState: null,
errorDescription: null,
2016-08-26 01:14:56 +08:00
init() {
this._super(...arguments);
2016-08-26 01:14:56 +08:00
this.set("_validState", States.UNCHECKED);
},
@discourseComputed("_validState")
2018-07-30 23:56:48 +08:00
valid: (state) => state === States.VALID,
2016-08-26 01:14:56 +08:00
@discourseComputed("_validState")
2018-07-30 23:56:48 +08:00
invalid: (state) => state === States.INVALID,
2016-08-26 01:14:56 +08:00
@discourseComputed("_validState")
2018-07-30 23:56:48 +08:00
unchecked: (state) => state === States.UNCHECKED,
2016-08-26 01:14:56 +08:00
setValid(valid, description) {
2016-08-26 01:14:56 +08:00
this.set("_validState", valid ? States.VALID : States.INVALID);
if (!valid && description && description.length) {
this.set("errorDescription", description);
} else {
this.set("errorDescription", null);
}
2016-08-26 01:14:56 +08:00
},
};