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 96 97 98 99 100 101 102 103 104 105 | 1x 1x 1x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 21x 1x | import { Button, Form } from "react-bootstrap";
import { useForm } from "react-hook-form";
import { useNavigate } from "react-router";
function UCSBOrganizationForm({
initialContents,
submitAction,
buttonLabel = "Create",
}) {
// Stryker disable all
const {
register,
formState: { errors },
handleSubmit,
} = useForm({ defaultValues: initialContents || {} });
// Stryker restore all
const navigate = useNavigate();
const testIdPrefix = "UCSBOrganizationForm";
return (
<Form onSubmit={handleSubmit(submitAction)}>
<Form.Group className="mb-3">
<Form.Label htmlFor="orgCode">Organization Code</Form.Label>
<Form.Control
data-testid={testIdPrefix + "-orgCode"}
id="orgCode"
type="text"
isInvalid={Boolean(errors.orgCode)}
{...register("orgCode", {
maxLength: { value: 30, message: "Max length 30 characters" },
required: "Organization code is required.",
})}
disabled={initialContents}
/>
<Form.Control.Feedback type="invalid">
{errors.orgCode?.message}
</Form.Control.Feedback>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="orgTranslationShort">
Short Organization Translation
</Form.Label>
<Form.Control
data-testid={testIdPrefix + "-orgTranslationShort"}
id="orgTranslationShort"
type="text"
isInvalid={Boolean(errors.orgTranslationShort)}
{...register("orgTranslationShort", {
required: "Short Organization Translation is required.",
})}
/>
<Form.Control.Feedback type="invalid">
{errors.orgTranslationShort?.message}
</Form.Control.Feedback>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="orgTranslation">
Organization Translation
</Form.Label>
<Form.Control
data-testid={testIdPrefix + "-orgTranslation"}
id="orgTranslation"
type="text"
isInvalid={Boolean(errors.orgTranslation)}
{...register("orgTranslation", {
required: "Organization Translation is required.",
})}
/>
<Form.Control.Feedback type="invalid">
{errors.orgTranslation?.message}
</Form.Control.Feedback>
</Form.Group>
<Form.Group className="mb-3">
<Form.Label htmlFor="inactive">Inactive Status</Form.Label>
<Form.Select
data-testid={testIdPrefix + "-inactive"}
id="inactive"
{...register("inactive", {})}
>
<option value="true">True</option>
<option value="false">False</option>
</Form.Select>
</Form.Group>
<Button type="submit" data-testid={testIdPrefix + "-submit"}>
{buttonLabel}
</Button>
<Button
variant="Secondary"
onClick={() => navigate(-1)}
data-testid={testIdPrefix + "-cancel"}
>
Cancel
</Button>
</Form>
);
}
export default UCSBOrganizationForm;
|