ra-core
Version: 
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
70 lines • 2.45 kB
TypeScript
import { ReactEventHandler, SyntheticEvent } from 'react';
import { UseDeleteControllerParams, UseDeleteControllerReturn } from '../';
import { RaRecord } from '../../types';
/**
 * Prepare a set of callbacks for a delete button guarded by confirmation dialog
 * @deprecated prefer the useDeleteController hook instead
 *
 * @example
 *
 * const DeleteButton = ({
 *     resource,
 *     record,
 *     redirect,
 *     onClick,
 *     ...rest
 * }) => {
 *     const {
 *         open,
 *         isPending,
 *         handleDialogOpen,
 *         handleDialogClose,
 *         handleDelete,
 *     } = useDeleteWithConfirmController({
 *         resource,
 *         record,
 *         redirect,
 *         onClick,
 *     });
 *
 *     return (
 *         <Fragment>
 *             <Button
 *                 onClick={handleDialogOpen}
 *                 label="ra.action.delete"
 *                 {...rest}
 *             >
 *                 {icon}
 *             </Button>
 *             <Confirm
 *                 isOpen={open}
 *                 loading={isPending}
 *                 title="ra.message.delete_title"
 *                 content="ra.message.delete_content"
 *                 titleTranslateOptions={{
 *                     name: resource,
 *                     id: record.id,
 *                 }}
 *                 contentTranslateOptions={{
 *                     name: resource,
 *                     id: record.id,
 *                 }}
 *                 onConfirm={handleDelete}
 *                 onClose={handleDialogClose}
 *             />
 *         </Fragment>
 *     );
 * };
 */
declare const useDeleteWithConfirmController: <RecordType extends RaRecord = any, ErrorType = Error>(props: UseDeleteWithConfirmControllerParams<RecordType, ErrorType>) => UseDeleteWithConfirmControllerReturn;
export interface UseDeleteWithConfirmControllerParams<RecordType extends RaRecord = any, MutationOptionsError = unknown> extends UseDeleteControllerParams<RecordType, MutationOptionsError> {
    onClick?: ReactEventHandler<any>;
}
export interface UseDeleteWithConfirmControllerReturn extends Omit<UseDeleteControllerReturn, 'handleDelete'> {
    open: boolean;
    handleDialogOpen: (e: SyntheticEvent) => void;
    handleDialogClose: (e: SyntheticEvent) => void;
    handleDelete: ReactEventHandler<any>;
}
export default useDeleteWithConfirmController;
//# sourceMappingURL=useDeleteWithConfirmController.d.ts.map