refactor(FE-208,212): add refreshApprovals and onModalClose props to approval forms

This commit is contained in:
rstubryan
2025-11-19 13:27:36 +07:00
parent 9d6455167f
commit 8bda56e5d3
3 changed files with 46 additions and 11 deletions
@@ -27,12 +27,16 @@ interface PurchaseOrderAcceptApprovalFormProps {
type?: 'add' | 'edit';
initialValues?: Purchase;
onCancel?: () => void;
refreshApprovals?: () => void;
onModalClose?: () => void;
}
const PurchaseOrderAcceptApprovalForm = ({
type = 'add',
initialValues,
onCancel,
refreshApprovals,
onModalClose,
}: PurchaseOrderAcceptApprovalFormProps) => {
const searchParams = useSearchParams();
const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] =
@@ -99,9 +103,12 @@ const PurchaseOrderAcceptApprovalForm = ({
return;
}
toast.success(res?.message as string);
refreshApprovals?.();
formik.resetForm();
onCancel?.();
onModalClose?.();
},
[initialValues?.id, searchParams]
[initialValues?.id, searchParams, refreshApprovals, onModalClose]
);
const updateAcceptApprovalHandler = useCallback(
@@ -112,10 +119,13 @@ const PurchaseOrderAcceptApprovalForm = ({
return;
}
toast.success(res?.message as string);
refreshApprovals?.();
formik.resetForm();
onCancel?.();
onModalClose?.();
window.location.href = '/purchase';
},
[]
[refreshApprovals, onModalClose]
);
// ===== FORM CONFIGURATION =====
@@ -652,7 +662,12 @@ const PurchaseOrderAcceptApprovalForm = ({
type='button'
color='warning'
className='px-4'
onClick={onCancel}
onClick={() => {
formik.resetForm();
setPurchaseOrderFormErrorMessage('');
onCancel?.();
onModalClose?.();
}}
>
Cancel
</Button>
@@ -27,12 +27,16 @@ interface PurchaseOrderStaffApprovalFormProps {
type?: 'add' | 'edit';
initialValues?: Purchase;
onCancel?: () => void;
refreshApprovals?: () => void;
onModalClose?: () => void;
}
const PurchaseOrderStaffApprovalForm = ({
type = 'add',
initialValues,
onCancel,
refreshApprovals,
onModalClose,
}: PurchaseOrderStaffApprovalFormProps) => {
const searchParams = useSearchParams();
const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] =
@@ -90,9 +94,12 @@ const PurchaseOrderStaffApprovalForm = ({
return;
}
toast.success(res?.message as string);
refreshApprovals?.();
formik.resetForm();
onCancel?.();
onModalClose?.();
},
[initialValues?.id, searchParams]
[initialValues?.id, searchParams, refreshApprovals, onModalClose]
);
const updateStaffApprovalHandler = useCallback(
@@ -106,10 +113,13 @@ const PurchaseOrderStaffApprovalForm = ({
return;
}
toast.success(res?.message as string);
refreshApprovals?.();
formik.resetForm();
onCancel?.();
onModalClose?.();
await router.push(`/purchase/detail?purchaseId=${purchaseId}`);
},
[]
[refreshApprovals, onModalClose]
);
// ===== FORM CONFIGURATION =====
@@ -451,7 +461,12 @@ const PurchaseOrderStaffApprovalForm = ({
type='button'
color='warning'
className='px-4'
onClick={onCancel}
onClick={() => {
formik.resetForm();
setPurchaseOrderFormErrorMessage('');
onCancel?.();
onModalClose?.();
}}
>
Cancel
</Button>
@@ -544,11 +544,7 @@ const PurchaseOrderDetail = ({
Approve
</Button>
<Button
variant='outline'
color='error'
className='w-full sm:w-fit'
>
<Button variant='outline' color='error' className='w-full sm:w-fit'>
<Icon icon='material-symbols:close' width={24} height={24} />
Reject
</Button>
@@ -864,6 +860,7 @@ const PurchaseOrderDetail = ({
};
await createManagerApprovalHandler(payload);
await refreshApprovals();
confirmationModalWithNotes.closeModal();
},
}}
@@ -884,6 +881,8 @@ const PurchaseOrderDetail = ({
type='add'
initialValues={purchaseData}
onCancel={handleStaffApprovalModalClose}
refreshApprovals={refreshApprovals}
onModalClose={staffApprovalModal.closeModal}
/>
</Modal>
@@ -899,6 +898,8 @@ const PurchaseOrderDetail = ({
type='add'
initialValues={purchaseData}
onCancel={acceptApprovalModal.closeModal}
refreshApprovals={refreshApprovals}
onModalClose={acceptApprovalModal.closeModal}
/>
</Modal>
@@ -914,6 +915,8 @@ const PurchaseOrderDetail = ({
type='edit'
initialValues={purchaseData}
onCancel={handleEditModalClose}
refreshApprovals={refreshApprovals}
onModalClose={editModal.closeModal}
/>
</Modal>
@@ -929,6 +932,8 @@ const PurchaseOrderDetail = ({
type='edit'
initialValues={purchaseData}
onCancel={penerimaanBarangModal.closeModal}
refreshApprovals={refreshApprovals}
onModalClose={penerimaanBarangModal.closeModal}
/>
</Modal>