1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useGridLogger, useGridSelector, useGridApiMethod, useGridApiEventHandler } from '../../utils';\nimport { gridVisibleTopLevelRowCountSelector } from '../filter';\nimport { gridPageSelector, gridPageSizeSelector } from './gridPaginationSelector';\nimport { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';\nimport { buildWarning } from '../../../utils/warning';\nexport const getPageCount = (rowCount, pageSize) => {\n if (pageSize > 0 && rowCount > 0) {\n return Math.ceil(rowCount / pageSize);\n }\n return 0;\n};\nconst applyValidPage = paginationState => {\n if (!paginationState.pageCount) {\n return paginationState;\n }\n return _extends({}, paginationState, {\n page: Math.max(Math.min(paginationState.page, paginationState.pageCount - 1), 0)\n });\n};\nconst mergeStateWithPage = page => state => _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n page\n }))\n});\nconst noRowCountInServerMode = buildWarning([\"MUI: the 'rowCount' prop is undefined while using paginationMode='server'\", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');\n/**\n * @requires useGridPageSize (event)\n */\n\nexport const useGridPage = (apiRef, props) => {\n var _props$initialState2, _props$initialState2$;\n const logger = useGridLogger(apiRef, 'useGridPage');\n const visibleTopLevelRowCount = useGridSelector(apiRef, gridVisibleTopLevelRowCountSelector);\n apiRef.current.unstable_registerControlState({\n stateId: 'page',\n propModel: props.page,\n propOnChange: props.onPageChange,\n stateSelector: gridPageSelector,\n changeEvent: 'pageChange'\n });\n /**\n * API METHODS\n */\n\n const setPage = React.useCallback(page => {\n logger.debug(`Setting page to ${page}`);\n apiRef.current.setState(mergeStateWithPage(page));\n apiRef.current.forceUpdate();\n }, [apiRef, logger]);\n const pageApi = {\n setPage\n };\n useGridApiMethod(apiRef, pageApi, 'GridPageApi');\n /**\n * PRE-PROCESSING\n */\n\n const stateExportPreProcessing = React.useCallback((prevState, context) => {\n var _props$initialState, _props$initialState$p;\n const pageToExport = gridPageSelector(apiRef);\n const shouldExportPage =\n // Always export if the `exportOnlyDirtyModels` property is activated\n !context.exportOnlyDirtyModels ||\n // Always export if the page is controlled\n props.page != null ||\n // Always export if the page has been initialized\n ((_props$initialState = props.initialState) == null ? void 0 : (_props$initialState$p = _props$initialState.pagination) == null ? void 0 : _props$initialState$p.page) != null ||\n // Export if the page is not equal to the default value\n pageToExport !== 0;\n if (!shouldExportPage) {\n return prevState;\n }\n return _extends({}, prevState, {\n pagination: _extends({}, prevState.pagination, {\n page: pageToExport\n })\n });\n }, [apiRef, props.page, (_props$initialState2 = props.initialState) == null ? void 0 : (_props$initialState2$ = _props$initialState2.pagination) == null ? void 0 : _props$initialState2$.page]);\n const stateRestorePreProcessing = React.useCallback((params, context) => {\n var _context$stateToResto, _context$stateToResto2;\n\n // We apply the constraint even if the page did not change in case the pageSize changed.\n const page = (_context$stateToResto = (_context$stateToResto2 = context.stateToRestore.pagination) == null ? void 0 : _context$stateToResto2.page) != null ? _context$stateToResto : gridPageSelector(apiRef);\n apiRef.current.setState(mergeStateWithPage(page));\n return params;\n }, [apiRef]);\n useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);\n /**\n * EVENTS\n */\n\n const handlePageSizeChange = pageSize => {\n apiRef.current.setState(state => {\n const pageCount = getPageCount(state.pagination.rowCount, pageSize);\n return _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n pageCount,\n page: state.pagination.page\n }))\n });\n });\n apiRef.current.forceUpdate();\n };\n const handlePageChange = () => apiRef.current.scrollToIndexes({\n rowIndex: gridPageSelector(apiRef) * gridPageSizeSelector(apiRef)\n });\n useGridApiEventHandler(apiRef, 'pageSizeChange', handlePageSizeChange);\n useGridApiEventHandler(apiRef, 'pageChange', handlePageChange);\n /**\n * EFFECTS\n */\n\n React.useEffect(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (props.paginationMode === 'server' && props.rowCount == null) {\n noRowCountInServerMode();\n }\n }\n }, [props.rowCount, props.paginationMode]);\n React.useEffect(() => {\n apiRef.current.setState(state => {\n const rowCount = props.rowCount !== undefined ? props.rowCount : visibleTopLevelRowCount;\n const pageCount = getPageCount(rowCount, state.pagination.pageSize);\n const page = props.page == null ? state.pagination.page : props.page;\n return _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n page,\n rowCount,\n pageCount\n }))\n });\n });\n apiRef.current.forceUpdate();\n }, [visibleTopLevelRowCount, props.rowCount, props.page, props.paginationMode, apiRef]);\n};","map":{"version":3,"names":["_extends","React","useGridLogger","useGridSelector","useGridApiMethod","useGridApiEventHandler","gridVisibleTopLevelRowCountSelector","gridPageSelector","gridPageSizeSelector","useGridRegisterPipeProcessor","buildWarning","getPageCount","rowCount","pageSize","Math","ceil","applyValidPage","paginationState","pageCount","page","max","min","mergeStateWithPage","state","pagination","noRowCountInServerMode","useGridPage","apiRef","props","_props$initialState2","_props$initialState2$","logger","visibleTopLevelRowCount","current","unstable_registerControlState","stateId","propModel","propOnChange","onPageChange","stateSelector","changeEvent","setPage","useCallback","debug","setState","forceUpdate","pageApi","stateExportPreProcessing","prevState","context","_props$initialState","_props$initialState$p","pageToExport","shouldExportPage","exportOnlyDirtyModels","initialState","stateRestorePreProcessing","params","_context$stateToResto","_context$stateToResto2","stateToRestore","handlePageSizeChange","handlePageChange","scrollToIndexes","rowIndex","useEffect","process","env","NODE_ENV","paginationMode","undefined"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@mui/x-data-grid/hooks/features/pagination/useGridPage.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { useGridLogger, useGridSelector, useGridApiMethod, useGridApiEventHandler } from '../../utils';\nimport { gridVisibleTopLevelRowCountSelector } from '../filter';\nimport { gridPageSelector, gridPageSizeSelector } from './gridPaginationSelector';\nimport { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';\nimport { buildWarning } from '../../../utils/warning';\nexport const getPageCount = (rowCount, pageSize) => {\n if (pageSize > 0 && rowCount > 0) {\n return Math.ceil(rowCount / pageSize);\n }\n\n return 0;\n};\n\nconst applyValidPage = paginationState => {\n if (!paginationState.pageCount) {\n return paginationState;\n }\n\n return _extends({}, paginationState, {\n page: Math.max(Math.min(paginationState.page, paginationState.pageCount - 1), 0)\n });\n};\n\nconst mergeStateWithPage = page => state => _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n page\n }))\n});\n\nconst noRowCountInServerMode = buildWarning([\"MUI: the 'rowCount' prop is undefined while using paginationMode='server'\", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');\n/**\n * @requires useGridPageSize (event)\n */\n\nexport const useGridPage = (apiRef, props) => {\n var _props$initialState2, _props$initialState2$;\n\n const logger = useGridLogger(apiRef, 'useGridPage');\n const visibleTopLevelRowCount = useGridSelector(apiRef, gridVisibleTopLevelRowCountSelector);\n apiRef.current.unstable_registerControlState({\n stateId: 'page',\n propModel: props.page,\n propOnChange: props.onPageChange,\n stateSelector: gridPageSelector,\n changeEvent: 'pageChange'\n });\n /**\n * API METHODS\n */\n\n const setPage = React.useCallback(page => {\n logger.debug(`Setting page to ${page}`);\n apiRef.current.setState(mergeStateWithPage(page));\n apiRef.current.forceUpdate();\n }, [apiRef, logger]);\n const pageApi = {\n setPage\n };\n useGridApiMethod(apiRef, pageApi, 'GridPageApi');\n /**\n * PRE-PROCESSING\n */\n\n const stateExportPreProcessing = React.useCallback((prevState, context) => {\n var _props$initialState, _props$initialState$p;\n\n const pageToExport = gridPageSelector(apiRef);\n const shouldExportPage = // Always export if the `exportOnlyDirtyModels` property is activated\n !context.exportOnlyDirtyModels || // Always export if the page is controlled\n props.page != null || // Always export if the page has been initialized\n ((_props$initialState = props.initialState) == null ? void 0 : (_props$initialState$p = _props$initialState.pagination) == null ? void 0 : _props$initialState$p.page) != null || // Export if the page is not equal to the default value\n pageToExport !== 0;\n\n if (!shouldExportPage) {\n return prevState;\n }\n\n return _extends({}, prevState, {\n pagination: _extends({}, prevState.pagination, {\n page: pageToExport\n })\n });\n }, [apiRef, props.page, (_props$initialState2 = props.initialState) == null ? void 0 : (_props$initialState2$ = _props$initialState2.pagination) == null ? void 0 : _props$initialState2$.page]);\n const stateRestorePreProcessing = React.useCallback((params, context) => {\n var _context$stateToResto, _context$stateToResto2;\n\n // We apply the constraint even if the page did not change in case the pageSize changed.\n const page = (_context$stateToResto = (_context$stateToResto2 = context.stateToRestore.pagination) == null ? void 0 : _context$stateToResto2.page) != null ? _context$stateToResto : gridPageSelector(apiRef);\n apiRef.current.setState(mergeStateWithPage(page));\n return params;\n }, [apiRef]);\n useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);\n useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);\n /**\n * EVENTS\n */\n\n const handlePageSizeChange = pageSize => {\n apiRef.current.setState(state => {\n const pageCount = getPageCount(state.pagination.rowCount, pageSize);\n return _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n pageCount,\n page: state.pagination.page\n }))\n });\n });\n apiRef.current.forceUpdate();\n };\n\n const handlePageChange = () => apiRef.current.scrollToIndexes({\n rowIndex: gridPageSelector(apiRef) * gridPageSizeSelector(apiRef)\n });\n\n useGridApiEventHandler(apiRef, 'pageSizeChange', handlePageSizeChange);\n useGridApiEventHandler(apiRef, 'pageChange', handlePageChange);\n /**\n * EFFECTS\n */\n\n React.useEffect(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (props.paginationMode === 'server' && props.rowCount == null) {\n noRowCountInServerMode();\n }\n }\n }, [props.rowCount, props.paginationMode]);\n React.useEffect(() => {\n apiRef.current.setState(state => {\n const rowCount = props.rowCount !== undefined ? props.rowCount : visibleTopLevelRowCount;\n const pageCount = getPageCount(rowCount, state.pagination.pageSize);\n const page = props.page == null ? state.pagination.page : props.page;\n return _extends({}, state, {\n pagination: applyValidPage(_extends({}, state.pagination, {\n page,\n rowCount,\n pageCount\n }))\n });\n });\n apiRef.current.forceUpdate();\n }, [visibleTopLevelRowCount, props.rowCount, props.page, props.paginationMode, apiRef]);\n};"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |