mirror of
https://github.com/nasa/openmct.git
synced 2025-02-20 17:33:23 +00:00
do not mutate function args for criteria results either
This commit is contained in:
parent
713c5e9fb7
commit
d188b9a056
@ -170,9 +170,7 @@ export default class ConditionClass extends EventEmitter {
|
||||
criterion.off('criterionUpdated', (obj) => this.handleCriterionUpdated(obj));
|
||||
criterion.off('criterionResultUpdated', (obj) => this.handleCriterionResult(obj));
|
||||
this.criteria.splice(found.index, 1, newCriterion);
|
||||
if (this.criteriaResults[criterion.id] !== undefined) {
|
||||
delete this.criteriaResults[criterion.id];
|
||||
}
|
||||
delete this.criteriaResults[criterion.id];
|
||||
}
|
||||
}
|
||||
|
||||
@ -191,9 +189,8 @@ export default class ConditionClass extends EventEmitter {
|
||||
});
|
||||
criterion.destroy();
|
||||
this.criteria.splice(found.index, 1);
|
||||
if (this.criteriaResults[criterion.id] !== undefined) {
|
||||
delete this.criteriaResults[criterion.id];
|
||||
}
|
||||
delete this.criteriaResults[criterion.id];
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -211,17 +208,16 @@ export default class ConditionClass extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
updateCriteriaResults(criteriaResults, eventData) {
|
||||
updateCriteriaResults(eventData) {
|
||||
const id = eventData.id;
|
||||
|
||||
if (this.findCriterion(id)) {
|
||||
// The !! here is important to convert undefined to false otherwise the criteriaResults won't get deleted when the criteria is destroyed
|
||||
criteriaResults[id] = !!eventData.data.result;
|
||||
this.criteriaResults[id] = !!eventData.data.result;
|
||||
}
|
||||
}
|
||||
|
||||
handleCriterionResult(eventData) {
|
||||
this.updateCriteriaResults(this.criteriaResults, eventData);
|
||||
this.updateCriteriaResults(eventData);
|
||||
this.handleConditionUpdated(eventData.data);
|
||||
}
|
||||
|
||||
@ -233,11 +229,14 @@ export default class ConditionClass extends EventEmitter {
|
||||
|
||||
return Promise.all(criteriaRequests)
|
||||
.then(results => {
|
||||
results.forEach(result => {
|
||||
this.updateCriteriaResults(criteriaResults, result)
|
||||
results.forEach(resultObj => {
|
||||
const { id, data, data: { result } } = resultObj;
|
||||
if (this.findCriterion(id)) {
|
||||
criteriaResults[id] = !!result;
|
||||
}
|
||||
latestTimestamp = getLatestTimestamp(
|
||||
latestTimestamp,
|
||||
result.data,
|
||||
data,
|
||||
this.timeSystems
|
||||
);
|
||||
});
|
||||
|
@ -164,9 +164,7 @@ export default class ConditionManager extends EventEmitter {
|
||||
condition.off('conditionResultUpdated', this.handleConditionResult.bind(this));
|
||||
this.conditionClassCollection.splice(index, 1);
|
||||
this.conditionSetDomainObject.configuration.conditionCollection.splice(index, 1);
|
||||
if (this.conditionResults[condition.id] !== undefined) {
|
||||
delete this.conditionResults[condition.id];
|
||||
}
|
||||
delete this.conditionResults[condition.id];
|
||||
this.persistConditions();
|
||||
this.handleConditionResult();
|
||||
}
|
||||
@ -175,7 +173,6 @@ export default class ConditionManager extends EventEmitter {
|
||||
return this.conditionClassCollection.find(conditionClass => conditionClass.id === id);
|
||||
}
|
||||
|
||||
//this.$set(this.conditionClassCollection, reorderEvent.newIndex, oldConditions[reorderEvent.oldIndex]);
|
||||
reorderConditions(reorderPlan) {
|
||||
let oldConditions = Array.from(this.conditionSetDomainObject.configuration.conditionCollection);
|
||||
let newCollection = [];
|
||||
@ -247,7 +244,7 @@ export default class ConditionManager extends EventEmitter {
|
||||
results.forEach(resultObj => {
|
||||
const { id, data, data: { result } } = resultObj;
|
||||
if (this.findConditionById(id)) {
|
||||
conditionResults[id] = result;
|
||||
conditionResults[id] = !!result;
|
||||
}
|
||||
latestTimestamp = getLatestTimestamp(
|
||||
latestTimestamp,
|
||||
|
Loading…
x
Reference in New Issue
Block a user