fix(FE-92-93-105-106): fixing chickin form, after submit event and chickin modal trigger

This commit is contained in:
randy-ar
2025-10-23 18:43:26 +07:00
parent eaf41805d7
commit 8a467c2d65
4 changed files with 52 additions and 12 deletions
+22 -9
View File
@@ -29,9 +29,11 @@ const AddChickin = () => {
paramMap: { page: 'page', pageSize: 'limit' },
});
// States
const [selectedKandang, setSelectedKandang] = useState<Kandang | undefined>(
undefined
);
const [searchProjectFlock, setSearchProjectFlock] = useState('');
// Fetch Data
const { data: projectFlock, isLoading: isLoadingProjectFlock } = useSWR(
@@ -39,7 +41,9 @@ const AddChickin = () => {
(id: number) => ProjectFlockApi.getSingle(id)
);
const { data: listProjectFlock, isLoading: isLoadingListProjectFlock } =
useSWR(`${ProjectFlockApi.basePath}`, ProjectFlockApi.getAllFetcher);
useSWR(`${ProjectFlockApi.basePath}?${new URLSearchParams({
search: searchProjectFlock,
}).toString()}`, ProjectFlockApi.getAllFetcher);
const getProjectFlockKandangUrl = `/kandangs/lookup`;
const {
@@ -64,7 +68,7 @@ const AddChickin = () => {
? listProjectFlock?.data.map((projectFlock) => {
return {
value: projectFlock.id,
label: projectFlock?.flock.name,
label: `${projectFlock?.flock.name} - ${projectFlock?.category} - Periode ${projectFlock.period}` ,
};
})
: [];
@@ -97,10 +101,13 @@ const AddChickin = () => {
// Handle Function
const handleChickinClick = (kandang: Kandang) => {
setSelectedKandang(kandang);
if (isResponseSuccess(projectFlockKandang) && projectFlockKandang.data.id) {
chickinModal.openModal();
return;
}
refreshProjectFlockKandang();
chickinModal.openModal();
};
const handleAfterSubmit = () => {
refreshProjectFlockKandang();
chickinModal.closeModal();
router.push('/production/chickin');
};
return (
@@ -119,13 +126,15 @@ const AddChickin = () => {
</Button>
<div className='flex flex-col gap-4 w-full my-4'>
<div className='max-w-64'>
<div className='max-w-1/4'>
<SelectInput
label='Project flock'
required
isSearchable
label='Project Flock'
options={options}
isLoading={isLoadingListProjectFlock}
value={{
label: projectFlock.data.flock.name,
label: `${projectFlock.data.flock.name} - ${projectFlock.data.category} - Periode ${projectFlock.data.period}`,
value: projectFlock.data.id,
}}
onChange={(val) =>
@@ -135,6 +144,9 @@ const AddChickin = () => {
}`
)
}
onInputChange={(val) => {
setSearchProjectFlock(val);
}}
/>
</div>
</div>
@@ -224,6 +236,7 @@ const AddChickin = () => {
created_at: projectFlock.data.created_at,
updated_at: projectFlock.data.updated_at,
}}
afterSubmit={handleAfterSubmit}
/>
)}
</Modal>