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 | 1x 1x 1x 1x 1x 57x 57x 57x 57x 57x 57x 57x 57x 57x 57x 57x 57x 57x 1x 1x 1x 57x 2x 2x 2x 57x 32x 32x 57x 9x 9x 9x 25x 25x 25x 25x 25x 25x 25x 25x 25x 25x 25x 25x 25x 1x | import { Button, Form } from "react-bootstrap"; import { useForm } from "react-hook-form"; import { useState } from "react"; import { useBackend } from "main/utils/useBackend"; import CommonsSelect from "main/components/Commons/CommonsSelect"; function InstructorReportSpecificCommonsForm({ submitAction }) { const testid = "InstructorReportSpecificCommonsForm"; const { data: commons } = useBackend( ["/api/commons/all"], { url: "/api/commons/all" }, [], ); const [selectedCommons, setSelectedCommons] = useState(null); const [selectedCommonsName, setSelectedCommonsName] = useState(null); const { handleSubmit, formState: { _errors }, } = useForm(); const handleCommonsSelection = (id, name) => { setSelectedCommons(id); setSelectedCommonsName(name); }; const onSubmit = () => { const params = { selectedCommons, selectedCommonsName }; submitAction(params); }; if (!commons || commons.length === 0) { return <div>There are no commons on which to run this job.</div>; } if (selectedCommons === null) { setSelectedCommons(commons[0].id); setSelectedCommonsName(commons[0].name); } return ( <Form onSubmit={handleSubmit(onSubmit)}> <CommonsSelect commons={commons} selectedCommons={selectedCommons} handleCommonsSelection={handleCommonsSelection} testid={testid} /> <p> Click this button to generate an instructor report for the selected commons. </p> <Button type="submit" data-testid="InstructorReportSpecificCommonsForm-Submit-Button" > Generate </Button> </Form> ); } export default InstructorReportSpecificCommonsForm; |