mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-12 06:19:03 +08:00
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:
parent
c4536f9069
commit
f4ecfb510a
@ -41,6 +41,7 @@ import {
|
|||||||
import { DataSource, LogsAggregatorOperator } from 'types/common/queryBuilder';
|
import { DataSource, LogsAggregatorOperator } from 'types/common/queryBuilder';
|
||||||
import { GlobalReducer } from 'types/reducer/globalTime';
|
import { GlobalReducer } from 'types/reducer/globalTime';
|
||||||
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
|
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
|
||||||
|
import { v4 } from 'uuid';
|
||||||
|
|
||||||
import { ActionsWrapper } from './LogsExplorerViews.styled';
|
import { ActionsWrapper } from './LogsExplorerViews.styled';
|
||||||
|
|
||||||
@ -268,9 +269,12 @@ function LogsExplorerViews(): JSX.Element {
|
|||||||
? panelType
|
? panelType
|
||||||
: PANEL_TYPES.TIME_SERIES;
|
: PANEL_TYPES.TIME_SERIES;
|
||||||
|
|
||||||
|
const widgetId = v4();
|
||||||
|
|
||||||
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
|
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
|
||||||
dashboard,
|
dashboard,
|
||||||
exportDefaultQuery,
|
exportDefaultQuery,
|
||||||
|
widgetId,
|
||||||
panelTypeParam,
|
panelTypeParam,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -304,6 +308,7 @@ function LogsExplorerViews(): JSX.Element {
|
|||||||
query: exportDefaultQuery,
|
query: exportDefaultQuery,
|
||||||
panelType: panelTypeParam,
|
panelType: panelTypeParam,
|
||||||
dashboardId: data.payload?.uuid || '',
|
dashboardId: data.payload?.uuid || '',
|
||||||
|
widgetId,
|
||||||
});
|
});
|
||||||
|
|
||||||
history.push(dashboardEditView);
|
history.push(dashboardEditView);
|
||||||
|
@ -5,6 +5,7 @@ import { Query } from 'types/api/queryBuilder/queryBuilderData';
|
|||||||
export const addEmptyWidgetInDashboardJSONWithQuery = (
|
export const addEmptyWidgetInDashboardJSONWithQuery = (
|
||||||
dashboard: Dashboard,
|
dashboard: Dashboard,
|
||||||
query: Query,
|
query: Query,
|
||||||
|
widgetId: string,
|
||||||
panelTypes?: PANEL_TYPES,
|
panelTypes?: PANEL_TYPES,
|
||||||
): Dashboard => ({
|
): Dashboard => ({
|
||||||
...dashboard,
|
...dashboard,
|
||||||
@ -12,7 +13,7 @@ export const addEmptyWidgetInDashboardJSONWithQuery = (
|
|||||||
...dashboard.data,
|
...dashboard.data,
|
||||||
layout: [
|
layout: [
|
||||||
{
|
{
|
||||||
i: 'empty',
|
i: widgetId,
|
||||||
w: 6,
|
w: 6,
|
||||||
x: 0,
|
x: 0,
|
||||||
h: 3,
|
h: 3,
|
||||||
@ -23,7 +24,7 @@ export const addEmptyWidgetInDashboardJSONWithQuery = (
|
|||||||
widgets: [
|
widgets: [
|
||||||
...(dashboard?.data?.widgets || []),
|
...(dashboard?.data?.widgets || []),
|
||||||
{
|
{
|
||||||
id: 'empty',
|
id: widgetId,
|
||||||
query,
|
query,
|
||||||
description: '',
|
description: '',
|
||||||
isStacked: false,
|
isStacked: false,
|
||||||
|
@ -19,6 +19,7 @@ import { ErrorBoundary } from 'react-error-boundary';
|
|||||||
import { Dashboard } from 'types/api/dashboard/getAll';
|
import { Dashboard } from 'types/api/dashboard/getAll';
|
||||||
import { DataSource } from 'types/common/queryBuilder';
|
import { DataSource } from 'types/common/queryBuilder';
|
||||||
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
|
import { generateExportToDashboardLink } from 'utils/dashboard/generateExportToDashboardLink';
|
||||||
|
import { v4 } from 'uuid';
|
||||||
|
|
||||||
import { ActionsWrapper, Container } from './styles';
|
import { ActionsWrapper, Container } from './styles';
|
||||||
import { getTabsItems } from './utils';
|
import { getTabsItems } from './utils';
|
||||||
@ -99,9 +100,12 @@ function TracesExplorer(): JSX.Element {
|
|||||||
? panelType
|
? panelType
|
||||||
: PANEL_TYPES.TIME_SERIES;
|
: PANEL_TYPES.TIME_SERIES;
|
||||||
|
|
||||||
|
const widgetId = v4();
|
||||||
|
|
||||||
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
|
const updatedDashboard = addEmptyWidgetInDashboardJSONWithQuery(
|
||||||
dashboard,
|
dashboard,
|
||||||
exportDefaultQuery,
|
exportDefaultQuery,
|
||||||
|
widgetId,
|
||||||
panelTypeParam,
|
panelTypeParam,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -134,6 +138,7 @@ function TracesExplorer(): JSX.Element {
|
|||||||
query: exportDefaultQuery,
|
query: exportDefaultQuery,
|
||||||
panelType: panelTypeParam,
|
panelType: panelTypeParam,
|
||||||
dashboardId: data.payload?.uuid || '',
|
dashboardId: data.payload?.uuid || '',
|
||||||
|
widgetId,
|
||||||
});
|
});
|
||||||
|
|
||||||
history.push(dashboardEditView);
|
history.push(dashboardEditView);
|
||||||
|
@ -8,15 +8,19 @@ type GenerateExportToDashboardLinkParams = {
|
|||||||
dashboardId: string;
|
dashboardId: string;
|
||||||
panelType: PANEL_TYPES;
|
panelType: PANEL_TYPES;
|
||||||
query: Query;
|
query: Query;
|
||||||
|
widgetId: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const generateExportToDashboardLink = ({
|
export const generateExportToDashboardLink = ({
|
||||||
query,
|
query,
|
||||||
dashboardId,
|
dashboardId,
|
||||||
panelType,
|
panelType,
|
||||||
|
widgetId,
|
||||||
}: GenerateExportToDashboardLinkParams): string =>
|
}: GenerateExportToDashboardLinkParams): string =>
|
||||||
`${generatePath(ROUTES.DASHBOARD, {
|
`${generatePath(ROUTES.DASHBOARD, {
|
||||||
dashboardId,
|
dashboardId,
|
||||||
})}/new?${QueryParams.graphType}=${panelType}&${QueryParams.widgetId}=empty&${
|
})}/new?${QueryParams.graphType}=${panelType}&${
|
||||||
QueryParams.compositeQuery
|
QueryParams.widgetId
|
||||||
}=${encodeURIComponent(JSON.stringify(query))}`;
|
}=${widgetId}&${QueryParams.compositeQuery}=${encodeURIComponent(
|
||||||
|
JSON.stringify(query),
|
||||||
|
)}`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user