import React from "react"; import { BooleanField, BulkDeleteButton, Button, DatagridConfigurable, ExportButton, DeleteButton, List, NumberField, Pagination, SelectColumnsButton, TextField, TopToolbar, useCreate, useListContext, useNotify, useTranslate, useRecordContext, useRefresh, useUnselectAll, } from "react-admin"; import { useMutation } from "react-query"; import RoomDirectoryIcon from "@mui/icons-material/FolderShared"; import AvatarField from "./AvatarField"; const RoomDirectoryPagination = () => ( ); export const RoomDirectoryDeleteButton = props => { const translate = useTranslate(); return ( } /> ); }; export const RoomDirectoryBulkDeleteButton = props => ( } /> ); export const RoomDirectoryBulkSaveButton = () => { const { selectedIds } = useListContext(); const notify = useNotify(); const refresh = useRefresh(); const unselectAllRooms = useUnselectAll("rooms"); const { createMany, isloading } = useMutation(); const handleSend = values => { createMany( ["room_directory", "createMany", { ids: selectedIds, data: {} }], { onSuccess: data => { notify("resources.room_directory.action.send_success"); unselectAllRooms(); refresh(); }, onError: error => notify("resources.room_directory.action.send_failure", { type: "error", }), } ); }; return ( ); }; export const RoomDirectorySaveButton = () => { const record = useRecordContext(); const notify = useNotify(); const refresh = useRefresh(); const [create, { isloading }] = useCreate(); const handleSend = () => { create( "room_directory", { data: { id: record.id } }, { onSuccess: _data => { notify("resources.room_directory.action.send_success"); refresh(); }, onError: _error => notify("resources.room_directory.action.send_failure", { type: "error", }), } ); }; return ( ); }; const RoomDirectoryBulkActionButtons = () => ; const RoomDirectoryListActions = () => ( ); export const RoomDirectoryList = () => ( } perPage={100} actions={} > "/rooms/" + id + "/show"} bulkActionButtons={} omit={["room_id", "canonical_alias", "topic"]} > ); const resource = { name: "room_directory", icon: RoomDirectoryIcon, list: RoomDirectoryList, }; export default resource;