useDeleteRevisions
Provides a mutation function to delete all revisions for a specific record. This is useful notably to delete all revisions when the record itself is deleted.
This feature requires a valid is an Enterprise Edition subscription.
Here is an example showing how to implement a <DeleteWithRevisionsButton> that deletes both the record and its revisions:
import { EditBase, Form, useResourceContext, useRecordContext } from 'ra-core';import { TextInput, DeleteButton } from 'my-react-admin-ui-library';import { useDeleteRevisions } from '@react-admin/ra-core-ee';
const DeleteWithRevisionsButton = () => { const resource = useResourceContext(); const record = useRecordContext(); const [deleteRevisions] = useDeleteRevisions(); return ( <DeleteButton mutationOptions={{ onSettled: (_data, error) => { if (error) return; deleteRevisions(resource, { recordId: record?.id }); }, }} label="Delete with revisions" /> );};
export const ProductEdit = () => ( <EditBase> <Form> <TextInput source="reference" /> <TextInput source="category" /> <DeleteWithRevisionsButton /> </Form> </EditBase>);Hook Parameters:
resource?: Resource name. Defaults to the current resource context.params?: Default parameters withrecordIdoptions?: Default mutation options
Returns: A tuple with:
deleteRevisions: Function to trigger the deletionmutation: React Query mutation result object
deleteRevisions Parameters:
resource?: Resource name (overrides hook-time resource)params?: Object withrecordId(overrides hook-time params)options?: Mutation options includingreturnPromise: boolean(overrides hook-time options)