mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-23 14:55:44 +00:00
feat(FE-208): add refetchData prop to PurchaseOrderDetail and related forms for improved data synchronization
This commit is contained in:
@@ -9,6 +9,7 @@ import Button from '@/components/Button';
|
||||
import TextInput from '@/components/input/TextInput';
|
||||
import NumberInput from '@/components/input/NumberInput';
|
||||
import SelectInput, { OptionType } from '@/components/input/SelectInput';
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
import {
|
||||
PurchaseRequestAcceptApprovalFormDefaultValues,
|
||||
@@ -30,6 +31,7 @@ interface PurchaseOrderAcceptApprovalFormProps {
|
||||
onCancel?: () => void;
|
||||
refreshApprovals?: () => void;
|
||||
onModalClose?: () => void;
|
||||
onRefetchData?: () => void;
|
||||
}
|
||||
|
||||
const PurchaseOrderAcceptApprovalForm = ({
|
||||
@@ -38,7 +40,9 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
onCancel,
|
||||
refreshApprovals,
|
||||
onModalClose,
|
||||
onRefetchData,
|
||||
}: PurchaseOrderAcceptApprovalFormProps) => {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] =
|
||||
useState('');
|
||||
@@ -105,11 +109,13 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refreshApprovals?.();
|
||||
onRefetchData?.();
|
||||
formik.resetForm();
|
||||
onCancel?.();
|
||||
onModalClose?.();
|
||||
router.refresh();
|
||||
},
|
||||
[initialValues?.id, searchParams, refreshApprovals, onModalClose]
|
||||
[initialValues?.id, searchParams, refreshApprovals, onModalClose, onRefetchData]
|
||||
);
|
||||
|
||||
const updateAcceptApprovalHandler = useCallback(
|
||||
@@ -121,12 +127,13 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refreshApprovals?.();
|
||||
onRefetchData?.();
|
||||
formik.resetForm();
|
||||
onCancel?.();
|
||||
onModalClose?.();
|
||||
window.location.href = '/purchase';
|
||||
router.refresh();
|
||||
},
|
||||
[refreshApprovals, onModalClose]
|
||||
[refreshApprovals, onModalClose, onRefetchData]
|
||||
);
|
||||
|
||||
// ===== FORM CONFIGURATION =====
|
||||
|
||||
@@ -8,7 +8,7 @@ import { useSearchParams } from 'next/navigation';
|
||||
import Button from '@/components/Button';
|
||||
import TextInput from '@/components/input/TextInput';
|
||||
import NumberInput from '@/components/input/NumberInput';
|
||||
import SelectInput, { OptionType } from '@/components/input/SelectInput';
|
||||
import SelectInput from '@/components/input/SelectInput';
|
||||
|
||||
import {
|
||||
PurchaseRequestStaffApprovalFormDefaultValues,
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
UpdateStaffApprovalRequestPayload,
|
||||
Purchase,
|
||||
} from '@/types/api/purchase/purchase';
|
||||
import { router } from 'next/client';
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
interface PurchaseOrderStaffApprovalFormProps {
|
||||
type?: 'add' | 'edit';
|
||||
@@ -30,6 +30,7 @@ interface PurchaseOrderStaffApprovalFormProps {
|
||||
onCancel?: () => void;
|
||||
refreshApprovals?: () => void;
|
||||
onModalClose?: () => void;
|
||||
onRefetchData?: () => void;
|
||||
}
|
||||
|
||||
const PurchaseOrderStaffApprovalForm = ({
|
||||
@@ -38,7 +39,9 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
onCancel,
|
||||
refreshApprovals,
|
||||
onModalClose,
|
||||
onRefetchData,
|
||||
}: PurchaseOrderStaffApprovalFormProps) => {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const [purchaseOrderFormErrorMessage, setPurchaseOrderFormErrorMessage] =
|
||||
useState('');
|
||||
@@ -104,11 +107,13 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refreshApprovals?.();
|
||||
onRefetchData?.();
|
||||
formik.resetForm();
|
||||
onCancel?.();
|
||||
onModalClose?.();
|
||||
router.refresh();
|
||||
},
|
||||
[initialValues?.id, searchParams, refreshApprovals, onModalClose]
|
||||
[initialValues?.id, searchParams, refreshApprovals, onModalClose, onRefetchData]
|
||||
);
|
||||
|
||||
const updateStaffApprovalHandler = useCallback(
|
||||
@@ -120,12 +125,13 @@ const PurchaseOrderStaffApprovalForm = ({
|
||||
}
|
||||
toast.success(res?.message as string);
|
||||
refreshApprovals?.();
|
||||
onRefetchData?.();
|
||||
formik.resetForm();
|
||||
onCancel?.();
|
||||
onModalClose?.();
|
||||
await router.push(`/purchase/detail?purchaseId=${purchaseId}`);
|
||||
router.refresh();
|
||||
},
|
||||
[refreshApprovals, onModalClose]
|
||||
[refreshApprovals, onModalClose, onRefetchData]
|
||||
);
|
||||
|
||||
// ===== FORM CONFIGURATION =====
|
||||
|
||||
Reference in New Issue
Block a user