fix: trace explorer and logs explorer export to dashboard is handled (#4001)

Co-authored-by: Yunus M <myounis.ar@live.com>
This commit is contained in:
Palash Gupta 2023-11-21 00:52:53 +05:30 committed by GitHub
parent c4536f9069
commit f4ecfb510a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 5 deletions

View File

@ -41,6 +41,7 @@ import {
import { DataSource, LogsAggregatorOperator } from 'types/common/queryBuilder';
import { GlobalReducer } from 'types/reducer/globalTime';
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
import { v4 } from 'uuid';
import { ActionsWrapper } from './LogsExplorerViews.styled';
@ -268,9 +269,12 @@ function LogsExplorerViews(): JSX.Element {
? panelType
: PANEL_TYPES.TIME_SERIES;
const widgetId = v4();
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
dashboard,
exportDefaultQuery,
widgetId,
panelTypeParam,
);
@ -304,6 +308,7 @@ function LogsExplorerViews(): JSX.Element {
query: exportDefaultQuery,
panelType: panelTypeParam,
dashboardId: data.payload?.uuid || '',
widgetId,
});
history.push(dashboardEditView);

View File

@ -5,6 +5,7 @@ import { Query } from 'types/api/queryBuilder/queryBuilderData';
export const addEmptyWidgetInDashboardJSONWithQuery = (
dashboard: Dashboard,
query: Query,
widgetId: string,
panelTypes?: PANEL_TYPES,
): Dashboard => ({
...dashboard,
@ -12,7 +13,7 @@ export const addEmptyWidgetInDashboardJSONWithQuery = (
...dashboard.data,
layout: [
{
i: 'empty',
i: widgetId,
w: 6,
x: 0,
h: 3,
@ -23,7 +24,7 @@ export const addEmptyWidgetInDashboardJSONWithQuery = (
widgets: [
...(dashboard?.data?.widgets || []),
{
id: 'empty',
id: widgetId,
query,
description: '',
isStacked: false,

View File

@ -19,6 +19,7 @@ import { ErrorBoundary } from 'react-error-boundary';
import { Dashboard } from 'types/api/dashboard/getAll';
import { DataSource } from 'types/common/queryBuilder';
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
import { v4 } from 'uuid';
import { ActionsWrapper, Container } from './styles';
import { getTabsItems } from './utils';
@ -99,9 +100,12 @@ function TracesExplorer(): JSX.Element {
? panelType
: PANEL_TYPES.TIME_SERIES;
const widgetId = v4();
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
dashboard,
exportDefaultQuery,
widgetId,
panelTypeParam,
);
@ -134,6 +138,7 @@ function TracesExplorer(): JSX.Element {
query: exportDefaultQuery,
panelType: panelTypeParam,
dashboardId: data.payload?.uuid || '',
widgetId,
});
history.push(dashboardEditView);

View File

@ -8,15 +8,19 @@ type GenerateExportToDashboardLinkParams = {
dashboardId: string;
panelType: PANEL_TYPES;
query: Query;
widgetId: string;
};
export const generateExportToDashboardLink = ({
query,
dashboardId,
panelType,
widgetId,
}: GenerateExportToDashboardLinkParams): string =>
`${generatePath(ROUTES.DASHBOARD, {
dashboardId,
})}/new?${QueryParams.graphType}=${panelType}&${QueryParams.widgetId}=empty&${
QueryParams.compositeQuery
}=${encodeURIComponent(JSON.stringify(query))}`;
})}/new?${QueryParams.graphType}=${panelType}&${
QueryParams.widgetId
}=${widgetId}&${QueryParams.compositeQuery}=${encodeURIComponent(
JSON.stringify(query),
)}`;