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 }}
/>
);
}
|