import { ExclamationCircleOutlined } from '@ant-design/icons';
import { Modal } from 'antd';
import { REACT_QUERY_KEY } from 'constants/reactQueryKeys';
import { useDeleteDashboard } from 'hooks/dashboard/useDeleteDashboard';
import { useCallback } from 'react';
import { useQueryClient } from 'react-query';
import { Data } from '../index';
import { TableLinkText } from './styles';
function DeleteButton({ id }: Data): JSX.Element {
const [modal, contextHolder] = Modal.useModal();
const queryClient = useQueryClient();
const deleteDashboardMutation = useDeleteDashboard(id);
const openConfirmationDialog = useCallback((): void => {
modal.confirm({
title: 'Do you really want to delete this dashboard?',
icon: ,
onOk() {
deleteDashboardMutation.mutateAsync(undefined, {
onSuccess: () => {
queryClient.invalidateQueries([REACT_QUERY_KEY.GET_ALL_DASHBOARDS]);
},
});
},
okText: 'Delete',
okButtonProps: { danger: true },
centered: true,
});
}, [modal, deleteDashboardMutation, queryClient]);
return (
<>
Delete
{contextHolder}
>
);
}
// This is to avoid the type collision
function Wrapper(props: Data): JSX.Element {
const {
createdAt,
description,
id,
key,
lastUpdatedTime,
name,
tags,
createdBy,
lastUpdatedBy,
} = props;
return (
);
}
export default Wrapper;