clear structure of datatable directories

This commit is contained in:
2024-04-29 16:35:27 +03:30
parent 886a5a88a2
commit 0445fc8331
18 changed files with 321 additions and 585 deletions

View File

@@ -1,10 +1,11 @@
import { getCommonToolbarStyles, parseFromValuesOrFunc } from "@/core/utils/utils";
import { Box, useMediaQuery } from "@mui/material";
import {getCommonToolbarStyles, parseFromValuesOrFunc} from "@/core/utils/utils";
import {Box, useMediaQuery} from "@mui/material";
import DataTable_LinearProgressBar from "./LinearProgressBar";
import DataTable_TablePagination from "./TablePagination";
import DataTable_ToolbarInternalButtons from "./ToolbarInternalButtons";
import FilterColumn from "@/core/components/DataTable/filter/FilterColumn";
const DataTable_TopToolbar = ({ table }) => {
const DataTable_TopToolbar = ({table, columns}) => {
const {
getState,
options: {
@@ -14,14 +15,14 @@ const DataTable_TopToolbar = ({ table }) => {
positionPagination,
renderTopToolbarCustomActions,
},
refs: { topToolbarRef },
refs: {topToolbarRef},
} = table;
const { isFullScreen, showGlobalFilter } = getState();
const {isFullScreen, showGlobalFilter} = getState();
const isMobile = useMediaQuery('(max-width:720px)');
const isTablet = useMediaQuery('(max-width:1024px)');
const toolbarProps = parseFromValuesOrFunc(muiTopToolbarProps, { table });
const toolbarProps = parseFromValuesOrFunc(muiTopToolbarProps, {table});
const stackAlertBanner =
isMobile ||
@@ -39,7 +40,7 @@ const DataTable_TopToolbar = ({ table }) => {
}
}}
sx={(theme) => ({
...getCommonToolbarStyles({ table, theme }),
...getCommonToolbarStyles({table, theme}),
position: isFullScreen ? 'sticky' : 'relative',
top: isFullScreen ? '0' : undefined,
...(parseFromValuesOrFunc(toolbarProps?.sx, theme)),
@@ -59,7 +60,7 @@ const DataTable_TopToolbar = ({ table }) => {
width: '100%',
}}
>
{renderTopToolbarCustomActions?.({ table }) ?? <span />}
{renderTopToolbarCustomActions?.({table}) ?? <span/>}
{enableToolbarInternalActions && (
<Box
sx={{
@@ -70,15 +71,16 @@ const DataTable_TopToolbar = ({ table }) => {
justifyContent: 'flex-end',
}}
>
<DataTable_ToolbarInternalButtons table={table} />
<FilterColumn columns={columns}/>
<DataTable_ToolbarInternalButtons table={table}/>
</Box>
)}
</Box>
{enablePagination &&
['both', 'top'].includes(positionPagination ?? '') && (
<DataTable_TablePagination position="top" table={table} />
<DataTable_TablePagination position="top" table={table}/>
)}
<DataTable_LinearProgressBar isTopToolbar table={table} />
<DataTable_LinearProgressBar isTopToolbar table={table}/>
</Box>
);
}