Skip to content
Snippets Groups Projects

CE-3438: Add error and loading states IOCDelete

Merged Max Frederiksen requested to merge CE-3438-error-handling-delete-page into develop
1 file
+ 20
12
Compare changes
  • Side-by-side
  • Inline
@@ -11,8 +11,7 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
@@ -11,8 +11,7 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
const navigate = useNavigate();
const navigate = useNavigate();
const showSnackBar = useCustomSnackbar();
const showSnackBar = useCustomSnackbar();
const [open, setOpen] = useState(false);
const [open, setOpen] = useState(false);
const [deleteIOC, { data: deletedIoc, isLoading, error, reset }] =
const [deleteIOC, { isLoading, error, reset }] = useDeleteIocMutation();
useDeleteIocMutation();
let disabledButtonTitle = "";
let disabledButtonTitle = "";
@@ -22,15 +21,9 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
@@ -22,15 +21,9 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
}
}
const onClose = useCallback(() => {
const onClose = useCallback(() => {
 
reset();
setOpen(false);
setOpen(false);
}, [setOpen]);
}, [setOpen, reset]);
useEffect(() => {
if (deletedIoc) {
showSnackBar(`IOC ${ioc.namingName} deleted`, "success");
navigate("/iocs", { replace: true });
}
}, [deletedIoc, ioc.namingName, navigate, showSnackBar]);
useEffect(() => {
useEffect(() => {
if (error) {
if (error) {
@@ -41,8 +34,23 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
@@ -41,8 +34,23 @@ export const IOCDelete = ({ ioc, buttonDisabled, setButtonDisabled }) => {
const onConfirm = useCallback(async () => {
const onConfirm = useCallback(async () => {
reset();
reset();
setButtonDisabled(true);
setButtonDisabled(true);
deleteIOC({ iocId: ioc.id });
try {
}, [ioc, deleteIOC, setButtonDisabled, reset]);
await deleteIOC({ iocId: ioc.id }).unwrap();
 
showSnackBar(`IOC ${ioc.namingName} deleted`, "success");
 
navigate("/iocs", { replace: true });
 
} catch (err) {
 
showSnackBar(getErrorMessage(err), "error");
 
setButtonDisabled(false);
 
}
 
}, [
 
reset,
 
setButtonDisabled,
 
deleteIOC,
 
ioc.id,
 
ioc.namingName,
 
showSnackBar,
 
navigate
 
]);
return (
return (
<>
<>
Loading