added descriptions to conditions

This commit is contained in:
Joel McKinnon 2020-03-09 12:42:44 -07:00
parent 8900072239
commit efca7c8e58

View File

@ -44,7 +44,7 @@
<span class="c-condition__name">{{ domainObject.configuration.name }}</span>
<!-- TODO: description should be derived from criteria -->
<span class="c-condition__summary">
<!-- {{ getDescription }} -->
{{ getDescription }}
</span>
<div class="c-condition__buttons">
@ -162,7 +162,7 @@
</span>
</div>
<div class="c-condition__summary">
<!-- {{ getDescription }} -->
{{ getDescription }}
</div>
</div>
</template>
@ -219,28 +219,32 @@ export default {
if (!config.criteria.length) {
return 'When all else fails';
} else {
let description = '';
let rule = '';
let summary = '';
if (config.criteria.length === 1 && config.criteria[0].telemetry) {
if (config.criteria[0].operation && config.criteria[0].input.length) {
description += `When ${config.criteria[0].telemetry.name} value ${this.findDescription(config.criteria[0].operation, config.criteria[0].input)}`
rule += `${config.criteria[0].telemetry.name} value ${this.findDescription(config.criteria[0].operation, config.criteria[0].input)}`
summary = `When ${rule}`;
} else {
description = 'No criteria specified'
summary = 'No criteria specified'
}
} else {
let conjunction = '';
summary = 'When ';
config.criteria.forEach((criterion, index) => {
if (criterion.operation && criterion.input.length) {
if (index !== config.criteria.length - 1 && (criterion.operation && criterion.input.length)) {
rule += `${criterion.telemetry.name} value ${this.findDescription(criterion.operation, criterion.input)}`
if (index === config.criteria.length - 1) {
conjunction = config.trigger === 'all' ? 'and' : 'or';
} else {
conjunction = '';
}
description += `${criterion.telemetry.name} value ${this.findDescription(criterion.operation, criterion.input)} ${conjunction}`
summary += ` ${conjunction} ${rule}`
}
});
}
return description;
return summary;
}
}
},
@ -260,7 +264,6 @@ export default {
findDescription(operation, values) {
for (let i=0, ii= OPERATIONS.length; i < ii; i++) {
if (operation === OPERATIONS[i].name) {
console.log('OPERATIONS[i].getDescription()', OPERATIONS[i].getDescription(values));
return OPERATIONS[i].getDescription(values);
}
}