add handleConditionUpdated back

This commit is contained in:
David Tsay 2020-03-03 11:34:30 -08:00
parent ece6223b23
commit 8cb29ba4a9

View File

@ -192,13 +192,14 @@ export default class ConditionClass extends EventEmitter {
handleCriterionResult(eventData) {
const id = eventData.id;
const conditionData = eventData.data;
if (this.findCriterion(id)) {
this.criteriaResults[id] = eventData.data.result;
}
conditionData.result = computeCondition(this.criteriaResults, this.trigger === TRIGGER.ALL);
this.emitEvent('conditionResultUpdated', conditionData);
this.handleConditionUpdated();
// conditionData.result = computeCondition(this.criteriaResults, this.trigger === TRIGGER.ALL);
// this.emitEvent('conditionResultUpdated', conditionData);
}
subscribe() {
@ -208,6 +209,12 @@ export default class ConditionClass extends EventEmitter {
})
}
handleConditionUpdated() {
// trigger an updated event so that consumers can react accordingly
this.evaluate();
this.emitEvent('conditionResultUpdated', {result: this.result});
}
getCriteria() {
return this.criteria;
}
@ -221,6 +228,10 @@ export default class ConditionClass extends EventEmitter {
return success;
}
evaluate() {
this.result = computeCondition(this.criteriaResults, this.trigger === TRIGGER.ALL);
}
emitEvent(eventName, data) {
this.emit(eventName, {
id: this.id,