From 7e297dcb75c1d975455bc68759245a36fc779242 Mon Sep 17 00:00:00 2001 From: Yevhen Shevchenko <90138953+yeshev@users.noreply.github.com> Date: Tue, 29 Aug 2023 17:09:40 +0300 Subject: [PATCH] feat: use prefetched query in live (#3450) * feat: create live logs page and custom top nav * feat: add live logs where clause * fix: success button color * fix: turn back color * fix: undefined scenario * feat: get live data * fix: change color, change number format * feat: add live logs list * feat: hide view if error, clear logs * feat: add condition for disable initial loading * fix: double request * fix: render id in the where clause * fix: render where clause and live list * fix: last log padding * fix: list data loading * fix: no logs text * fix: logs list size * fix: small issues * feat: use prefetched query in live * chore: useMemo is updated * feat: add live logs list (#3341) * feat: add live logs list * feat: hide view if error, clear logs * feat: add condition for disable initial loading * fix: double request * fix: render id in the where clause * fix: render where clause and live list * fix: last log padding * fix: list data loading * fix: no logs text * fix: logs list size * fix: small issues * fix: render view with memo --------- Co-authored-by: Palash Gupta * chore: alignment is updated * fix: action column size --------- Co-authored-by: Palash Gupta --- .../container/LiveLogs/BackButton/index.tsx | 36 +++++-- .../LiveLogs/LiveLogsContainer/index.tsx | 98 +++++++++++++------ .../container/LiveLogs/LiveLogsList/index.tsx | 4 +- .../LiveLogs/LiveLogsListChart/index.tsx | 18 ++-- .../LiveLogs/LiveLogsListChart/types.ts | 3 + frontend/src/container/LiveLogs/constants.ts | 49 +++++++--- frontend/src/container/LiveLogs/types.ts | 6 ++ .../src/container/LiveLogsTopNav/types.ts | 5 - frontend/src/container/LocalTopNav/index.tsx | 2 +- .../container/LogDetailedView/TableView.tsx | 2 +- frontend/src/container/LogsTopNav/index.tsx | 62 ++++++++++-- .../hooks/queryBuilder/useShareBuilderUrl.ts | 9 +- 12 files changed, 207 insertions(+), 87 deletions(-) create mode 100644 frontend/src/container/LiveLogs/types.ts delete mode 100644 frontend/src/container/LiveLogsTopNav/types.ts diff --git a/frontend/src/container/LiveLogs/BackButton/index.tsx b/frontend/src/container/LiveLogs/BackButton/index.tsx index 574ba0d637..8386a0208d 100644 --- a/frontend/src/container/LiveLogs/BackButton/index.tsx +++ b/frontend/src/container/LiveLogs/BackButton/index.tsx @@ -1,29 +1,49 @@ import { ArrowLeftOutlined } from '@ant-design/icons'; import { Button } from 'antd'; -import { initialQueriesMap } from 'constants/queryBuilder'; +import { + initialQueryBuilderFormValuesMap, + PANEL_TYPES, +} from 'constants/queryBuilder'; +import { queryParamNamesMap } from 'constants/queryBuilderQueryNames'; import ROUTES from 'constants/routes'; +import { useGetCompositeQueryParam } from 'hooks/queryBuilder/useGetCompositeQueryParam'; import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder'; import { useCallback } from 'react'; import { useHistory } from 'react-router-dom'; +import { DataSource } from 'types/common/queryBuilder'; + +import { constructCompositeQuery } from '../constants'; function BackButton(): JSX.Element { const history = useHistory(); - const { resetQuery } = useQueryBuilder(); + const { updateAllQueriesOperators, resetQuery } = useQueryBuilder(); + + const compositeQuery = useGetCompositeQueryParam(); const handleBack = useCallback(() => { - const compositeQuery = initialQueriesMap.logs; + if (!compositeQuery) return; - const JSONCompositeQuery = encodeURIComponent(JSON.stringify(compositeQuery)); + const nextCompositeQuery = constructCompositeQuery({ + query: compositeQuery, + initialQueryData: initialQueryBuilderFormValuesMap.logs, + customQueryData: { disabled: false }, + }); - const path = `${ROUTES.LOGS_EXPLORER}?${JSONCompositeQuery}`; + const updatedQuery = updateAllQueriesOperators( + nextCompositeQuery, + PANEL_TYPES.LIST, + DataSource.LOGS, + ); - const { queryType, ...queryState } = initialQueriesMap.logs; + resetQuery(updatedQuery); - resetQuery(queryState); + const JSONCompositeQuery = encodeURIComponent(JSON.stringify(updatedQuery)); + + const path = `${ROUTES.LOGS_EXPLORER}?${queryParamNamesMap.compositeQuery}=${JSONCompositeQuery}`; history.push(path); - }, [history, resetQuery]); + }, [history, compositeQuery, resetQuery, updateAllQueriesOperators]); return (