import React, { useEffect, useState } from 'react'; import { Link } from 'react-router-dom'; import { useDispatch, useSelector } from "react-redux"; import Table from '@material-ui/core/Table'; import TableContainer from '@material-ui/core/TableContainer'; import TableHead from '@material-ui/core/TableHead'; import TableBody from '@material-ui/core/TableBody'; import TableRow from '@material-ui/core/TableRow'; import TableCell from '@material-ui/core/TableCell'; import Paper from '@material-ui/core/Paper'; import TableFooter from "@material-ui/core/TableFooter"; import TablePagination from "@material-ui/core/TablePagination"; import { TablePaginationActions } from "./TablePaginationActions"; import { fetchPendingRequestsAction } from "../../state/actions/request-actions"; import Loading from "../../loading/loading"; export const AdminPage = props => { // state data const loading = useSelector(state => state.requests.loading); const pendingRequests = useSelector(state => state.requests.pendingRequests); const dispatch = useDispatch(); useEffect(() => { dispatch(fetchPendingRequestsAction()); console.log(pendingRequests); // eslint-disable-next-line }, []); // pagination stuff const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(5); const emptyRows = rowsPerPage - Math.min(rowsPerPage, pendingRequests.length - page * rowsPerPage); const handleChangePage = (event, newPage) => setPage(newPage); const handleChangeRowsPerPage = event => { setRowsPerPage(parseInt(event.target.value, 10)); setPage(0); }; const showRequests = ( worker action admin requestor name task_id path table_name { (rowsPerPage > 0 ? pendingRequests.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) : pendingRequests).map(request => ( { request.worker } { request.action } { request.admin } { request.requestor } { request.name } { request.task_id } { request.path } { request.table_name } )) } {emptyRows > 0 && ( )}
); if(loading || !pendingRequests.length) return (); return (
{ showRequests }
); };