mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-25 15:55:48 +00:00
feat(FE-175): update grading logic in GradingForm to utilize konsumsiBaikEggId
This commit is contained in:
@@ -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 (
|
||||||
<>
|
<>
|
||||||
|
|||||||
Reference in New Issue
Block a user