mirror of
https://github.com/nasa/openmct.git
synced 2025-02-21 17:57:04 +00:00
Remove duplicate metadata options
This commit is contained in:
parent
5ec8ac95c1
commit
f990a14a3c
@ -50,7 +50,8 @@ define([
|
||||
values: [
|
||||
{
|
||||
key: "name",
|
||||
name: "Name"
|
||||
name: "Name",
|
||||
format: "string"
|
||||
},
|
||||
{
|
||||
key: "utc",
|
||||
|
@ -56,7 +56,8 @@ define([
|
||||
|
||||
valueMetadatas.push({
|
||||
key: 'name',
|
||||
name: 'Name'
|
||||
name: 'Name',
|
||||
format: 'string'
|
||||
});
|
||||
|
||||
metadata.domains.forEach(function (domain, index) {
|
||||
|
@ -161,7 +161,7 @@ export default {
|
||||
methods: {
|
||||
checkTelemetry() {
|
||||
if(this.criterion.telemetry) {
|
||||
if (this.criterion.telemetry === 'any' && this.criterion.telemetry === 'all') {
|
||||
if (this.criterion.telemetry === 'any' || this.criterion.telemetry === 'all') {
|
||||
this.updateMetadataOptions();
|
||||
} else {
|
||||
if (!this.telemetry.find((telemetryObj) => this.openmct.objects.areIdsEqual(this.criterion.telemetry, telemetryObj.identifier))) {
|
||||
@ -210,7 +210,7 @@ export default {
|
||||
this.telemetryMetadataOptions = [];
|
||||
telemetryObjects.forEach(telemetryObject => {
|
||||
let telemetryMetadata = this.openmct.telemetry.getMetadata(telemetryObject);
|
||||
this.telemetryMetadataOptions = this.telemetryMetadataOptions.concat(telemetryMetadata.values());
|
||||
this.addMetaDataOptions(telemetryMetadata.values());
|
||||
this.updateOperations(ev);
|
||||
this.updateOperationInputVisibility();
|
||||
});
|
||||
@ -227,6 +227,19 @@ export default {
|
||||
this.criterion.metadata = '';
|
||||
}
|
||||
},
|
||||
addMetaDataOptions(options) {
|
||||
if (!this.telemetryMetadataOptions) {
|
||||
this.telemetryMetadataOptions = options;
|
||||
}
|
||||
options.forEach((option) => {
|
||||
const found = this.telemetryMetadataOptions.find((metadataOption) => {
|
||||
return (metadataOption.key && (metadataOption.key === option.key)) && (metadataOption.name && (metadataOption.name === option.name))
|
||||
});
|
||||
if (!found) {
|
||||
this.telemetryMetadataOptions.push(option);
|
||||
}
|
||||
});
|
||||
},
|
||||
updateOperations(ev) {
|
||||
if (ev && ev.target === this.$refs.telemetrySelect) {
|
||||
this.clearDependentFields(ev.target);
|
||||
|
@ -43,14 +43,14 @@ export default class TelemetryCriterion extends EventEmitter {
|
||||
this.id = telemetryDomainObjectDefinition.id;
|
||||
this.telemetry = telemetryDomainObjectDefinition.telemetry;
|
||||
this.operation = telemetryDomainObjectDefinition.operation;
|
||||
this.telemetryObjects = telemetryDomainObjectDefinition.telemetryObjects;
|
||||
this.telemetryObjects = Object.assign({}, telemetryDomainObjectDefinition.telemetryObjects);
|
||||
this.input = telemetryDomainObjectDefinition.input;
|
||||
this.metadata = telemetryDomainObjectDefinition.metadata;
|
||||
this.telemetryDataCache = {};
|
||||
}
|
||||
|
||||
updateTelemetry(telemetryObjects) {
|
||||
this.telemetryObjects = telemetryObjects;
|
||||
this.telemetryObjects = Object.assign({}, telemetryObjects);
|
||||
}
|
||||
|
||||
formatData(data, telemetryObjects) {
|
||||
@ -161,8 +161,9 @@ export default class TelemetryCriterion extends EventEmitter {
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.off(`subscription:${this.telemetryObjectIdAsString}`, this.handleSubscription);
|
||||
this.emitEvent('criterionRemoved');
|
||||
delete this.telemetryObjects;
|
||||
delete this.telemetryDataCache;
|
||||
delete this.telemetryObjectIdAsString;
|
||||
delete this.telemetryObject;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user