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 1x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 18x 4x 4x 4x 4x 4x 4x 4x 4x 4x 18x 4x 4x 18x 18x 18x 18x 18x 1x 1x 1x 18x 3x 3x 14x 14x 14x 14x 14x 18x 18x 18x 18x 18x | import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { useParams, Navigate } from "react-router";
import UCSBOrganizationForm from "main/components/UCSBOrganization/UCSBOrganizationForm";
import { useBackend, useBackendMutation } from "main/utils/useBackend";
import { toast } from "react-toastify";
export default function UCSBOrganizationEditPage({ storybook = false }) {
const { orgCode: orgCodeParam, id: legacyIdParam } = useParams();
const orgCode = orgCodeParam ?? legacyIdParam;
// GET the record by orgCode
const { data: ucsbOrganization } = useBackend(
[`/api/ucsborganizations?orgCode=${orgCode}`],
{
method: "GET",
url: "/api/ucsborganizations",
params: { orgCode },
},
);
// PUT update
const objectToAxiosPutParams = (form) => ({
url: "/api/ucsborganizations",
method: "PUT",
params: { orgCode },
data: {
orgTranslationShort: form.orgTranslationShort,
orgTranslation: form.orgTranslation,
inactive: form.inactive,
},
});
const onSuccess = (updated) => {
toast(`UCSBOrganization Updated - orgCode: ${updated?.orgCode ?? orgCode}`);
};
const mutation = useBackendMutation(objectToAxiosPutParams, { onSuccess }, [
`/api/ucsborganizations?orgCode=${orgCode}`,
]);
const onSubmit = (data) => mutation.mutate(data);
if (!orgCode) {
toast("Missing route param: orgCode (or id). Check your route path.");
return <Navigate to="/ucsborganization" />;
}
if (mutation.isSuccess && !storybook) {
return <Navigate to="/ucsborganization" />;
}
return (
<BasicLayout>
<div className="pt-2">
<h1>Edit UCSBOrganization</h1>
{ucsbOrganization && (
<UCSBOrganizationForm
initialContents={ucsbOrganization}
submitAction={onSubmit}
buttonLabel="Update"
/>
)}
</div>
</BasicLayout>
);
}
|