refactor(FE-137): update RecordingForm to improve project flock handling and label formatting

This commit is contained in:
rstubryan
2025-10-27 05:54:14 +07:00
parent 135fc2d5d3
commit c8f596ad2a
2 changed files with 9 additions and 11 deletions
@@ -93,7 +93,7 @@ export const getRecordingFormInitialValues = (
project_flock_kandang: initialValues?.project_flock_kandang_id project_flock_kandang: initialValues?.project_flock_kandang_id
? { ? {
value: initialValues.project_flock_kandang_id, value: initialValues.project_flock_kandang_id,
label: `Project Flock Kandang #${initialValues.project_flock_kandang_id}`, label: `Project Flock #${initialValues.project_flock_kandang_id}`,
} }
: null, : null,
project_flock_kandang_id: initialValues?.project_flock_kandang_id ?? 0, project_flock_kandang_id: initialValues?.project_flock_kandang_id ?? 0,
@@ -107,7 +107,7 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
projectFlocks?.data.forEach((projectFlock) => { projectFlocks?.data.forEach((projectFlock) => {
projectFlock.kandangs.forEach((kandang) => { projectFlock.kandangs.forEach((kandang) => {
options.push({ options.push({
value: kandang.id, value: projectFlock.id,
label: `${projectFlock.flock.name} - ${projectFlock.area.name} - ${kandang.name}`, label: `${projectFlock.flock.name} - ${projectFlock.area.name} - ${kandang.name}`,
}); });
}); });
@@ -242,15 +242,13 @@ const RecordingForm = ({ type = 'add', initialValues }: RecordingFormProps) => {
if (!formik.values.project_flock_kandang || !isResponseSuccess(projectFlocks)) { if (!formik.values.project_flock_kandang || !isResponseSuccess(projectFlocks)) {
return selectedLocation; return selectedLocation;
} }
const kandangId = formik.values.project_flock_kandang.value; const projectFlockId = formik.values.project_flock_kandang.value;
for (const projectFlock of projectFlocks.data) { const projectFlock = projectFlocks.data.find(pf => pf.id === projectFlockId);
const kandang = projectFlock.kandangs.find(k => k.id === kandangId); if (projectFlock && projectFlock.location) {
if (kandang && projectFlock.location) { return {
return { value: projectFlock.location.id,
value: projectFlock.location.id, label: projectFlock.location.name
label: projectFlock.location.name };
};
}
} }
return selectedLocation; return selectedLocation;
}, [formik.values.project_flock_kandang, projectFlocks, selectedLocation]); }, [formik.values.project_flock_kandang, projectFlocks, selectedLocation]);