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 78 79 80 | 1x 1x 1x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x 51x | import { useForm } from "react-hook-form";
import { Button, Form } from "react-bootstrap";
export default function IndividualAssignmentForm({ submitAction }) {
const {
register,
formState: { errors },
handleSubmit,
} = useForm();
return (
<Form
onSubmit={handleSubmit(submitAction)}
data-testid="IndividualAssignmentForm"
>
<Form.Group className="mb-3">
<Form.Label htmlFor="repoPrefix">Repository Prefix</Form.Label>
<Form.Control
id="repoPrefix"
type="text"
isInvalid={Boolean(errors.repoPrefix)}
data-testid="IndividualAssignmentForm-repoPrefix"
{...register("repoPrefix", {
required: "Repository Prefix is required.",
})}
/>
<Form.Control.Feedback type="invalid">
{errors.repoPrefix?.message}
</Form.Control.Feedback>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="assignmentPrivacy">
Private Repositories?
</Form.Label>
<Form.Check
id="assignmentPrivacy"
type="switch"
data-testid="IndividualAssignmentForm-assignmentPrivacy"
{...register("assignmentPrivacy")}
/>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="permissions">Student Permissions</Form.Label>
<Form.Control
as="select"
defaultValue={"MAINTAIN"}
data-testid={"IndividualAssignmentForm-permissions"}
{...register("permissions")}
>
<option value="READ">Read</option>
<option value="WRITE">Write</option>
<option value="MAINTAIN">Maintain</option>
<option value="ADMIN">Admin</option>
</Form.Control>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="creationOption">
Create Repositories for
</Form.Label>
<Form.Control
as="select"
id="creationOption"
defaultValue="STUDENTS_ONLY"
data-testid="IndividualAssignmentForm-creationOption"
{...register("creationOption")}
>
<option value="STUDENTS_ONLY">Students Only</option>
<option value="STAFF_ONLY">Staff Only</option>
<option value="STUDENTS_AND_STAFF">Students and Staff</option>
</Form.Control>
</Form.Group>
<Form.Group>
<Button type="submit" data-testid="IndividualAssignmentForm-submit">
Create
</Button>
</Form.Group>
</Form>
);
}
|