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 | 1x 1x 1x 1x 1x 1x 1x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 3x 3x 3x 3x 3x 3x 3x 3x 3x 11x 11x 3x 3x 11x 11x 11x 11x 11x 11x 3x 3x 11x 3x 3x 8x 8x 8x 8x 8x 11x 11x 11x 11x 11x | import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { useParams } from "react-router";
import UCSBOrganizationForm from "main/components/UCSBOrganization/UCSBOrganizationForm";
import { Navigate } from "react-router";
import { useBackend, useBackendMutation } from "main/utils/useBackend";
import { toast } from "react-toastify";
export default function UCSBOrganizationEditPage({ storybook = false }) {
// The key is orgCode, not id
let { orgCode } = useParams();
// GET the existing organization by orgCode
const {
data: ucsborganization,
_error,
_status,
} = useBackend(
// React Query key (must be unique per orgCode)
[`/api/UCSBOrganization?orgCode=${orgCode}`],
//[`/api/UCSBOrganization`, { params: { orgCode } }],
{
method: "GET",
url: "/api/UCSBOrganization",
//params: { orgCode: orgCode }, // send as query parameter
params: { orgCode,},
},
);
// PUT request to update an organization
const objectToAxiosPutParams = (ucsborganization) => ({
url: "/api/UCSBOrganization",
method: "PUT",
params: { orgCode: ucsborganization.orgCode },
data: {
orgTranslationShort: ucsborganization.orgTranslationShort,
orgTranslation: ucsborganization.orgTranslation,
inactive: ucsborganization.inactive,
},
});
// Toast after successful update
const onSuccess = (ucsborganization) => {
toast(`UCSBOrganization Updated - orgCode: ${ucsborganization.orgCode}`);
};
const mutation = useBackendMutation(
objectToAxiosPutParams,
{ onSuccess },
[`/api/UCSBOrganization?orgCode=${orgCode}`],
//[`/api/UCSBOrganization`, { params: { orgCode } }],
);
const { isSuccess } = mutation;
const onSubmit = async (data) => {
mutation.mutate(data);
};
if (isSuccess && !storybook) {
return <Navigate to="/ucsborganization" />;
}
return (
<BasicLayout>
<div className="pt-2">
<h1>Edit UCSBOrganization</h1>
{ucsborganization && (
<UCSBOrganizationForm
submitAction={onSubmit}
buttonLabel={"Update"}
initialContents={ucsborganization}
/>
)}
</div>
</BasicLayout>
);
}
|