https://dev.kronoz.win/r/marzneshin.git
| 1 |
bedeeff |
Mardin |
2y ago |
import { |
| 2 |
bedeeff |
Mardin |
2y ago |
useToast, |
| 3 |
bedeeff |
Mardin |
2y ago |
} from '@chakra-ui/react'; |
| 4 |
89f8f93 |
Mardin |
2y ago |
import { useNodes } from 'stores'; |
| 5 |
bedeeff |
Mardin |
2y ago |
import { FC, useState } from 'react'; |
| 6 |
bedeeff |
Mardin |
2y ago |
import { useTranslation } from 'react-i18next'; |
| 7 |
bedeeff |
Mardin |
2y ago |
import { DeleteModal } from 'components/delete-modal'; |
| 8 |
bedeeff |
Mardin |
2y ago |
|
| 9 |
bedeeff |
Mardin |
2y ago |
export const DeleteNodeModal: FC = () => { |
| 10 |
bedeeff |
Mardin |
2y ago |
const { deleteNode, refetchNodes, deletingNode, onDeletingNode } = useNodes(); |
| 11 |
bedeeff |
Mardin |
2y ago |
const { t } = useTranslation(); |
| 12 |
bedeeff |
Mardin |
2y ago |
const toast = useToast(); |
| 13 |
bedeeff |
Mardin |
2y ago |
const [loading, setLoading] = useState(false); |
| 14 |
bedeeff |
Mardin |
2y ago |
const onClose = () => { |
| 15 |
bedeeff |
Mardin |
2y ago |
onDeletingNode(undefined); |
| 16 |
bedeeff |
Mardin |
2y ago |
}; |
| 17 |
bedeeff |
Mardin |
2y ago |
|
| 18 |
bedeeff |
Mardin |
2y ago |
const onDelete = () => { |
| 19 |
bedeeff |
Mardin |
2y ago |
if (deletingNode) { |
| 20 |
bedeeff |
Mardin |
2y ago |
setLoading(true); |
| 21 |
bedeeff |
Mardin |
2y ago |
deleteNode(deletingNode) |
| 22 |
bedeeff |
Mardin |
2y ago |
.then(() => { |
| 23 |
bedeeff |
Mardin |
2y ago |
refetchNodes(); |
| 24 |
bedeeff |
Mardin |
2y ago |
toast({ |
| 25 |
bedeeff |
Mardin |
2y ago |
title: t('deleteNode.deleteSuccess', { name: deletingNode.name }), |
| 26 |
bedeeff |
Mardin |
2y ago |
status: 'success', |
| 27 |
bedeeff |
Mardin |
2y ago |
isClosable: true, |
| 28 |
bedeeff |
Mardin |
2y ago |
position: 'top', |
| 29 |
bedeeff |
Mardin |
2y ago |
duration: 3000, |
| 30 |
bedeeff |
Mardin |
2y ago |
}); |
| 31 |
bedeeff |
Mardin |
2y ago |
}) |
| 32 |
bedeeff |
Mardin |
2y ago |
.then(onClose) |
| 33 |
bedeeff |
Mardin |
2y ago |
.finally(setLoading.bind(null, false)); |
| 34 |
bedeeff |
Mardin |
2y ago |
} |
| 35 |
bedeeff |
Mardin |
2y ago |
}; |
| 36 |
bedeeff |
Mardin |
2y ago |
|
| 37 |
bedeeff |
Mardin |
2y ago |
return ( |
| 38 |
bedeeff |
Mardin |
2y ago |
<DeleteModal |
| 39 |
bedeeff |
Mardin |
2y ago |
onDelete={onDelete} |
| 40 |
bedeeff |
Mardin |
2y ago |
loading={loading} |
| 41 |
bedeeff |
Mardin |
2y ago |
isOpen={!!deletingNode} |
| 42 |
bedeeff |
Mardin |
2y ago |
onClose={onClose} |
| 43 |
bedeeff |
Mardin |
2y ago |
deletingObjectName={deletingNode?.name} |
| 44 |
bedeeff |
Mardin |
2y ago |
deleteObjectTitleT={'deleteNode.title'} |
| 45 |
bedeeff |
Mardin |
2y ago |
deleteObjectPromptT={'deleteNode.prompt'} |
| 46 |
bedeeff |
Mardin |
2y ago |
/> |
| 47 |
bedeeff |
Mardin |
2y ago |
); |
| 48 |
bedeeff |
Mardin |
2y ago |
}; |