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 61x 61x 61x 61x 61x 61x 61x 61x 61x 61x 61x 61x 61x 1x 1x 1x 61x 2x 2x 2x 61x 36x 36x 61x 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;
|