From 6f888b9b2e9ec6e78c4a8e29b638363f11efeea5 Mon Sep 17 00:00:00 2001 From: Daniel Priori Date: Fri, 24 May 2024 10:05:19 +0200 Subject: [PATCH] fix(react-components): fix duplicated timeseries in expressions (#4528) * fix timeseries duplication when traversing mutliple expressions including with no timeseries * cleanup * refactoring based on cr * naming --- .../src/components/RuleBasedOutputs/utils.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/react-components/src/components/RuleBasedOutputs/utils.ts b/react-components/src/components/RuleBasedOutputs/utils.ts index 33690b81a12..03f17090ff0 100644 --- a/react-components/src/components/RuleBasedOutputs/utils.ts +++ b/react-components/src/components/RuleBasedOutputs/utils.ts @@ -43,12 +43,15 @@ const checkStringExpressionStatement = ( const currentTriggerData = triggerTypeData.find( (triggerType) => triggerType.type === trigger?.type ); - const assetTrigger = + + const isMetadataAndAssetTrigger = trigger?.type === 'metadata' && currentTriggerData?.type === 'metadata' && - currentTriggerData?.asset !== undefined - ? currentTriggerData?.asset[trigger.type]?.[trigger.key] - : undefined; + currentTriggerData?.asset !== undefined; + + const assetTrigger = isMetadataAndAssetTrigger + ? currentTriggerData?.asset[trigger.type]?.[trigger.key] + : undefined; if (assetTrigger === undefined) return; @@ -439,10 +442,9 @@ const generateTimeseriesAndDatapointsFromTheAsset = ({ export const traverseExpressionToGetTimeseries = ( expressions: Expression[] | undefined ): string[] | undefined => { - let timeseriesExternalIdFound: string[] | undefined = []; - const timeseriesExternalIdResults = expressions ?.map((expression) => { + let timeseriesExternalIdFound: string[] | undefined = []; switch (expression.type) { case 'or': case 'and': { @@ -461,7 +463,6 @@ export const traverseExpressionToGetTimeseries = ( return timeseriesExternalIdFound?.filter(isDefined) ?? []; }) .flat(); - return timeseriesExternalIdResults; };