diff --git a/src/plugins/comps/CompsManager.js b/src/plugins/comps/CompsManager.js index 4051b4ec2f..982d963ce0 100644 --- a/src/plugins/comps/CompsManager.js +++ b/src/plugins/comps/CompsManager.js @@ -21,12 +21,18 @@ export default class CompsManager extends EventEmitter { addParameter(telemetryObject) { const keyString = this.#openmct.objects.makeKeyString(telemetryObject.identifier); const metaData = this.#openmct.telemetry.getMetadata(telemetryObject); + const specificTelemetryCollection = this.#telemetryCollections[keyString]; + const specificTimeKey = specificTelemetryCollection.timeKey; + const timeMetaData = metaData.valueMetadatas.find( + (metaDatum) => metaDatum.key === specificTimeKey + ); const random4Digit = Math.floor(1000 + Math.random() * 9000); this.#domainObject.configuration.comps.parameters.push({ keyString, name: `${telemetryObject.name}_${random4Digit}`, valueToUse: metaData.valueMetadatas[0].key, - testValue: 0 + testValue: 0, + timeMetaData }); this.persist(this.#domainObject); } @@ -184,7 +190,6 @@ export default class CompsManager extends EventEmitter { // clear it this.#clearBatch(keyString); - console.debug(`🎉 new data for ${keyString}!`, specificBatchedNewData); this.emit('underlyingTelemetryUpdated', { [keyString]: specificBatchedNewData }); }; diff --git a/src/plugins/comps/CompsMetadataProvider.js b/src/plugins/comps/CompsMetadataProvider.js index b155dd13c2..74c40f29d7 100644 --- a/src/plugins/comps/CompsMetadataProvider.js +++ b/src/plugins/comps/CompsMetadataProvider.js @@ -50,7 +50,9 @@ export default class CompsMetadataProvider { const keyString = this.#openmct.objects.makeKeyString(domainObject.identifier); const specificCompsManager = this.#compsManagerPool[keyString]; console.debug('📦 CompsMetadataProvider: getMetadata', specificCompsManager); - return { + // if there are any parameters, grab the first one's timeMetaData + const timeMetaData = specificCompsManager?.getParameters()[0]?.timeMetaData; + const metaDataToReturn = { values: this.getDomains().concat([ { key: 'output', @@ -63,5 +65,12 @@ export default class CompsMetadataProvider { } ]) }; + if ( + timeMetaData && + metaDataToReturn.values.some((metaDatum) => metaDatum.key === timeMetaData.key) + ) { + metaDataToReturn.values.push(timeMetaData); + } + return metaDataToReturn; } } diff --git a/src/plugins/comps/CompsTelemetryProvider.js b/src/plugins/comps/CompsTelemetryProvider.js index fb8303b0de..927bdc5904 100644 --- a/src/plugins/comps/CompsTelemetryProvider.js +++ b/src/plugins/comps/CompsTelemetryProvider.js @@ -79,6 +79,12 @@ export default class CompsTelemetryProvider { const expression = specificCompsManager.getExpression(); const telemetryForComps = specificCompsManager.getFullDataFrame(newTelemetry); const parameters = specificCompsManager.getParameters(); + console.debug( + '🧮 Comps Telemetry Provider: sending calculation request', + telemetryForComps, + expression, + parameters + ); this.#sharedWorker.port.postMessage({ type: 'calculateSubscription', telemetryForComps,