ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
22 lines • 791 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useBlocker = void 0;
const RouterProviderContext_1 = require("./RouterProviderContext.cjs");
/**
* Hook to block navigation based on a condition.
* This is a router-agnostic wrapper that uses the configured router provider.
* Used by useWarnWhenUnsavedChanges to prevent losing form data.
*
* @example
* const blocker = useBlocker(shouldBlock);
* if (blocker.state === 'blocked') {
* // Show confirmation dialog
* blocker.proceed(); // or blocker.reset();
* }
*/
const useBlocker = (shouldBlock) => {
const provider = (0, RouterProviderContext_1.useRouterProvider)();
return provider.useBlocker(shouldBlock);
};
exports.useBlocker = useBlocker;
//# sourceMappingURL=useBlocker.js.map