diff --git a/src/plugins/condition/Condition.js b/src/plugins/condition/Condition.js index 1078a38011..9cf2a3b877 100644 --- a/src/plugins/condition/Condition.js +++ b/src/plugins/condition/Condition.js @@ -95,7 +95,7 @@ export default class ConditionClass extends EventEmitter { generateCriterion(criterionConfiguration) { return { - id: uuid(), + id: criterionConfiguration.id || uuid(), telemetry: criterionConfiguration.telemetry || '', telemetryObject: this.conditionManager.telemetryObjects[this.openmct.objects.makeKeyString(criterionConfiguration.telemetry)], operation: criterionConfiguration.operation || '', diff --git a/src/plugins/condition/ConditionManager.js b/src/plugins/condition/ConditionManager.js index d0844d0426..2adf6f439b 100644 --- a/src/plugins/condition/ConditionManager.js +++ b/src/plugins/condition/ConditionManager.js @@ -122,6 +122,7 @@ export default class ConditionManager extends EventEmitter { output: 'false', trigger: 'all', criteria: [{ + id: uuid(), telemetry: '', operation: '', input: [], @@ -140,7 +141,9 @@ export default class ConditionManager extends EventEmitter { } cloneCondition(conditionConfiguration, index) { - this.createAndSaveCondition(index, JSON.parse(JSON.stringify(conditionConfiguration))); + let clonedConfig = JSON.parse(JSON.stringify(conditionConfiguration)); + clonedConfig.configuration.criteria.forEach((criterion) => criterion.id = uuid()); + this.createAndSaveCondition(index, clonedConfig); } createAndSaveCondition(index, conditionConfiguration) { diff --git a/src/plugins/condition/components/Condition.vue b/src/plugins/condition/components/Condition.vue index b628763019..59e93794ea 100644 --- a/src/plugins/condition/components/Condition.vue +++ b/src/plugins/condition/components/Condition.vue @@ -41,7 +41,6 @@ > {{ condition.configuration.name }} -