Files
frontend/src/core/components/DataTable/toolbar/LinearProgressBar.js
2024-04-16 11:45:14 +03:30

44 lines
1.1 KiB
JavaScript

import { parseFromValuesOrFunc } from "@/core/utils/utils";
import { Collapse, LinearProgress } from "@mui/material";
const DataTable_LinearProgressBar = ({
isTopToolbar,
table,
...rest
}) => {
const {
getState,
options: { muiLinearProgressProps },
} = table;
const { isSaving, showProgressBars } = getState();
const linearProgressProps = {
...parseFromValuesOrFunc(muiLinearProgressProps, {
isTopToolbar,
table,
}),
...rest,
};
return (
<Collapse
in={showProgressBars !== false && (showProgressBars || isSaving)}
mountOnEnter
sx={{
bottom: isTopToolbar ? 0 : undefined,
position: 'absolute',
top: !isTopToolbar ? 0 : undefined,
width: '100%',
}}
unmountOnExit
>
<LinearProgress
aria-busy="true"
aria-label="Loading"
sx={{ position: 'relative' }}
{...linearProgressProps}
/>
</Collapse>
);
}
export default DataTable_LinearProgressBar