UNPKG

ra-core

Version:

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

38 lines 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useScrollToTop = void 0; const react_1 = require("react"); const useLocation_1 = require("./useLocation.cjs"); /** * Scroll the window to top when the target location contains the _scrollToTop state * * @see CoreAdminRouter where it's enabled by default * * @example // usage in buttons * import { Link } from 'react-router-dom'; * import { Button } from '@mui/material'; * * const FooButton = () => ( * <Button * component={Link} * to={{ * pathname: '/foo', * state: { _scrollToTop: true }, * }} * > * Go to foo * </Button> * ); */ const useScrollToTop = () => { const location = (0, useLocation_1.useLocation)(); (0, react_1.useEffect)(() => { if (location.state?._scrollToTop && typeof window != 'undefined' && typeof window.scrollTo === 'function') { window.scrollTo(0, 0); } }, [location]); }; exports.useScrollToTop = useScrollToTop; //# sourceMappingURL=useScrollToTop.js.map