From f3c01a51556bf9d9e3b5583e0135d10ec7782cac Mon Sep 17 00:00:00 2001 From: Vikrant Gupta Date: Fri, 20 Sep 2024 23:37:15 +0530 Subject: [PATCH] fix: export as csv for logs and traces table panel type (#6047) * fix: export as csv for logs and traces panel type * chore: remove console logs --- frontend/src/container/GridTableComponent/index.tsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/src/container/GridTableComponent/index.tsx b/frontend/src/container/GridTableComponent/index.tsx index 676a745b65..fbd3892c48 100644 --- a/frontend/src/container/GridTableComponent/index.tsx +++ b/frontend/src/container/GridTableComponent/index.tsx @@ -4,7 +4,7 @@ import { getYAxisFormattedValue } from 'components/Graph/yAxisConfig'; import { Events } from 'constants/events'; import { QueryTable } from 'container/QueryTable'; import { RowData } from 'lib/query/createTableColumnsFromQuery'; -import { cloneDeep, get, isEmpty, set } from 'lodash-es'; +import { cloneDeep, get, isEmpty } from 'lodash-es'; import { memo, ReactNode, useCallback, useEffect, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { eventEmitter } from 'utils/getEventEmitter'; @@ -38,15 +38,13 @@ function GridTableComponent({ const createDataInCorrectFormat = useCallback( (dataSource: RowData[]): RowData[] => dataSource.map((d) => { - const finalObject = {}; + const finalObject: Record = {}; // we use the order of the columns here to have similar download as the user view + // the [] access for the object is used because the titles can contain dot(.) as well columns.forEach((k) => { - set( - finalObject, - get(k, 'title', '') as string, - get(d, get(k, 'dataIndex', ''), 'n/a'), - ); + finalObject[`${get(k, 'title', '')}`] = + d[`${get(k, 'dataIndex', '')}`] || 'n/a'; }); return finalObject as RowData; }), @@ -86,6 +84,7 @@ function GridTableComponent({ applyColumnUnits, originalDataSource, ]); + useEffect(() => { if (tableProcessedDataRef) { // eslint-disable-next-line no-param-reassign