Simplify DeviceRemoveButton
Change-Id: I23dcb327d2612db7fc132889d623b709dce34f06
This commit is contained in:
parent
9d26a1ce3a
commit
abc677dc16
@ -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"
|
confirmTitle="resources.devices.action.erase.title"
|
||||||
onClick={handleClick}
|
confirmContent="resources.devices.action.erase.content"
|
||||||
sx={{
|
onConfirm={handleConfirm}
|
||||||
color: theme.palette.error.main,
|
mutationMode="pessimistic"
|
||||||
"&:hover": {
|
redirect={false}
|
||||||
backgroundColor: alpha(theme.palette.error.main, 0.12),
|
translateOptions={{
|
||||||
// Reset on mouse devices
|
id: record.id,
|
||||||
"@media (hover: none)": {
|
name: record.display_name ? record.display_name : record.id,
|
||||||
backgroundColor: "transparent",
|
}}
|
||||||
},
|
/>
|
||||||
},
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<ActionDelete />
|
|
||||||
</Button>
|
|
||||||
<Confirm
|
|
||||||
isOpen={open}
|
|
||||||
loading={isLoading}
|
|
||||||
onConfirm={handleConfirm}
|
|
||||||
onClose={handleDialogClose}
|
|
||||||
title="resources.devices.action.erase.title"
|
|
||||||
content="resources.devices.action.erase.content"
|
|
||||||
translateOptions={{
|
|
||||||
id: record.id,
|
|
||||||
name: record.display_name ? record.display_name : record.id,
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</>
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user