diff --git a/src/components/projects/ProjectsList.tsx b/src/components/projects/ProjectsList.tsx index 13a0afd..9044014 100644 --- a/src/components/projects/ProjectsList.tsx +++ b/src/components/projects/ProjectsList.tsx @@ -9,35 +9,31 @@ import TablePagination from '@mui/material/TablePagination'; import TableRow from '@mui/material/TableRow'; import { Button } from '@mui/material'; import { Link } from 'react-router-dom'; +import { useState } from 'react'; const columns = [ - // { id: 'name', label: 'Name', minWidth: 170 }, - // { id: 'code', label: 'ISO\u00a0Code', minWidth: 100 }, { id: 'project_title', label: 'Title', minWidth: 170, align: 'right', - // format: (value) => value.toLocaleString('en-US'), }, { id: 'cms_contract_no', label: 'Contract No', minWidth: 170, align: 'right', - // format: (value) => value.toLocaleString('en-US'), }, { id: 'ticket_title', label: 'Project Title', minWidth: 170, align: 'right', - // format: (value) => value.toFixed(2), }, { id: 'term', label: 'Term', - Cell: (row:any) => ( + Cell: (row: any) => ( (row.perpetuity !== '' && row.perpetuity !== null) ? (row.perpetuity !== "Yes" ? {row.effective_from1} - {row.effective_to1} : `${row.effective_from1} - Perpetual`) : "" @@ -46,7 +42,7 @@ const columns = [ { id: 'link', label: 'Link', - Cell: (row:any) => ( + Cell: (row: any) => ( (row.cid === null || row.cid === 0 || row.effective_from1 === null) ? : (row.published === 1 @@ -59,79 +55,82 @@ const columns = [ }, ]; -type Props={ - projectData:any -} + +const ProjectTableHead = () => ( + + + {columns.map((column) => ( + + {column.label} + + ))} + + +); + +type Props = { + projectData: any; + page:any; + rowsPerPage:any +}; + +const ProjectTable = ({ projectData, page, rowsPerPage }:Props) => ( + + + {projectData && + projectData + .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) + .map((row:any) => ( + + {columns.map((column) => ( + { typeof row[column.id] === 'number' ? (row[column.id]) : row[column.id]} + ))} + + ))} + +
+); -export default function ProjectList({projectData}:Props) { - const [page, setPage] = React.useState(0); - const [rowsPerPage, setRowsPerPage] = React.useState(10); - const handleChangePage = (event:any, newPage:any) => { + +const ProjectList = ({ projectData}: any) => { + const [page, setPage] = useState(0); + const [rowsPerPage, setRowsPerPage] = useState(10); + + const handleChangePage = (event: any, newPage: React.SetStateAction) => { setPage(newPage); }; - const handleChangeRowsPerPage = (event:any) => { + const handleChangeRowsPerPage = (event: { target: { value: string | number; }; }) => { setRowsPerPage(+event.target.value); setPage(0); }; - return ( - - - - - - - {columns.map((column) => ( - - {column.label} - - ))} - - - - {projectData && projectData - .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) - .map((row:any) => { - return ( - - {columns.map((column:any) => { - const value = row[column.id]; - return ( - - {column.format && typeof value === 'number' - ? column.format(value) - : value} - - ); - })} - - ); - })} - -
-
- -
+ + + + + + + + ); -} \ No newline at end of file +}; + +export default ProjectList; \ No newline at end of file