feat(FE-212): add rawDataApprovals prop to PurchaseOrderStaffApprovalForm for improved approval data handling

This commit is contained in:
rstubryan
2025-11-22 10:11:30 +07:00
parent 0fefe5e035
commit b12a1ebd36
2 changed files with 8 additions and 19 deletions
@@ -9,13 +9,10 @@ import useSWR from 'swr';
import Button from '@/components/Button';
import TextInput from '@/components/input/TextInput';
import NumberInput from '@/components/input/NumberInput';
import SelectInput, {
OptionType,
useSelect,
} from '@/components/input/SelectInput';
import SelectInput, { OptionType } from '@/components/input/SelectInput';
import ConfirmationModal from '@/components/modal/ConfirmationModal';
import { useModal } from '@/components/Modal';
import { WarehouseApi, SupplierApi } from '@/services/api/master-data';
import { SupplierApi } from '@/services/api/master-data';
import { SupplierProducts } from '@/types/api/master-data/supplier';
import { isResponseSuccess } from '@/lib/api-helper';
@@ -32,8 +29,8 @@ import {
UpdateStaffApprovalRequestPayload,
Purchase,
} from '@/types/api/purchase/purchase';
import { BaseApproval, BaseGroupedApproval } from '@/types/api/api-general';
import { useRouter } from 'next/navigation';
import { useApprovalSteps } from '@/components/pages/ApprovalSteps';
interface PurchaseOrderStaffApprovalFormProps {
type?: 'add' | 'edit';
@@ -42,6 +39,7 @@ interface PurchaseOrderStaffApprovalFormProps {
refreshApprovals?: () => void;
onModalClose?: () => void;
onRefetchData?: () => void;
rawDataApprovals?: BaseApproval[] | BaseGroupedApproval[];
}
const PurchaseOrderStaffApprovalForm = ({
@@ -51,18 +49,8 @@ const PurchaseOrderStaffApprovalForm = ({
refreshApprovals,
onModalClose,
onRefetchData,
rawDataApprovals,
}: PurchaseOrderStaffApprovalFormProps) => {
const { rawDataApprovals } = useApprovalSteps({
latestApproval: initialValues?.approval,
approvalLines: [],
moduleName: 'PURCHASES',
moduleId: initialValues?.id?.toString() ?? '',
params: {
limit: 100,
group_step_number: true,
},
});
const type = useMemo(() => {
if (propType && (propType === 'add' || propType === 'edit')) {
return propType;
@@ -76,8 +64,7 @@ const PurchaseOrderStaffApprovalForm = ({
const hasOnlyInitialStep =
rawDataApprovals.length === 1 &&
firstApproval?.step_number === 1 &&
'action' in firstApproval &&
firstApproval.action === 'CREATED';
('action' in firstApproval ? firstApproval.action === 'CREATED' : false);
return hasOnlyInitialStep ? 'add' : 'edit';
}, [rawDataApprovals, propType]);
@@ -954,6 +954,7 @@ const PurchaseOrderDetail = ({
refreshApprovals={refreshApprovals}
onModalClose={staffApprovalModal.closeModal}
onRefetchData={refetchData}
rawDataApprovals={rawDataApprovals}
/>
</Modal>
@@ -990,6 +991,7 @@ const PurchaseOrderDetail = ({
refreshApprovals={refreshApprovals}
onModalClose={editModal.closeModal}
onRefetchData={refetchData}
rawDataApprovals={rawDataApprovals}
/>
</Modal>