Skip to content

Commit e1acac6

Browse files
committed
fix: use toaster
1 parent 27d4d7b commit e1acac6

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/QueryInfoDropdown.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import {Ellipsis} from '@gravity-ui/icons';
22
import type {ButtonProps} from '@gravity-ui/uikit';
3-
import {Button, DropdownMenu, Tooltip} from '@gravity-ui/uikit';
4-
5-
import i18n from '../../i18n';
3+
import {Button, DropdownMenu} from '@gravity-ui/uikit';
64

75
import type {QueryResultsInfo} from './useQueryInfoMenuItems';
86
import {useQueryInfoMenuItems} from './useQueryInfoMenuItems';
@@ -20,21 +18,19 @@ export function QueryInfoDropdown({
2018
database,
2119
hasPlanToSvg,
2220
}: QueryInfoDropdownProps) {
23-
const {error, isLoading, items} = useQueryInfoMenuItems({
21+
const {isLoading, items} = useQueryInfoMenuItems({
2422
queryResultsInfo,
2523
database,
2624
hasPlanToSvg,
2725
});
2826

2927
const renderSwitcher = (props: ButtonProps) => {
3028
return (
31-
<Tooltip content={error ? i18n('text_error-plan-svg', {error}) : i18n('text_plan-svg')}>
32-
<Button view="flat-secondary" loading={isLoading} disabled={isLoading} {...props}>
33-
<Button.Icon>
34-
<Ellipsis />
35-
</Button.Icon>
36-
</Button>
37-
</Tooltip>
29+
<Button view="flat-secondary" loading={isLoading} disabled={isLoading} {...props}>
30+
<Button.Icon>
31+
<Ellipsis />
32+
</Button.Icon>
33+
</Button>
3834
);
3935
};
4036

src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {Text} from '@gravity-ui/uikit';
77
import {planToSvgApi} from '../../../../../../store/reducers/planToSvg';
88
import type {QueryPlan, ScriptPlan, TKqpStatsQuery} from '../../../../../../types/api/query';
99
import {cn} from '../../../../../../utils/cn';
10+
import createToast from '../../../../../../utils/createToast';
1011
import {prepareCommonErrorMessage} from '../../../../../../utils/errors';
1112
import i18n from '../../i18n';
1213
const b = cn('query-info-dropdown');
@@ -45,7 +46,6 @@ export function useQueryInfoMenuItems({
4546
database,
4647
hasPlanToSvg,
4748
}: UseQueryInfoMenuItemsProps) {
48-
const [error, setError] = React.useState<string | null>(null);
4949
const [blobUrl, setBlobUrl] = React.useState<string | null>(null);
5050
const [getPlanToSvg, {isLoading}] = planToSvgApi.useLazyPlanToSvgQueryQuery();
5151

@@ -73,11 +73,15 @@ export function useQueryInfoMenuItems({
7373
const blob = new Blob([result], {type: 'image/svg+xml'});
7474
const url = URL.createObjectURL(blob);
7575
setBlobUrl(url);
76-
setError(null);
7776
return url;
7877
})
7978
.catch((err) => {
80-
setError(prepareCommonErrorMessage(err));
79+
const errorMessage = prepareCommonErrorMessage(err);
80+
createToast({
81+
title: i18n('text_error-plan-svg', {error: errorMessage}),
82+
name: 'plan-svg-error',
83+
type: 'error',
84+
});
8185
return null;
8286
});
8387
};

0 commit comments

Comments
 (0)