UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

66 lines 2.15 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var useDeleteController_1 = require("./useDeleteController"); var util_1 = require("../../util"); /** * Prepare callback for a Delete button with undo support * @deprecated prefer the useDeleteController hook instead * @example * * import React from 'react'; * import ActionDelete from '@mui/icons-material/Delete'; * import { Button, useDeleteWithUndoController } from 'react-admin'; * * const DeleteButton = ({ * resource, * record, * redirect, * onClick, * ...rest * }) => { * const { isPending, handleDelete } = useDeleteWithUndoController({ * resource, * record, * redirect, * onClick, * }); * * return ( * <Button * onClick={handleDelete} * disabled={isPending} * label="ra.action.delete" * {...rest} * > * <ActionDelete /> * </Button> * ); * }; */ var useDeleteWithUndoController = function (props) { var onClick = props.onClick; var _a = (0, useDeleteController_1.useDeleteController)(__assign(__assign({}, props), { mutationMode: 'undoable' })), isPending = _a.isPending, controllerHandleDelete = _a.handleDelete; var handleDelete = (0, util_1.useEvent)(function (event) { if (event && event.stopPropagation) { event.stopPropagation(); } controllerHandleDelete(); if (typeof onClick === 'function') { onClick(event); } }); return { isPending: isPending, isLoading: isPending, handleDelete: handleDelete }; }; exports.default = useDeleteWithUndoController; //# sourceMappingURL=useDeleteWithUndoController.js.map