mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
refactor(FE): Refactor transaction type handling with useEffect
This commit is contained in:
@@ -360,6 +360,40 @@ const InventoryAdjustmentForm = ({
|
|||||||
setSelectedProduct(product);
|
setSelectedProduct(product);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const transactionType = formik.values.transaction_type;
|
||||||
|
|
||||||
|
if (!transactionType) {
|
||||||
|
setSelectedTransactionSubtype(null);
|
||||||
|
formik.setFieldValue('transaction_subtype', '');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setSelectedTransactionSubtype(null);
|
||||||
|
formik.setFieldValue('transaction_subtype', '');
|
||||||
|
formik.setFieldTouched('transaction_subtype', true);
|
||||||
|
|
||||||
|
if (transactionType === 'PEMBELIAN') {
|
||||||
|
formik.setFieldValue(
|
||||||
|
'transaction_subtype',
|
||||||
|
TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.value
|
||||||
|
);
|
||||||
|
setSelectedTransactionSubtype({
|
||||||
|
value: TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.value,
|
||||||
|
label: TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.label,
|
||||||
|
});
|
||||||
|
} else if (transactionType === 'PENJUALAN') {
|
||||||
|
formik.setFieldValue(
|
||||||
|
'transaction_subtype',
|
||||||
|
TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.value
|
||||||
|
);
|
||||||
|
setSelectedTransactionSubtype({
|
||||||
|
value: TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.value,
|
||||||
|
label: TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.label,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [formik.values.transaction_type]);
|
||||||
|
|
||||||
const transactionTypeChangeHandler = (
|
const transactionTypeChangeHandler = (
|
||||||
val: OptionType | OptionType[] | null
|
val: OptionType | OptionType[] | null
|
||||||
) => {
|
) => {
|
||||||
@@ -370,29 +404,6 @@ const InventoryAdjustmentForm = ({
|
|||||||
formik.setFieldTouched('transaction_type', true);
|
formik.setFieldTouched('transaction_type', true);
|
||||||
|
|
||||||
setSelectedTransactionType(typeOption);
|
setSelectedTransactionType(typeOption);
|
||||||
setSelectedTransactionSubtype(null);
|
|
||||||
|
|
||||||
formik.setFieldValue('transaction_subtype', '');
|
|
||||||
|
|
||||||
if (selectedType === 'PEMBELIAN') {
|
|
||||||
formik.setFieldValue(
|
|
||||||
'transaction_subtype',
|
|
||||||
TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.value
|
|
||||||
);
|
|
||||||
setSelectedTransactionSubtype({
|
|
||||||
value: TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.value,
|
|
||||||
label: TRANSACTION_SUBTYPE_OPTIONS.PEMBELIAN.label,
|
|
||||||
});
|
|
||||||
} else if (selectedType === 'PENJUALAN') {
|
|
||||||
formik.setFieldValue(
|
|
||||||
'transaction_subtype',
|
|
||||||
TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.value
|
|
||||||
);
|
|
||||||
setSelectedTransactionSubtype({
|
|
||||||
value: TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.value,
|
|
||||||
label: TRANSACTION_SUBTYPE_OPTIONS.PENJUALAN.label,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const transactionSubtypeChangeHandler = (
|
const transactionSubtypeChangeHandler = (
|
||||||
@@ -527,7 +538,6 @@ const InventoryAdjustmentForm = ({
|
|||||||
// ===== Formik Error List =====
|
// ===== Formik Error List =====
|
||||||
const { formErrorList, close, handleFormSubmit } = useFormikErrorList(formik);
|
const { formErrorList, close, handleFormSubmit } = useFormikErrorList(formik);
|
||||||
|
|
||||||
// Render
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<section className='w-full'>
|
<section className='w-full'>
|
||||||
|
|||||||
Reference in New Issue
Block a user