All files / components/Reports ReportTable.js

100% Statements 17/17
100% Branches 6/6
100% Functions 8/8
100% Lines 17/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80            15x   15x   15x 2x 2x 1x   1x       15x         30x               30x               30x               30x               30x               30x           15x 6x   15x            
import OurTable, { ButtonColumn } from "main/components/OurTable";
import { useNavigate } from "react-router-dom";
 
// should take in a players list from a commons
export default function ReportTable({ reports, storybook = false, buttons=true }) {
 
    const testid = "ReportTable";
 
    const navigate = useNavigate();
 
    const reportCallback = (cell) => {
        const route = `/admin/report/${cell.row.values["id"]}`
        if (storybook) {
            window.alert(`would navigate to ${route}`);
        } else {
            navigate(route)
        }
    }
 
    const columns = [
        {
            Header: 'id',
            accessor: 'id',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
        {
            Header: 'commonsId',
            accessor: 'commonsId',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
        {
            Header: 'Name',
            accessor: 'name',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
        {
            Header: 'Create Date',
            accessor: 'createDate',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
        {
            Header: 'Num Users',
            accessor: 'numUsers',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
        {
            Header: 'Num Cows',
            accessor: 'numCows',
            Cell: (props) => {
                return (
                  <div style={{textAlign: "right"}}>{props.value}</div>)
                  },
        },
    ];
 
    if (buttons) {
        columns.push(ButtonColumn("View Report", "secondary", reportCallback, testid));
    }
    return <OurTable
        data={reports}
        columns={columns}
        testid={testid}
    />;
 
};