feat: duplicate node #918 (#1136)

### What problem does this PR solve?
feat: duplicate node #918


### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2024-06-13 09:09:34 +08:00
committed by GitHub
parent 3b7b6240c3
commit 64c83f300a
6 changed files with 79 additions and 27 deletions

View File

@ -3,18 +3,20 @@ import { DeleteOutlined, MoreOutlined } from '@ant-design/icons';
import { Dropdown, MenuProps, Space } from 'antd';
import { useTranslation } from 'react-i18next';
import React from 'react';
import React, { useMemo } from 'react';
import styles from './index.less';
interface IProps {
deleteItem: () => Promise<any> | void;
iconFontSize?: number;
items?: MenuProps['items'];
}
const OperateDropdown = ({
deleteItem,
children,
iconFontSize = 30,
items: otherItems = [],
}: React.PropsWithChildren<IProps>) => {
const { t } = useTranslation();
const showDeleteConfirm = useShowDeleteConfirm();
@ -31,17 +33,20 @@ const OperateDropdown = ({
}
};
const items: MenuProps['items'] = [
{
key: '1',
label: (
<Space>
{t('common.delete')}
<DeleteOutlined />
</Space>
),
},
];
const items: MenuProps['items'] = useMemo(() => {
return [
{
key: '1',
label: (
<Space>
{t('common.delete')}
<DeleteOutlined />
</Space>
),
},
...otherItems,
];
}, [t, otherItems]);
return (
<Dropdown