From fa6dd84945c8c7cc416577b82d5b2a974f28d1a9 Mon Sep 17 00:00:00 2001 From: Joel McKinnon Date: Thu, 20 Feb 2020 07:23:38 -0800 Subject: [PATCH 1/3] added controls for remove and duplicate criteria --- .../condition/components/Condition.vue | 3 ++- .../condition/components/Criterion.vue | 26 +++++++++++++++++++ .../condition/components/condition.scss | 9 +++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/plugins/condition/components/Condition.vue b/src/plugins/condition/components/Condition.vue index e469cd588e..3633e85656 100644 --- a/src/plugins/condition/components/Condition.vue +++ b/src/plugins/condition/components/Condition.vue @@ -96,6 +96,7 @@ :criterion="criterion" :index="index" :trigger="trigger" + :is-default="domainObject.configuration.criteria.length === 1" @persist="persist" /> @@ -214,7 +215,7 @@ export default { this.domainObject.configuration.criteria.push(criteriaObject); }, dragStart(e) { - this.$emit('set-move-index', Number(e.target.getAttribute('data-condition-index'))); + this.$emit('setMoveIndex', Number(e.target.getAttribute('data-condition-index'))); }, destroy() { if (this.conditionClass) { diff --git a/src/plugins/condition/components/Criterion.vue b/src/plugins/condition/components/Criterion.vue index 0bd865f828..046ca4a19e 100644 --- a/src/plugins/condition/components/Criterion.vue +++ b/src/plugins/condition/components/Criterion.vue @@ -46,6 +46,15 @@ > +
+ + +
@@ -72,6 +81,10 @@ export default { trigger: { type: String, required: true + }, + isDefault: { + type: Boolean, + default: false } }, data() { @@ -91,6 +104,7 @@ export default { mounted() { this.updateMetadataOptions(); this.updateOperationInputVisibility(); + console.log('this.isDefault', this.isDefault); }, methods: { updateMetadataOptions() { @@ -113,6 +127,18 @@ export default { updateMetadataSelection() { this.updateOperationInputVisibility(); }, + removeCriterion(ev) { + console.log('removeCriterion', this.index); + // this.$emit('removeCondition', this.conditionIdentifier); + }, + cloneCriterion(ev) { + console.log('cloneCriterion') + // this.$emit('cloneCondition', { + // identifier: this.conditionIdentifier, + // index: Number(ev.target.closest('.widget-condition').getAttribute('data-condition-index')) + // }); + }, + persist() { this.$emit('persist', this.criterion); } diff --git a/src/plugins/condition/components/condition.scss b/src/plugins/condition/components/condition.scss index b6e4e47bd2..d5503456db 100644 --- a/src/plugins/condition/components/condition.scss +++ b/src/plugins/condition/components/condition.scss @@ -197,3 +197,12 @@ border-radius: 2px; } } + +.temp { + width: 24px; + + .c-c__duplicate, + .c-c__trash { + display: inline-block; + } +} From 386fc7504782b463af39240d4faac5cdef87b5c5 Mon Sep 17 00:00:00 2001 From: Joel McKinnon Date: Thu, 20 Feb 2020 12:23:18 -0800 Subject: [PATCH 2/3] remove criterion working --- .../condition/components/Condition.vue | 41 ++++++++++++++----- .../components/ConditionCollection.vue | 1 - .../condition/components/Criterion.vue | 27 +----------- .../condition/components/condition.scss | 2 +- 4 files changed, 34 insertions(+), 37 deletions(-) diff --git a/src/plugins/condition/components/Condition.vue b/src/plugins/condition/components/Condition.vue index 3633e85656..c76e1db722 100644 --- a/src/plugins/condition/components/Condition.vue +++ b/src/plugins/condition/components/Condition.vue @@ -90,15 +90,27 @@
@@ -180,7 +192,8 @@ export default { trigger: 'all', selectedOutputKey: '', stringOutputField: false, - outputOptions: ['false', 'true', 'string'] + outputOptions: ['false', 'true', 'string'], + criterionIndex: 0 }; }, computed: { @@ -241,6 +254,14 @@ export default { index: Number(ev.target.closest('.widget-condition').getAttribute('data-condition-index')) }); }, + removeCriterion(index) { + this.domainObject.configuration.criteria.splice(index, 1); + this.persist() + }, + cloneCriterion(ev) { + // console.log('cloneCriterion') + }, + setOutput() { let conditionOutput = this.domainObject.configuration.output; if (conditionOutput) { diff --git a/src/plugins/condition/components/ConditionCollection.vue b/src/plugins/condition/components/ConditionCollection.vue index fc52c2251a..ddc9483296 100644 --- a/src/plugins/condition/components/ConditionCollection.vue +++ b/src/plugins/condition/components/ConditionCollection.vue @@ -83,7 +83,6 @@ import Condition from '../../condition/components/Condition.vue'; import uuid from 'uuid'; - export default { inject: ['openmct', 'domainObject'], components: { diff --git a/src/plugins/condition/components/Criterion.vue b/src/plugins/condition/components/Criterion.vue index 046ca4a19e..e04803faf0 100644 --- a/src/plugins/condition/components/Criterion.vue +++ b/src/plugins/condition/components/Criterion.vue @@ -1,5 +1,5 @@