import { Button, Dialog, DialogActions, DialogContent, DialogTitle } from "@material-ui/core"; import { Alert, AlertTitle } from "@material-ui/lab"; import React from "react"; import { FormattedMessage } from "react-intl"; import { useMutation, useQueryClient } from "react-query"; import { useSelector } from "react-redux"; import { Service } from "../../../services/Service"; import { activeInstance } from '../../../reducers/serviceSlice'; import { DialogProps, fetchMapById, handleOnMutationSuccess } from "./DialogCommon"; const DeleteDialog = (props: DialogProps) => { const service: Service = useSelector(activeInstance); const queryClient = useQueryClient(); const mutation = useMutation((id: number) => service.deleteMap(id), { onSuccess: () => handleOnMutationSuccess(props.onClose, queryClient) } ); const mapId = props.mapId; const handleOnClose = (action: 'accept' | undefined): void => { if (action == 'accept') { mutation.mutate(mapId); } else { props.onClose(); } }; // Fetch map model to be rendered ... const { map } = fetchMapById(mapId); return (