|  |  | 
 |  |  |     SelectColumnsButton, | 
 |  |  |     EditButton, | 
 |  |  |     FilterButton, | 
 |  |  |     CreateButton, | 
 |  |  |     useRefresh, | 
 |  |  |     ExportButton, | 
 |  |  |     BulkDeleteButton, | 
 |  |  |     WrapperField, | 
 |  |  | 
 |  |  |     ReferenceArrayInput, | 
 |  |  |     AutocompleteInput, | 
 |  |  |     DeleteButton, | 
 |  |  |     useGetIdentity, | 
 |  |  |     ListBase, | 
 |  |  |     Title, | 
 |  |  |     Pagination, | 
 |  |  |     ListToolbar, | 
 |  |  | } from 'react-admin'; | 
 |  |  | import { Box, Typography, Card, Stack } from '@mui/material'; | 
 |  |  | import { styled } from '@mui/material/styles'; | 
 |  |  | 
 |  |  | import MyExportButton from '../components/MyExportButton'; | 
 |  |  | import PageDrawer from "../components/PageDrawer"; | 
 |  |  | import MyField from "../components/MyField"; | 
 |  |  | import { PAGE_DRAWER_WIDTH, OPERATE_MODE } from '@/config/setting'; | 
 |  |  | import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting'; | 
 |  |  | import * as Common from '@/utils/common'; | 
 |  |  | import { ImageList } from "./GridList"; | 
 |  |  | import { AgvListFilter } from "./AgvListFilter"; | 
 |  |  |  | 
 |  |  | export const AgvGrid = () => { | 
 |  |  |     const [createDialog, setCreateDialog] = useState(false); | 
 |  |  |  | 
 |  |  |     return ( | 
 |  |  |         <> | 
 |  |  |             <ListBase perPage={50} sort={{ field: "create_time", order: "asc" }}> | 
 |  |  |                 <AgvGridLayout | 
 |  |  |                     setCreateDialog={setCreateDialog} | 
 |  |  |                 /> | 
 |  |  |             </ListBase> | 
 |  |  |             <AgvCreate | 
 |  |  |                 open={createDialog} | 
 |  |  |                 setOpen={setCreateDialog} | 
 |  |  |             /> | 
 |  |  |         </> | 
 |  |  |     ) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | const AgvGridLayout = ({ setCreateDialog }) => { | 
 |  |  |     const refresh = useRefresh(); | 
 |  |  |     const { data, isPending, filterValues } = useListContext(); | 
 |  |  |     const hasFilters = filterValues && Object.keys(filterValues).length > 0; | 
 |  |  |  | 
 |  |  |     React.useEffect(() => { | 
 |  |  |         const intervalId = setInterval(() => { | 
 |  |  |             refresh(); | 
 |  |  |         }, 2000); | 
 |  |  |         return () => clearInterval(intervalId); | 
 |  |  |     }, [refresh]); | 
 |  |  |  | 
 |  |  |     if (isPending) return null; | 
 |  |  |     if (!data?.length && !hasFilters) return <EmptyData onClick={() => { setCreateDialog(true) }} />; | 
 |  |  |  | 
 |  |  |     return ( | 
 |  |  |         <Stack direction="row" component="div"> | 
 |  |  |             <AgvListFilter /> | 
 |  |  |             <Stack sx={{ width: '100%' }}> | 
 |  |  |                 <Title title={"menu.agv"} /> | 
 |  |  |                 <ListToolbar actions={( | 
 |  |  |                     <TopToolbar> | 
 |  |  |                         <MyCreateButton onClick={() => { setCreateDialog(true) }} variant="contained" /> | 
 |  |  |                         <MyExportButton /> | 
 |  |  |                     </TopToolbar> | 
 |  |  |                 )} /> | 
 |  |  |                 <ImageList /> | 
 |  |  |                 <Pagination rowsPerPageOptions={[10, 25, 50, 100]} /> | 
 |  |  |             </Stack> | 
 |  |  |         </Stack> | 
 |  |  |     ); | 
 |  |  | } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({ | 
 |  |  |     '& .css-1vooibu-MuiSvgIcon-root': { | 
 |  |  | 
 |  |  |     />, | 
 |  |  | ] | 
 |  |  |  | 
 |  |  | const AgvList = () => { | 
 |  |  | export const AgvList = () => { | 
 |  |  |     const translate = useTranslate(); | 
 |  |  |  | 
 |  |  |     const [createDialog, setCreateDialog] = useState(false); | 
 |  |  | 
 |  |  |                         <MyExportButton /> | 
 |  |  |                     </TopToolbar> | 
 |  |  |                 )} | 
 |  |  |                 perPage={25} | 
 |  |  |                 perPage={DEFAULT_PAGE_SIZE} | 
 |  |  |             > | 
 |  |  |                 <StyledDatagrid | 
 |  |  |                     preferenceKey='agv' | 
 |  |  | 
 |  |  |         </Box> | 
 |  |  |     ) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | export default AgvList; |