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