From 8cb29ba4a9fff013e8e7cb122edfca51e1abd01b Mon Sep 17 00:00:00 2001 From: David Tsay Date: Tue, 3 Mar 2020 11:34:30 -0800 Subject: [PATCH] add handleConditionUpdated back --- src/plugins/condition/Condition.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/plugins/condition/Condition.js b/src/plugins/condition/Condition.js index 8eb3e05cd7..131f2104e7 100644 --- a/src/plugins/condition/Condition.js +++ b/src/plugins/condition/Condition.js @@ -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,