UNPKG

@mui/x-data-grid

Version:

The community edition of the data grid component (MUI X).

47 lines (44 loc) 1.31 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import * as React from 'react'; import { useGridApiMethod } from '../../utils/useGridApiMethod'; export const virtualizationStateInitializer = (state, props) => { const virtualization = { enabled: !props.disableVirtualization, enabledForColumns: true }; return _extends({}, state, { virtualization }); }; export function useGridVirtualization(apiRef, props) { /* * API METHODS */ const setVirtualization = enabled => { apiRef.current.setState(state => _extends({}, state, { virtualization: _extends({}, state.virtualization, { enabled }) })); }; const setColumnVirtualization = enabled => { apiRef.current.setState(state => _extends({}, state, { virtualization: _extends({}, state.virtualization, { enabledForColumns: enabled }) })); }; const api = { unstable_setVirtualization: setVirtualization, unstable_setColumnVirtualization: setColumnVirtualization }; useGridApiMethod(apiRef, api, 'public'); /* * EFFECTS */ /* eslint-disable react-hooks/exhaustive-deps */ React.useEffect(() => { setVirtualization(!props.disableVirtualization); }, [props.disableVirtualization]); /* eslint-enable react-hooks/exhaustive-deps */ }