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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 105x 105x | import { useForm } from "react-hook-form";
import { Button, Form, OverlayTrigger, Tooltip } from "react-bootstrap";
import { BsInfoCircle } from "react-icons/bs";
export default function TeamRepositoryAssignmentForm({ submitAction }) {
const {
register,
formState: { errors },
handleSubmit,
} = useForm();
return (
<Form
onSubmit={handleSubmit(submitAction)}
data-testid="TeamRepositoryAssignmentForm"
>
<Form.Group className="mb-3">
<Form.Label htmlFor="repoPrefix">Team Repository Prefix</Form.Label>
<Form.Control
id="repoPrefix"
type="text"
isInvalid={Boolean(errors.repoPrefix)}
data-testid="TeamRepositoryAssignmentForm-repoPrefix"
{...register("repoPrefix", {
required: "Team 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="TeamRepositoryAssignmentForm-assignmentPrivacy"
{...register("assignmentPrivacy")}
/>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="permissions">Team Permissions</Form.Label>
<Form.Control
as="select"
defaultValue={"MAINTAIN"}
data-testid={"TeamRepositoryAssignmentForm-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="teamRegex">Team Regex</Form.Label>
<Form.Control
id="teamRegex"
type="text"
data-testid="TeamRepositoryAssignmentForm-teamRegex"
{...register("teamRegex")}
/>
<OverlayTrigger
placement="right"
overlay={
<Tooltip id="teamRegex-help-tooltip">
For team names which contain this regex, a repository will be
created. If left blank, a repository will be created for all
teams.
<br />
<br />
Ex:
<br />
{'"s26-0[1-2]"'} will create [prefix]-s26-01 and [prefix]-s26-02
<br />
<br />
{'"s26"'} will create [prefix]-s26-01 | [prefix]-s26-02 |
[prefix]-s26-03 | etc
</Tooltip>
}
>
<BsInfoCircle data-testid={"testid-teamRegex-info-icon"} />
</OverlayTrigger>
</Form.Group>
<Form.Group>
<Button type="submit" data-testid="TeamRepositoryAssignmentForm-submit">
Create
</Button>
</Form.Group>
</Form>
);
}
|