mirror of https://github.com/grafana/grafana.git
Routing: Replace useHistory hook (#94061)
* Update ConfigureIRM * Update Browse
This commit is contained in:
parent
8de1047f65
commit
a20ebbc8f8
|
|
@ -1,6 +1,6 @@
|
||||||
import { css } from '@emotion/css';
|
import { css } from '@emotion/css';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom-v5-compat';
|
||||||
|
|
||||||
import { GrafanaTheme2 } from '@grafana/data';
|
import { GrafanaTheme2 } from '@grafana/data';
|
||||||
import { IconName, Text, useStyles2 } from '@grafana/ui';
|
import { IconName, Text, useStyles2 } from '@grafana/ui';
|
||||||
|
|
@ -13,6 +13,7 @@ import { useGetConfigurationForUI, useGetEssentialsConfiguration } from '../irmH
|
||||||
|
|
||||||
import { ConfigCard } from './ConfigCard';
|
import { ConfigCard } from './ConfigCard';
|
||||||
import { Essentials } from './Essentials';
|
import { Essentials } from './Essentials';
|
||||||
|
|
||||||
export interface IrmCardConfiguration {
|
export interface IrmCardConfiguration {
|
||||||
id: number;
|
id: number;
|
||||||
title: string;
|
title: string;
|
||||||
|
|
@ -40,7 +41,7 @@ function useGetDataSourceConfiguration(): DataSourceConfigurationData {
|
||||||
|
|
||||||
export function ConfigureIRM() {
|
export function ConfigureIRM() {
|
||||||
const styles = useStyles2(getStyles);
|
const styles = useStyles2(getStyles);
|
||||||
const history = useHistory();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
// get all the configuration data
|
// get all the configuration data
|
||||||
const dataSourceConfigurationData = useGetDataSourceConfiguration();
|
const dataSourceConfigurationData = useGetDataSourceConfiguration();
|
||||||
|
|
@ -72,9 +73,9 @@ export function ConfigureIRM() {
|
||||||
switch (configID) {
|
switch (configID) {
|
||||||
case ConfigurationStepsEnum.CONNECT_DATASOURCE:
|
case ConfigurationStepsEnum.CONNECT_DATASOURCE:
|
||||||
if (isDone) {
|
if (isDone) {
|
||||||
history.push(DATASOURCES_ROUTES.List);
|
navigate(DATASOURCES_ROUTES.List);
|
||||||
} else {
|
} else {
|
||||||
history.push(DATASOURCES_ROUTES.New);
|
navigate(DATASOURCES_ROUTES.New);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ConfigurationStepsEnum.ESSENTIALS:
|
case ConfigurationStepsEnum.ESSENTIALS:
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,11 @@ import { TestProvider } from 'test/helpers/TestProvider';
|
||||||
|
|
||||||
import { PluginType, escapeStringForRegex } from '@grafana/data';
|
import { PluginType, escapeStringForRegex } from '@grafana/data';
|
||||||
import { locationService } from '@grafana/runtime';
|
import { locationService } from '@grafana/runtime';
|
||||||
import { getRouteComponentProps } from 'app/core/navigation/__mocks__/routeProps';
|
|
||||||
import { RouteDescriptor } from 'app/core/navigation/types';
|
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
|
|
||||||
import { getCatalogPluginMock, getPluginsStateMock } from '../__mocks__';
|
import { getCatalogPluginMock, getPluginsStateMock } from '../__mocks__';
|
||||||
import { fetchRemotePlugins } from '../state/actions';
|
import { fetchRemotePlugins } from '../state/actions';
|
||||||
import { PluginAdminRoutes, CatalogPlugin, ReducerState, RequestStatus } from '../types';
|
import { CatalogPlugin, ReducerState, RequestStatus } from '../types';
|
||||||
|
|
||||||
import BrowsePage from './Browse';
|
import BrowsePage from './Browse';
|
||||||
|
|
||||||
|
|
@ -30,13 +28,10 @@ const renderBrowse = (
|
||||||
): RenderResult => {
|
): RenderResult => {
|
||||||
const store = configureStore({ plugins: pluginsStateOverride || getPluginsStateMock(plugins) });
|
const store = configureStore({ plugins: pluginsStateOverride || getPluginsStateMock(plugins) });
|
||||||
locationService.push(path);
|
locationService.push(path);
|
||||||
const props = getRouteComponentProps({
|
|
||||||
route: { routeName: PluginAdminRoutes.Home } as RouteDescriptor,
|
|
||||||
});
|
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
<TestProvider store={store}>
|
<TestProvider store={store}>
|
||||||
<BrowsePage {...props} />
|
<BrowsePage />
|
||||||
</TestProvider>
|
</TestProvider>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { css } from '@emotion/css';
|
import { css } from '@emotion/css';
|
||||||
import { ReactElement, useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { useLocation } from 'react-router-dom-v5-compat';
|
import { useLocation } from 'react-router-dom-v5-compat';
|
||||||
|
|
||||||
import { SelectableValue, GrafanaTheme2, PluginType } from '@grafana/data';
|
import { SelectableValue, GrafanaTheme2, PluginType } from '@grafana/data';
|
||||||
|
|
@ -7,7 +7,6 @@ import { locationSearchToObject } from '@grafana/runtime';
|
||||||
import { Select, RadioButtonGroup, useStyles2, Tooltip, Field, Button } from '@grafana/ui';
|
import { Select, RadioButtonGroup, useStyles2, Tooltip, Field, Button } from '@grafana/ui';
|
||||||
import { Page } from 'app/core/components/Page/Page';
|
import { Page } from 'app/core/components/Page/Page';
|
||||||
import { Trans } from 'app/core/internationalization';
|
import { Trans } from 'app/core/internationalization';
|
||||||
import { GrafanaRouteComponentProps } from 'app/core/navigation/types';
|
|
||||||
import { getNavModel } from 'app/core/selectors/navModel';
|
import { getNavModel } from 'app/core/selectors/navModel';
|
||||||
import { ROUTES as CONNECTIONS_ROUTES } from 'app/features/connections/constants';
|
import { ROUTES as CONNECTIONS_ROUTES } from 'app/features/connections/constants';
|
||||||
import { useSelector } from 'app/types';
|
import { useSelector } from 'app/types';
|
||||||
|
|
@ -21,7 +20,7 @@ import { Sorters } from '../helpers';
|
||||||
import { useHistory } from '../hooks/useHistory';
|
import { useHistory } from '../hooks/useHistory';
|
||||||
import { useGetAll, useGetUpdatable, useIsRemotePluginsAvailable } from '../state/hooks';
|
import { useGetAll, useGetUpdatable, useIsRemotePluginsAvailable } from '../state/hooks';
|
||||||
|
|
||||||
export default function Browse({ route }: GrafanaRouteComponentProps): ReactElement | null {
|
export default function Browse() {
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const locationSearch = locationSearchToObject(location.search);
|
const locationSearch = locationSearchToObject(location.search);
|
||||||
const navModel = useSelector((state) => getNavModel(state.navIndex, 'plugins'));
|
const navModel = useSelector((state) => getNavModel(state.navIndex, 'plugins'));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue