Files
aso/frontend/dashboard/src/pages/Master/FormulariumV2/CreateUpdate.tsx
2023-10-26 17:43:47 +07:00

69 lines
2.3 KiB
TypeScript

import { useNavigate, useParams } from "react-router-dom";
import HeaderBreadcrumbs from "../../../components/HeaderBreadcrumbs";
import Page from "../../../components/Page";
import useSettings from "../../../hooks/useSettings";
import {useContext, useEffect, useMemo, useState } from 'react';
import axios from '../../../utils/axios';
import { useSnackbar } from 'notistack';
import { ConfiguredCorporateContext } from "@/contexts/ConfiguredCorporateContext";
import { Corporate, CorporatePlan } from "@/@types/corporates";
import { MasterFormularium } from "./Type";
import CreateUpdateForm from "./CreateUpdateForm";
import Typography from "@/theme/overrides/Typography";
export default function CreateUpdate() {
const navigate = useNavigate();
const { corporate_id, id } = useParams();
const [corporate, setCorporate] = useState<Corporate|null>();
const configuredCorporateContext = useContext(ConfiguredCorporateContext)
useEffect(() => {
setCorporate(configuredCorporateContext.currentCorporate);
}, [ConfiguredCorporateContext])
const [ currentCorporatePlan, setCurrentCorporatePlan ] = useState<CorporatePlan>();
const [ currentMasterForm, setCurrentMasterForm ] = useState<MasterFormularium>();
const isEdit = !!id;
useEffect(() => {
if (isEdit) {
axios.get(`/master/formularium-template/${id}/edit`)
.then((res) => {
// setCurrentCorporatePlan(res.data);
setCurrentMasterForm(res.data);
})
.catch((err) => {
if (err.response.status === 404) {
navigate('/404');
}
})
}
}, [corporate_id, id])
const pageType = !isEdit ? "Create" : "Edit"
const pageTitle = `Master Formularium ${pageType}`
return (
<Page title={pageTitle}>
<HeaderBreadcrumbs
heading={pageTitle}
links={[
{
name: 'Master',
href: '/master/formularium-template-v2'
},
{
name: 'Formularium',
href: '/master/formularium-template-v2'
},
{
name: !isEdit ? 'Create' : 'Edit',
href: !isEdit ? `/master/formularium-template-v2/create` : `/master/formularium-template-v2/${id}/edit`
}
]}
/>
<CreateUpdateForm isEdit={isEdit} currentMasterForm={currentMasterForm} />
</Page>
)
}