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);
|
||||
};
|
||||
|
||||
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 = (
|
||||
val: OptionType | OptionType[] | null
|
||||
) => {
|
||||
@@ -370,29 +404,6 @@ const InventoryAdjustmentForm = ({
|
||||
formik.setFieldTouched('transaction_type', true);
|
||||
|
||||
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 = (
|
||||
@@ -527,7 +538,6 @@ const InventoryAdjustmentForm = ({
|
||||
// ===== Formik Error List =====
|
||||
const { formErrorList, close, handleFormSubmit } = useFormikErrorList(formik);
|
||||
|
||||
// Render
|
||||
return (
|
||||
<>
|
||||
<section className='w-full'>
|
||||
|
||||
Reference in New Issue
Block a user