Simplify DeviceRemoveButton

Change-Id: I23dcb327d2612db7fc132889d623b709dce34f06
This commit is contained in:
Manuel Stahl 2024-02-07 16:03:51 +01:00
parent 9d26a1ce3a
commit abc677dc16

View file

@ -1,29 +1,21 @@
import React, { useState } from "react"; import React from "react";
import { import {
Button, DeleteButton,
useDelete, useDelete,
useNotify, useNotify,
Confirm,
useRecordContext, useRecordContext,
useRefresh, useRefresh,
} from "react-admin"; } from "react-admin";
import ActionDelete from "@mui/icons-material/Delete";
import { alpha, useTheme } from "@mui/material/styles";
export const DeviceRemoveButton = props => { export const DeviceRemoveButton = props => {
const theme = useTheme();
const record = useRecordContext(); const record = useRecordContext();
const [open, setOpen] = useState(false);
const refresh = useRefresh(); const refresh = useRefresh();
const notify = useNotify(); const notify = useNotify();
const [removeDevice, { isLoading }] = useDelete(); const [removeDevice] = useDelete();
if (!record) return null; if (!record) return null;
const handleClick = () => setOpen(true);
const handleDialogClose = () => setOpen(false);
const handleConfirm = () => { const handleConfirm = () => {
removeDevice( removeDevice(
"devices", "devices",
@ -39,40 +31,21 @@ export const DeviceRemoveButton = props => {
}, },
} }
); );
setOpen(false);
}; };
return ( return (
<> <DeleteButton
<Button
{...props} {...props}
label="ra.action.remove" label="ra.action.remove"
onClick={handleClick} confirmTitle="resources.devices.action.erase.title"
sx={{ confirmContent="resources.devices.action.erase.content"
color: theme.palette.error.main,
"&:hover": {
backgroundColor: alpha(theme.palette.error.main, 0.12),
// Reset on mouse devices
"@media (hover: none)": {
backgroundColor: "transparent",
},
},
}}
>
<ActionDelete />
</Button>
<Confirm
isOpen={open}
loading={isLoading}
onConfirm={handleConfirm} onConfirm={handleConfirm}
onClose={handleDialogClose} mutationMode="pessimistic"
title="resources.devices.action.erase.title" redirect={false}
content="resources.devices.action.erase.content"
translateOptions={{ translateOptions={{
id: record.id, id: record.id,
name: record.display_name ? record.display_name : record.id, name: record.display_name ? record.display_name : record.id,
}} }}
/> />
</>
); );
}; };