refactor(FE): Reset products and deliveries on warehouse change

This commit is contained in:
rstubryan
2026-01-17 20:33:13 +07:00
parent 4d319ca9c8
commit 6377557ef0
@@ -993,6 +993,35 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
) {
formik.setFieldError('destination_warehouse_id', undefined);
}
if (
newSourceWarehouseId &&
newSourceWarehouseId !== formik.values.source_warehouse_id
) {
formik.setFieldValue('products', [
{
product: null,
product_id: 0,
product_qty: '',
},
]);
formik.setFieldTouched('products', false);
const updatedDeliveries = formik.values.deliveries.map(
(delivery) => ({
...delivery,
products: [
{
product: null,
product_id: 0,
product_qty: '',
},
],
})
);
formik.setFieldValue('deliveries', updatedDeliveries);
formik.setFieldTouched('deliveries', false);
}
}}
options={warehouseOptions}
onInputChange={setWarehouseSelectInputValue}
@@ -1252,6 +1281,23 @@ const MovementForm = ({ type = 'add', initialValues }: MovementFormProps) => {
`products.${idx}.product_id`,
(val as ProductWarehouseOptionType)?.value
);
const updatedDeliveries =
formik.values.deliveries.map((delivery) => ({
...delivery,
products: [
{
product: null,
product_id: 0,
product_qty: '',
},
],
}));
formik.setFieldValue(
'deliveries',
updatedDeliveries
);
formik.setFieldTouched('deliveries', false);
}}
options={productWarehouseOptions}
onInputChange={setProductWarehouseSelectInputValue}