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 | 1x 1x 1x 1x 1x 1x 1x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 1x 1x 1x 1x 1x 1x 1x 1x 1x 12x 1x 1x 1x 12x 12x 12x 12x 12x 12x 12x 1x 1x 12x 3x 3x 9x 9x 9x 9x 9x 12x 12x 12x 12x 12x | import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { useParams } from "react-router";
import RequestTypeForm from "main/components/RequestType/RequestTypeForm";
import { Navigate } from "react-router";
import { useBackend, useBackendMutation } from "main/utils/useBackend";
import { toast } from "react-toastify";
export default function RequestTypeEditPage({ storybook = false }) {
let { id } = useParams();
const {
data: requestTypes,
_error,
_status,
} = useBackend(
// Stryker disable next-line all : don't test internal caching of React Query
[`/api/requesttypes?id=${id}`],
{
// Stryker disable next-line all : GET is the default, so changing this to "" doesn't introduce a bug
method: "GET",
url: `/api/requesttypes`,
params: {
id,
},
},
);
const objectToAxiosPutParams = (requestTypes) => ({
url: "/api/requesttypes",
method: "PUT",
params: {
id: requestTypes.id,
},
data: {
requestType: requestTypes.requestType,
},
});
const onSuccess = (requestTypes) => {
toast(
`RequestType Updated - id: ${requestTypes.id} request type: ${requestTypes.requestType}`,
);
};
const mutation = useBackendMutation(
objectToAxiosPutParams,
{ onSuccess },
// Stryker disable next-line all : hard to set up test for caching
[`/api/requesttypes?id=${id}`],
);
const { isSuccess } = mutation;
const onSubmit = async (data) => {
mutation.mutate(data);
};
if (isSuccess && !storybook) {
return <Navigate to="/requesttypes/all" />;
}
return (
<BasicLayout>
<div className="pt-2">
<h1>Edit RequestType</h1>
{requestTypes && (
<RequestTypeForm
initialContents={requestTypes}
submitAction={onSubmit}
buttonLabel="Update"
/>
)}
</div>
</BasicLayout>
);
}
|