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]);
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<RecordingGradingFormValues>({
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 (
<>