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 | 179x 23x 23x 177x 176x 176x 1x 23x 177x 177x 177x 177x 177x 177x 23x 12x 23x | import React from "react"; import OurTable, { DateColumn } from "main/components/OurTable"; import { Link } from "react-router-dom"; export function truncateLines(lines) { return lines.slice(0, 10).join("\n"); } export default function JobsTable({ jobs }) { const testid = "JobsTable"; const truncateLog = (log) => { if (log) { const lines = log.split("\n"); return truncateLines(lines); } return ""; }; const columns = [ { Header: "id", accessor: "id", // accessor is the "key" in the data }, DateColumn("Created", (cell) => cell.row.original.createdAt), DateColumn("Updated", (cell) => cell.row.original.updatedAt), { Header: "Status", accessor: "status", }, { Header: "Log", Cell: ({ cell }) => { const log = cell.row.original.log; const id = cell.row.original.id; const truncatedLog = truncateLog(log); return ( <div> <pre>{truncatedLog}</pre> {log && log.split("\n").length > 10 && ( <div> <pre>...</pre> <Link to={`/admin/jobs/logs/${id}`} data-testid={`${testid}-see-entire-log-${id}`} > [See entire log] </Link> </div> )} </div> ); }, }, ]; const sortees = React.useMemo( () => [ { id: "id", desc: true, }, ], // Stryker disable next-line all [], ); return ( <OurTable data={jobs} columns={columns} testid={testid} initialState={{ sortBy: sortees }} /> ); } |