mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-22 22:35:45 +00:00
feat(FE-208): add refetchData prop to PurchaseOrderDetail and related forms for improved data synchronization
This commit is contained in:
@@ -69,11 +69,13 @@ const PenerimaanBarangDropdown = ({ onEdit }: { onEdit: () => void }) => {
|
||||
interface PurchaseOrderDetailProps {
|
||||
type?: 'detail' | 'edit';
|
||||
initialValues?: Purchase;
|
||||
refetchData?: () => void;
|
||||
}
|
||||
|
||||
const PurchaseOrderDetail = ({
|
||||
type = 'detail',
|
||||
initialValues,
|
||||
refetchData,
|
||||
}: PurchaseOrderDetailProps) => {
|
||||
// ===== MODAL HOOKS =====
|
||||
const searchParams = useSearchParams();
|
||||
@@ -251,8 +253,9 @@ const PurchaseOrderDetail = ({
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refreshApprovals();
|
||||
refetchData?.();
|
||||
},
|
||||
[initialValues?.id, searchParams, refreshApprovals]
|
||||
[initialValues?.id, searchParams, refreshApprovals, refetchData]
|
||||
);
|
||||
|
||||
const createManagerApprovalHandler = useCallback(
|
||||
@@ -276,20 +279,23 @@ const PurchaseOrderDetail = ({
|
||||
return;
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refetchData?.();
|
||||
},
|
||||
[initialValues?.id, searchParams]
|
||||
[initialValues?.id, searchParams, refetchData]
|
||||
);
|
||||
|
||||
// ===== MODAL HANDLERS =====
|
||||
const handleStaffApprovalModalClose = useCallback(() => {
|
||||
refreshApprovals();
|
||||
refetchData?.();
|
||||
staffApprovalModal.closeModal();
|
||||
}, [refreshApprovals]);
|
||||
}, [refreshApprovals, refetchData]);
|
||||
|
||||
const handleEditModalClose = useCallback(() => {
|
||||
refreshApprovals();
|
||||
refetchData?.();
|
||||
editModal.closeModal();
|
||||
}, [refreshApprovals]);
|
||||
}, [refreshApprovals, refetchData]);
|
||||
|
||||
// ===== DELETE HANDLER =====
|
||||
const deleteItemsHandler = useCallback(async () => {
|
||||
@@ -327,6 +333,7 @@ const PurchaseOrderDetail = ({
|
||||
|
||||
toast.success(successMessage);
|
||||
refreshApprovals();
|
||||
refetchData?.();
|
||||
deleteModal.closeModal();
|
||||
setSelectedItem(null);
|
||||
setRowSelection({});
|
||||
@@ -335,7 +342,7 @@ const PurchaseOrderDetail = ({
|
||||
} finally {
|
||||
setIsDeleteLoading(false);
|
||||
}
|
||||
}, [initialValues?.id, searchParams, selectedItem, selectedRowIds]);
|
||||
}, [initialValues?.id, searchParams, selectedItem, selectedRowIds, refetchData]);
|
||||
|
||||
if (!initialValues) {
|
||||
return null;
|
||||
@@ -901,6 +908,7 @@ const PurchaseOrderDetail = ({
|
||||
|
||||
await createManagerApprovalHandler(payload);
|
||||
await refreshApprovals();
|
||||
await refetchData?.();
|
||||
confirmationModalWithNotes.closeModal();
|
||||
},
|
||||
}}
|
||||
@@ -923,6 +931,7 @@ const PurchaseOrderDetail = ({
|
||||
onCancel={handleStaffApprovalModalClose}
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={staffApprovalModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -940,6 +949,7 @@ const PurchaseOrderDetail = ({
|
||||
onCancel={acceptApprovalModal.closeModal}
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={acceptApprovalModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -957,6 +967,7 @@ const PurchaseOrderDetail = ({
|
||||
onCancel={handleEditModalClose}
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={editModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -974,6 +985,7 @@ const PurchaseOrderDetail = ({
|
||||
onCancel={penerimaanBarangModal.closeModal}
|
||||
refreshApprovals={refreshApprovals}
|
||||
onModalClose={penerimaanBarangModal.closeModal}
|
||||
onRefetchData={refetchData}
|
||||
/>
|
||||
</Modal>
|
||||
|
||||
@@ -996,6 +1008,7 @@ const PurchaseOrderDetail = ({
|
||||
};
|
||||
|
||||
await createStaffApprovalHandler(payload);
|
||||
await refetchData?.();
|
||||
staffRejectionModal.closeModal();
|
||||
},
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user