refactor RoomDirectory

This commit is contained in:
dklimpel 2024-02-06 12:01:25 +01:00
parent add25e7281
commit 04b653fe6c
2 changed files with 33 additions and 38 deletions

View File

@ -14,6 +14,7 @@ import {
TextField,
TopToolbar,
useCreate,
useDataProvider,
useListContext,
useNotify,
useTranslate,
@ -28,12 +29,11 @@ const RoomDirectoryPagination = () => (
<Pagination rowsPerPageOptions={[100, 500, 1000, 2000]} />
);
export const RoomDirectoryDeleteButton = props => {
export const RoomDirectoryDeleteButton = () => {
const translate = useTranslate();
return (
<DeleteButton
{...props}
label="resources.room_directory.action.erase"
redirect={false}
mutationMode="pessimistic"
@ -49,9 +49,8 @@ export const RoomDirectoryDeleteButton = props => {
);
};
export const RoomDirectoryBulkDeleteButton = props => (
export const RoomDirectoryBulkDeleteButton = () => (
<BulkDeleteButton
{...props}
label="resources.room_directory.action.erase"
mutationMode="pessimistic"
confirmTitle="resources.room_directory.action.title"
@ -66,29 +65,30 @@ export const RoomDirectoryBulkSaveButton = () => {
const notify = useNotify();
const refresh = useRefresh();
const unselectAll = useUnselectAll("rooms");
const { createMany, isloading } = useMutation();
const handleSend = values => {
createMany(
["room_directory", "createMany", { ids: selectedIds, data: {} }],
const dataProvider = useDataProvider();
const { mutate, isloading } = useMutation(
() =>
dataProvider.createMany("room_directory", {
ids: selectedIds,
data: {},
}),
{
onSuccess: data => {
onSuccess: () => {
notify("resources.room_directory.action.send_success");
unselectAll();
refresh();
},
onError: error =>
onError: () =>
notify("resources.room_directory.action.send_failure", {
type: "error",
}),
}
);
};
return (
<Button
label="resources.room_directory.action.create"
onClick={handleSend}
onClick={mutate}
disabled={isloading}
>
<FolderSharedIcon />
@ -107,11 +107,11 @@ export const RoomDirectorySaveButton = () => {
"room_directory",
{ data: { id: record.id } },
{
onSuccess: data => {
onSuccess: () => {
notify("resources.room_directory.action.send_success");
refresh();
},
onError: error =>
onError: () =>
notify("resources.room_directory.action.send_failure", {
type: "error",
}),

View File

@ -55,7 +55,7 @@ const RoomPagination = () => (
<Pagination rowsPerPageOptions={[10, 25, 50, 100, 500, 1000]} />
);
const RoomTitle = props => {
const RoomTitle = () => {
const record = useRecordContext();
const translate = useTranslate();
var name = "";
@ -70,23 +70,18 @@ const RoomTitle = props => {
);
};
const RoomShowActions = ({ data, resource }) => {
const RoomShowActions = () => {
const record = useRecordContext();
var roomDirectoryStatus = "";
if (data) {
roomDirectoryStatus = data.public;
if (record) {
roomDirectoryStatus = record.public;
}
return (
<TopToolbar>
{roomDirectoryStatus === false && (
<RoomDirectorySaveButton record={data} />
)}
{roomDirectoryStatus === true && (
<RoomDirectoryDeleteButton record={data} />
)}
{roomDirectoryStatus === false && <RoomDirectorySaveButton />}
{roomDirectoryStatus === true && <RoomDirectoryDeleteButton />}
<DeleteButton
record={data}
resource={resource}
mutationMode="pessimistic"
confirmTitle="resources.rooms.action.erase.title"
confirmContent="resources.rooms.action.erase.content"
@ -95,7 +90,7 @@ const RoomShowActions = ({ data, resource }) => {
);
};
export const RoomShow = props => {
export const RoomShow = () => {
const translate = useTranslate();
return (
<Show actions={<RoomShowActions />} title={<RoomTitle />}>