feat(FE-175): update grading logic in GradingForm to utilize konsumsiBaikEggId

This commit is contained in:
rstubryan
2025-11-06 21:38:52 +07:00
parent 5245d44a79
commit c012668340
@@ -113,6 +113,7 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => {
}, [recording]); }, [recording]);
const totalKonsumsiBaikEggs = konsumsiBaikEggData?.qty || 0; const totalKonsumsiBaikEggs = konsumsiBaikEggData?.qty || 0;
const konsumsiBaikEggId = konsumsiBaikEggData?.id;
// FORM HANDLERS // FORM HANDLERS
const createGradingHandler = useCallback( const createGradingHandler = useCallback(
@@ -179,7 +180,11 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => {
// FORMIK SETUP // FORMIK SETUP
const formikInitialValues = useMemo(() => { const formikInitialValues = useMemo(() => {
let recordingEggId: number | undefined = initialValues?.id; let recordingEggId: number | undefined = konsumsiBaikEggId;
if (!recordingEggId && initialValues?.id) {
recordingEggId = initialValues.id;
}
if (!recordingEggId) { if (!recordingEggId) {
recordingEggId = parseInt(recordingId || '0') || 0; recordingEggId = parseInt(recordingId || '0') || 0;
@@ -194,7 +199,7 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => {
qty: grading.qty, qty: grading.qty,
})) || [], })) || [],
}); });
}, [initialValues, recordingId]); }, [initialValues, recordingId, konsumsiBaikEggId]);
const formik = useFormik<RecordingGradingFormValues>({ const formik = useFormik<RecordingGradingFormValues>({
initialValues: formikInitialValues, initialValues: formikInitialValues,
@@ -238,7 +243,11 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => {
// GRADING HANDLERS // GRADING HANDLERS
const addGrading = () => { const addGrading = () => {
let recordingEggId: number | undefined = initialValues?.id; let recordingEggId: number | undefined = konsumsiBaikEggId;
if (!recordingEggId && initialValues?.id) {
recordingEggId = initialValues.id;
}
if (!recordingEggId) { if (!recordingEggId) {
recordingEggId = parseInt(recordingId || '0') || 0; recordingEggId = parseInt(recordingId || '0') || 0;
@@ -352,18 +361,16 @@ const GradingForm = ({ type = 'add', initialValues }: GradingFormProps) => {
}, [isGradingExceedsAvailable, currentGradingTotal, totalKonsumsiBaikEggs]); }, [isGradingExceedsAvailable, currentGradingTotal, totalKonsumsiBaikEggs]);
useEffect(() => { useEffect(() => {
if (formik.values.eggs_grading && formik.values.eggs_grading.length === 0) { if (
let recordingEggId: number | undefined = initialValues?.id; konsumsiBaikEggId &&
formik.values.eggs_grading &&
if (!recordingEggId) { formik.values.eggs_grading.length === 0
recordingEggId = parseInt(recordingId || '0') || 0; ) {
}
formik.setFieldValue('eggs_grading', [ formik.setFieldValue('eggs_grading', [
{ recording_egg_id: recordingEggId, grade: '', qty: '' }, { recording_egg_id: konsumsiBaikEggId, grade: '', qty: '' },
]); ]);
} }
}, []); }, [konsumsiBaikEggId, formik.values.eggs_grading]);
return ( return (
<> <>