diff --git a/src/components/pages/production/recording/grading/form/GradingForm.tsx b/src/components/pages/production/recording/grading/form/GradingForm.tsx index 5cb371ad..9005f0a9 100644 --- a/src/components/pages/production/recording/grading/form/GradingForm.tsx +++ b/src/components/pages/production/recording/grading/form/GradingForm.tsx @@ -113,6 +113,7 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => { }, [recording]); const totalKonsumsiBaikEggs = konsumsiBaikEggData?.qty || 0; + const konsumsiBaikEggId = konsumsiBaikEggData?.id; // FORM HANDLERS const createGradingHandler = useCallback( @@ -179,7 +180,11 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => { // FORMIK SETUP const formikInitialValues = useMemo(() => { - let recordingEggId: number | undefined = initialValues?.id; + let recordingEggId: number | undefined = konsumsiBaikEggId; + + if (!recordingEggId && initialValues?.id) { + recordingEggId = initialValues.id; + } if (!recordingEggId) { recordingEggId = parseInt(recordingId || '0') || 0; @@ -194,7 +199,7 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => { qty: grading.qty, })) || [], }); - }, [initialValues, recordingId]); + }, [initialValues, recordingId, konsumsiBaikEggId]); const formik = useFormik({ initialValues: formikInitialValues, @@ -238,7 +243,11 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => { // GRADING HANDLERS const addGrading = () => { - let recordingEggId: number | undefined = initialValues?.id; + let recordingEggId: number | undefined = konsumsiBaikEggId; + + if (!recordingEggId && initialValues?.id) { + recordingEggId = initialValues.id; + } if (!recordingEggId) { recordingEggId = parseInt(recordingId || '0') || 0; @@ -352,18 +361,16 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => { }, [isGradingExceedsAvailable, currentGradingTotal, totalKonsumsiBaikEggs]); useEffect(() => { - if (formik.values.eggs_grading && formik.values.eggs_grading.length === 0) { - let recordingEggId: number | undefined = initialValues?.id; - - if (!recordingEggId) { - recordingEggId = parseInt(recordingId || '0') || 0; - } - + if ( + konsumsiBaikEggId && + formik.values.eggs_grading && + formik.values.eggs_grading.length === 0 + ) { formik.setFieldValue('eggs_grading', [ - { recording_egg_id: recordingEggId, grade: '', qty: '' }, + { recording_egg_id: konsumsiBaikEggId, grade: '', qty: '' }, ]); } - }, []); + }, [konsumsiBaikEggId, formik.values.eggs_grading]); return ( <>