diff --git a/src/plugins/condition/ConditionManager.js b/src/plugins/condition/ConditionManager.js index d0844d0426..9bade203d9 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,7 @@ export default class ConditionManager extends EventEmitter { } cloneCondition(conditionConfiguration, index) { - this.createAndSaveCondition(index, JSON.parse(JSON.stringify(conditionConfiguration))); + this.createAndSaveCondition(index, Object.assign({}, conditionConfiguration)); } createAndSaveCondition(index, conditionConfiguration) { diff --git a/src/plugins/condition/components/Condition.vue b/src/plugins/condition/components/Condition.vue index 59e93794ea..7dee36c76e 100644 --- a/src/plugins/condition/components/Condition.vue +++ b/src/plugins/condition/components/Condition.vue @@ -308,8 +308,7 @@ export default { this.persist(); }, cloneCriterion(index) { - const clonedCriterion = JSON.parse(JSON.stringify(this.condition.configuration.criteria[index])); - clonedCriterion.id = uuid(); + const clonedCriterion = Object.assign({}, this.condition.configuration.criteria[index], { id: uuid() }); this.condition.configuration.criteria.splice(index + 1, 0, clonedCriterion); this.persist(); },