UNPKG

@minimaltech/ra-infra

Version:

Minimal Technology ReactJS Infrastructure

24 lines 915 B
import React from 'react'; export const useBeforeUnload = (params) => { const { enabled, message } = params; //--------------------------------------------------------------------------- const handleBeforeUnload = React.useCallback((event) => { const isEnabled = enabled instanceof Function ? enabled() : enabled; if (!isEnabled) { return; } event.preventDefault(); if (message) { event.returnValue = message; } return message; }, [enabled, message]); //--------------------------------------------------------------------------- React.useEffect(() => { window.addEventListener('beforeunload', handleBeforeUnload); return () => { window.removeEventListener('beforeunload', handleBeforeUnload); }; }, [handleBeforeUnload]); }; //# sourceMappingURL=use-before-unload.js.map