// material-ui import * as React from 'react'; import { DataGrid, GridActionsCellItem, GridRowModes } from "@mui/x-data-grid"; import RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline'; import { useEffect } from "react"; // import {useNavigate} from "react-router-dom"; // import { useTheme } from '@mui/material/styles'; import { Box, Stack, Button } from '@mui/material'; // ==============================|| EVENT TABLE ||============================== // export default function UploadFileTable({ recordList, setRecordList, showPageColumn, _checkCode, _expectedCode }) { const [rows, setRows] = React.useState(recordList); const [rowModesModel, setRowModesModel] = React.useState({}); const [showPage, setShowPage] = React.useState(false); const [checkCode, setCheckCode] = React.useState(""); const [expectedCode, setExpectedCode] = React.useState(""); // const theme = useTheme(); // const navigate = useNavigate() useEffect(() => { setCheckCode(_checkCode) }, [_checkCode]); useEffect(() => { setExpectedCode(_expectedCode) }, [_expectedCode]); useEffect(() => { setRows(recordList); // console.log(disableDelete); }, [recordList]); useEffect(() => { setShowPage(showPageColumn); // console.log(disableDelete); }, [showPageColumn]); function NoRowsOverlay() { return ( No File Record {/*
(rows={[]})
*/}
); } const handleCancelClick = (id) => () => { setRowModesModel({ ...rowModesModel, [id]: { mode: GridRowModes.View, ignoreModifications: true }, }); // console.log("Starting Delete") // const editedRow = rows.find((row) => row.id === id); // console.log(editedRow) // console.log(editedRow.isNew) setRecordList(rows.filter((row) => row.id !== id)); setRows(rows.filter((row) => row.id !== id)); } const handlePreviewClick = (param) => () => { var reader = new FileReader(); reader.onload = function () { let path = reader.result; var pdf_newTab = window.open(""); pdf_newTab.document.write( "" + "" + param.row.name + "" + "" + "" + "" + "" ); }; reader.readAsDataURL(param.row); } const columns = showPage?[ { field: 'actions', type: 'actions', headerName: '', width: 30, cellClassName: 'actions', // hide:true, getActions: ({ id }) => { return [ } label="delete" className="textPrimary" onClick={handleCancelClick(id)} color="error" />] }, }, { field: 'name', headerName: 'File Name', flex: 1, renderCell: (params) => { return ; }, }, { id: 'size', field: 'size', headerName: 'File Size', valueGetter: (params) => { // console.log(params) return Math.ceil(params.value / 1024) + " KB"; }, flex: 1, }, { id: 'no_of_page', field: 'no_of_page', headerName: 'Page', flex: 1, hide: true }, ]:[ { field: 'actions', type: 'actions', headerName: '', width: 30, cellClassName: 'actions', // hide:true, getActions: ({ id }) => { return [ } label="delete" className="textPrimary" onClick={handleCancelClick(id)} color="error" />] }, }, { field: 'name', headerName: 'File Name', flex: 1, renderCell: (params) => { return ; }, }, { id: 'check_code', field: 'check_code', headerName: 'File Code', flex: 1, hide: true, renderCell: () => { return (expectedCode == checkCode)?checkCode:
Warning, File Code not match.
File Code: {checkCode}
Expected Code: {expectedCode}
; }, }, { id: 'size', field: 'size', headerName: 'File Size', valueGetter: (params) => { // console.log(params) return Math.ceil(params.value / 1024) + " KB"; }, flex: 1, }, ]; return ( 'auto'} /> ); }