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 | 1x 1x 1x 1x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 67x 1x 1x 1x 1x 1x 1x 67x 1x 1x 67x 67x 67x 67x 67x 67x 67x 1x 1x 67x 67x 67x 67x 67x 67x 67x 67x | import { useBackendMutation } from "main/utils/useBackend"; import { toast } from "react-toastify"; import OurTable, { ButtonColumn } from "main/components/OurTable"; export default function DroppedStudentsTable({ students, courseId }) { const columns = [ { header: "id", accessorKey: "id", id: "id", }, { header: "Student Id", accessorKey: "studentId", }, { header: "First Name", accessorKey: "firstName", }, { header: "Last Name", accessorKey: "lastName", }, { header: "Email", accessorKey: "email", }, ]; const cellToAxiosParamsRestore = (cell) => ({ url: `/api/rosterstudents/restore`, method: "PUT", params: { id: cell.row.original.id, }, }); const restoreSuccess = () => { toast("Student successfully restored to course."); }; const restoreMutation = useBackendMutation( cellToAxiosParamsRestore, { onSuccess: restoreSuccess, }, [`/api/rosterstudents/course/${courseId}`], ); const restoreCallback = (cell) => { restoreMutation.mutate(cell); }; columns.push( ButtonColumn("Restore", "primary", restoreCallback, "RestoreButton"), ); return ( <OurTable columns={columns} data={students} testid={"DroppedStudentsTable"} /> ); } |