Skip to content

Commit 643fcfc

Browse files
Action menu moved to separate file
1 parent 92ca0e4 commit 643fcfc

File tree

3 files changed

+32
-31
lines changed

3 files changed

+32
-31
lines changed

src/components/ControlPlane/ManagedResources.tsx

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,24 @@ import {
33
AnalyticalTable,
44
AnalyticalTableColumnDefinition,
55
AnalyticalTableScaleWidthMode,
6-
Button,
76
Title,
8-
Menu,
9-
MenuItem,
10-
MenuDomRef,
117
} from '@ui5/webcomponents-react';
128
import { useApiResource, useCRDItemsMapping } from '../../lib/api/useApiResource';
139
import { ManagedResourcesRequest } from '../../lib/api/types/crossplane/listManagedResources';
1410
import { formatDateAsTimeAgo } from '../../utils/i18n/timeAgo';
1511
import IllustratedError from '../Shared/IllustratedError';
16-
import '@ui5/webcomponents-icons/dist/sys-enter-2';
17-
import '@ui5/webcomponents-icons/dist/sys-cancel-2';
1812
import { resourcesInterval } from '../../lib/shared/constants';
1913

2014
import { YamlViewButton } from '../Yaml/YamlViewButton.tsx';
21-
import { FC, useMemo, useRef, useState } from 'react';
15+
import { useMemo, useState } from 'react';
2216
import StatusFilter from '../Shared/StatusFilter/StatusFilter.tsx';
2317
import { ResourceStatusCell } from '../Shared/ResourceStatusCell.tsx';
2418
import { ManagedResourceItem } from '../../lib/shared/types.ts';
2519
import { ManagedResourceDeleteDialog } from '../Dialogs/ManagedResourceDeleteDialog.tsx';
20+
import { RowActionsMenu } from './ManagedResourcesActionMenu.tsx';
2621

2722
const getItemKey = (item: ManagedResourceItem): string => `${item.kind}-${item.metadata.name}`;
2823

29-
const RowActionsMenu: FC<{
30-
item: ManagedResourceItem;
31-
onOpen: (item: ManagedResourceItem) => void;
32-
isDeleting: boolean;
33-
}> = ({ item, onOpen, isDeleting }) => {
34-
const { t } = useTranslation();
35-
const popoverRef = useRef<MenuDomRef>(null);
36-
37-
return (
38-
<>
39-
<Button icon="overflow" icon-end disabled={isDeleting} onClick={() => onOpen(item)} />
40-
<Menu
41-
ref={popoverRef}
42-
onItemClick={() => {
43-
onOpen(item);
44-
}}
45-
>
46-
<MenuItem text={t('ManagedResources.deleteAction')} icon="delete" />
47-
</Menu>
48-
</>
49-
);
50-
};
51-
5224
interface CellData<T> {
5325
cell: {
5426
value: T | null; // null for grouping rows
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { FC, useRef } from 'react';
2+
import { Button, Menu, MenuItem, MenuDomRef } from '@ui5/webcomponents-react';
3+
import { useTranslation } from 'react-i18next';
4+
import { ManagedResourceItem } from '../../lib/shared/types';
5+
6+
interface RowActionsMenuProps {
7+
item: ManagedResourceItem;
8+
onOpen: (item: ManagedResourceItem) => void;
9+
isDeleting: boolean;
10+
}
11+
12+
export const RowActionsMenu: FC<RowActionsMenuProps> = ({ item, onOpen, isDeleting }) => {
13+
const { t } = useTranslation();
14+
const popoverRef = useRef<MenuDomRef>(null);
15+
16+
return (
17+
<>
18+
<Button icon="overflow" icon-end disabled={isDeleting} onClick={() => onOpen(item)} />
19+
<Menu
20+
ref={popoverRef}
21+
onItemClick={() => {
22+
onOpen(item);
23+
}}
24+
>
25+
<MenuItem text={t('ManagedResources.deleteAction')} icon="delete" />
26+
</Menu>
27+
</>
28+
);
29+
};

src/components/Dialogs/ManagedResourceDeleteDialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export const ManagedResourceDeleteDialog: FC<Props> = ({ kindMapping, open, onCl
8888
if (force) {
8989
await patchTrigger({ data: { force } });
9090
}
91-
} catch (error) {
91+
} catch (_) {
9292
// Ignore errors - item can be deleted before patch and it's ok.
9393
}
9494

0 commit comments

Comments
 (0)