mirror of
https://github.com/nasa/openmct.git
synced 2025-04-19 08:36:24 +00:00
Update condition set metadata
This commit is contained in:
parent
f239d4bb6d
commit
f4c2b79fdb
@ -43,11 +43,13 @@ export default class ConditionSetMetadataProvider {
|
||||
}
|
||||
|
||||
getMetadata(domainObject) {
|
||||
const enumerations = domainObject.configuration.conditionCollection.map((condition, index) => {
|
||||
return {
|
||||
string: condition.configuration.output,
|
||||
value: index
|
||||
};
|
||||
const format = { formatString: '%0.2f' };
|
||||
domainObject.configuration.conditionCollection.forEach((condition, index) => {
|
||||
if (condition?.configuration?.valueMetadata?.enumerations) {
|
||||
delete format.formatString;
|
||||
format.format = 'enum';
|
||||
format.enumerations = condition?.configuration?.valueMetadata?.enumerations;
|
||||
}
|
||||
});
|
||||
|
||||
const resultEnum = [
|
||||
@ -67,8 +69,7 @@ export default class ConditionSetMetadataProvider {
|
||||
key: 'value',
|
||||
source: 'output',
|
||||
name: 'Value',
|
||||
format: 'enum',
|
||||
enumerations: enumerations,
|
||||
...format,
|
||||
hints: {
|
||||
range: 1
|
||||
}
|
||||
|
@ -294,7 +294,8 @@ export default {
|
||||
criterionIndex: 0,
|
||||
draggingOver: false,
|
||||
isDefault: this.condition.isDefault,
|
||||
telemetryMetadataOptions: {}
|
||||
telemetryMetadataOptions: {},
|
||||
telemetryFormats: new Map()
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -331,9 +332,10 @@ export default {
|
||||
watch: {
|
||||
condition: {
|
||||
handler() {
|
||||
if (this.condition.configuration.output !== TELEMETRY_VALUE) {
|
||||
this.condition.configuration.outputTelemetry = null;
|
||||
this.condition.configuration.outputMetadata = null;
|
||||
const config = this.condition?.configuration;
|
||||
if (config?.output !== TELEMETRY_VALUE) {
|
||||
config.outputTelemetry = null;
|
||||
config.outputMetadata = null;
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
@ -374,6 +376,16 @@ export default {
|
||||
|
||||
this.persist();
|
||||
},
|
||||
getOutputMetadata() {
|
||||
const config = this.condition.configuration;
|
||||
let valueMetadata;
|
||||
if (config?.outputTelemetry && config?.outputMetadata) {
|
||||
valueMetadata = this.telemetryFormats.get(
|
||||
`${config?.outputTelemetry}_${config?.outputMetadata}`
|
||||
);
|
||||
}
|
||||
return valueMetadata;
|
||||
},
|
||||
addCriteria() {
|
||||
const criteriaObject = {
|
||||
id: uuid(),
|
||||
@ -456,6 +468,10 @@ export default {
|
||||
this.persist();
|
||||
},
|
||||
persist() {
|
||||
const valueMetadata = this.getOutputMetadata();
|
||||
if (valueMetadata) {
|
||||
this.condition.configuration.valueMetadata = valueMetadata;
|
||||
}
|
||||
this.$emit('update-condition', {
|
||||
condition: this.condition
|
||||
});
|
||||
@ -469,6 +485,9 @@ export default {
|
||||
let telemetryMetadata = this.openmct.telemetry.getMetadata(telemetryObject);
|
||||
if (telemetryMetadata) {
|
||||
this.telemetryMetadataOptions[id] = telemetryMetadata.values().slice();
|
||||
telemetryMetadata.values().forEach((telemetryValue) => {
|
||||
this.telemetryFormats.set(`${id}_${telemetryValue.key}`, telemetryValue);
|
||||
});
|
||||
} else {
|
||||
this.telemetryMetadataOptions[id] = [];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user