fix(FE-270): delete relations project flock to flock data master

This commit is contained in:
randy-ar
2025-11-21 01:28:57 +07:00
parent d523a01e34
commit 23ab4b15e1
5 changed files with 68 additions and 378 deletions
@@ -579,7 +579,7 @@ const ProjectFlockTable = () => {
<ConfirmationModal
ref={deleteModal.ref}
type='error'
text={`Apakah anda yakin ingin menghapus data Project Flock ini (${selectedProjectFlock?.flock?.name})?`}
text={`Apakah anda yakin ingin menghapus data Project Flock ini (${selectedProjectFlock?.flock_name})?`}
secondaryButton={{
text: 'Tidak',
}}
@@ -285,13 +285,24 @@ const ProjectFlockForm = ({
// Formik InitialValue
const formikInitialValues = useMemo<ProjectFlockFormValues>(() => {
const trimFlock =
initialValues?.flock_name?.slice(
0,
initialValues?.flock_name?.lastIndexOf(' ')
) ?? '';
return {
name: initialValues?.flock_name,
flock: initialValues?.flock
flock: initialValues?.flock_name
? {
value: initialValues?.flock?.id ?? 0,
value:
optionsFlock.find((flock) => {
return flock.label == trimFlock;
})?.value ?? 0,
label:
initialValues?.flock?.name ?? initialValues?.flock_name ?? '',
formType != 'detail'
? (optionsFlock.find((flock) => {
return flock.label == trimFlock;
})?.label ?? '')
: initialValues?.flock_name,
}
: null,
area: initialValues?.area
@@ -318,8 +329,16 @@ const ProjectFlockForm = ({
label: initialValues.location.name,
}
: null,
flock_id: initialValues?.flock?.id ?? 0,
flock_name: initialValues?.flock_name ?? '',
flock_name:
optionsFlock.find((flock) => {
return (
flock.label ==
initialValues?.flock_name?.slice(
0,
initialValues?.flock_name?.lastIndexOf(' ')
)
);
})?.label ?? '',
area_id: initialValues?.area?.id ?? 0,
category: initialValues?.category as NonNullable<
'GROWING' | 'LAYING' | undefined
@@ -331,17 +350,35 @@ const ProjectFlockForm = ({
| undefined
)[],
};
}, [initialValues]);
}, [initialValues, optionsFlock]);
// Formik
const formik = useFormik<ProjectFlockFormValues>({
initialValues: {
name: initialValues?.flock_name,
flock: initialValues?.flock
flock: initialValues?.flock_name
? {
value: initialValues?.flock?.id ?? 0,
value:
optionsFlock.find((flock) => {
return (
flock.label ==
initialValues?.flock_name?.slice(
0,
initialValues?.flock_name?.lastIndexOf(' ')
)
);
})?.value ?? 0,
label:
initialValues?.flock?.name ?? initialValues?.flock_name ?? '',
formType != 'detail'
? (optionsFlock.find((flock) => {
return (
flock.label ==
initialValues?.flock_name?.slice(
0,
initialValues?.flock_name?.lastIndexOf(' ')
)
);
})?.label ?? '')
: initialValues?.flock_name,
}
: null,
area: initialValues?.area
@@ -368,8 +405,18 @@ const ProjectFlockForm = ({
label: initialValues.location.name,
}
: null,
flock_id: initialValues?.flock?.id ?? 0,
flock_name: initialValues?.flock_name ?? '',
flock_name:
formType != 'detail'
? optionsFlock.find((flock) => {
return (
flock.label ==
initialValues?.flock_name?.slice(
0,
initialValues?.flock_name?.lastIndexOf(' ')
)
);
})?.label
: (initialValues?.flock_name ?? ''),
area_id: initialValues?.area?.id ?? 0,
category: initialValues?.category as NonNullable<
'GROWING' | 'LAYING' | undefined
@@ -390,7 +437,7 @@ const ProjectFlockForm = ({
onSubmit: async (values) => {
setProjectFlockFormErrorMessage('');
const payload: CreateProjectFlockPayload = {
flock_name: values.flock?.label as string,
flock_name: values.flock_name as string,
area_id: values.area_id as number,
category: values.category as string,
fcr_id: values.fcr_id as number,
@@ -599,7 +646,6 @@ const ProjectFlockForm = ({
<div className='card bg-base-100 shadow w-full mb-6'>
<div className='card-body'>
<div className='card-title mb-4'>Informasi Umum</div>
{selectedFlock}
<div className='grid sm:grid-cols-2 gap-4'>
<SelectInput
required
@@ -621,16 +667,16 @@ const ProjectFlockForm = ({
value={
formik.values.flock_name
? ({
label: selectedFlock,
label: formik.values.flock_name,
value: optionsFlock.find((flock) => {
return flock.label === selectedFlock;
return flock.label === formik.values.flock_name;
})?.value,
} as OptionType)
: undefined
}
onChange={(val) => {
optionChangeHandler(val, 'flock');
setSelectedFlock((val as OptionType)?.label as string);
setSelectedFlock((val as OptionType)?.label);
formik.setFieldValue(
'flock_name',
(val as OptionType)?.label
@@ -812,7 +858,7 @@ const ProjectFlockForm = ({
<ConfirmationModal
ref={deleteModal.ref}
type='error'
text={`Apakah anda yakin ingin menghapus data Project Flock ini (${initialValues?.flock?.name} - ${initialValues?.area?.name})?`}
text={`Apakah anda yakin ingin menghapus data Project Flock ini (${initialValues?.flock_name} - ${initialValues?.area?.name})?`}
secondaryButton={{
text: 'Tidak',
}}
@@ -829,7 +875,7 @@ const ProjectFlockForm = ({
type={approvalAction == 'APPROVED' ? 'success' : 'error'}
text={`Apakah anda yakin ingin ${
approvalAction == 'APPROVED' ? 'approve' : 'reject'
} Project Flock berikut? (${initialValues?.flock?.name} - ${
} Project Flock berikut? (${initialValues?.flock_name} - ${
initialValues?.area?.name
})?`}
secondaryButton={{