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

38 lines
778 B
Plaintext
Raw Normal View History

2016-08-26 01:14:56 +08:00
import computed from 'ember-addons/ember-computed-decorators';
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();
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) {
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
}
};