Explore: Add explore2Dashboard feature toggle (#47395)

This commit is contained in:
Giordano Ricci 2022-04-07 09:26:01 +01:00 committed by GitHub
parent 25235b3167
commit ca286a238d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 4 deletions

View File

@ -52,4 +52,5 @@ export interface FeatureToggles {
alertProvisioning?: boolean;
storageLocalUpload?: boolean;
azureMonitorResourcePickerForMetrics?: boolean;
explore2Dashboard?: boolean;
}

View File

@ -201,5 +201,11 @@ var (
RequiresDevMode: true,
FrontendOnly: true,
},
{
Name: "explore2Dashboard",
Description: "Experimental Explore to Dashboard workflow",
State: FeatureStateBeta,
FrontendOnly: true,
},
}
)

View File

@ -150,4 +150,8 @@ const (
// FlagAzureMonitorResourcePickerForMetrics
// New UI for Azure Monitor Metrics Query
FlagAzureMonitorResourcePickerForMetrics = "azureMonitorResourcePickerForMetrics"
// FlagExplore2Dashboard
// Experimental Explore to Dashboard workflow
FlagExplore2Dashboard = "explore2Dashboard"
)

View File

@ -1,9 +1,9 @@
import React, { PureComponent, RefObject } from 'react';
import React, { lazy, PureComponent, RefObject, Suspense } from 'react';
import { connect, ConnectedProps } from 'react-redux';
import { ExploreId } from 'app/types/explore';
import { PageToolbar, SetInterval, ToolbarButton, ToolbarButtonRow } from '@grafana/ui';
import { DataSourceInstanceSettings, RawTimeRange } from '@grafana/data';
import { DataSourcePicker } from '@grafana/runtime';
import { config, DataSourcePicker } from '@grafana/runtime';
import { StoreState } from 'app/types/store';
import { createAndCopyShortLink } from 'app/core/utils/shortLinks';
import { changeDatasource } from './state/datasource';
@ -18,7 +18,10 @@ import { LiveTailControls } from './useLiveTailControls';
import { cancelQueries, runQueries } from './state/query';
import { isSplit } from './state/selectors';
import { DashNavButton } from '../dashboard/components/DashNav/DashNavButton';
import { AddToDashboard } from './AddToDashboard';
const AddToDashboard = lazy(() =>
import('./AddToDashboard').then(({ AddToDashboard }) => ({ default: AddToDashboard }))
);
interface OwnProps {
exploreId: ExploreId;
@ -116,7 +119,11 @@ class UnConnectedExploreToolbar extends PureComponent<Props> {
</ToolbarButton>
)}
<AddToDashboard exploreId={exploreId} />
{config.featureToggles.explore2Dashboard && (
<Suspense fallback={null}>
<AddToDashboard exploreId={exploreId} />
</Suspense>
)}
{!isLive && (
<ExploreTimeControls