mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-24 15:25:46 +00:00
Merge branch 'fix/marketing' into 'development'
[FIX/FE] Fixing Edit Product Sales Order per Row See merge request mbugroup/lti-web-client!217
This commit is contained in:
@@ -89,7 +89,6 @@ const MarketingDetail = ({
|
|||||||
deleteModal.closeModal();
|
deleteModal.closeModal();
|
||||||
router.push('/marketing');
|
router.push('/marketing');
|
||||||
toast.success(res?.message as string);
|
toast.success(res?.message as string);
|
||||||
refresh?.();
|
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ const MarketingForm = ({
|
|||||||
addSOModal.openModal();
|
addSOModal.openModal();
|
||||||
}, [addSOModal]);
|
}, [addSOModal]);
|
||||||
const handleAddSubmitSO = useCallback(
|
const handleAddSubmitSO = useCallback(
|
||||||
async (values: SalesOrderProductFormValues) => {
|
async (values: SalesOrderProductFormValues, id?: number) => {
|
||||||
const currentProducts = formik.values.sales_order;
|
const currentProducts = formik.values.sales_order;
|
||||||
|
|
||||||
const newValues = {
|
const newValues = {
|
||||||
@@ -515,18 +515,12 @@ const MarketingForm = ({
|
|||||||
id: values.id ?? Date.now(),
|
id: values.id ?? Date.now(),
|
||||||
};
|
};
|
||||||
|
|
||||||
const existingIndex = currentProducts.findIndex(
|
|
||||||
(item) =>
|
|
||||||
item.kandang_id === newValues.kandang_id &&
|
|
||||||
item.product_warehouse_id === newValues.product_warehouse_id
|
|
||||||
);
|
|
||||||
|
|
||||||
let updatedProducts = [];
|
let updatedProducts = [];
|
||||||
|
|
||||||
if (existingIndex !== -1) {
|
if (id) {
|
||||||
// Overwrite
|
// Overwrite
|
||||||
updatedProducts = currentProducts.map((item, index) =>
|
updatedProducts = currentProducts.map((item) =>
|
||||||
index === existingIndex ? newValues : item
|
item.id === id ? newValues : item
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// Add new item
|
// Add new item
|
||||||
|
|||||||
@@ -39,7 +39,10 @@ const SalesOrderProductForm = ({
|
|||||||
initialValues?: SalesOrderProductFormValues;
|
initialValues?: SalesOrderProductFormValues;
|
||||||
exisitingValues?: SalesOrderProductFormValues[];
|
exisitingValues?: SalesOrderProductFormValues[];
|
||||||
modalRef?: RefObject<HTMLDialogElement | null>;
|
modalRef?: RefObject<HTMLDialogElement | null>;
|
||||||
onSubmitForm?: (value: SalesOrderProductFormValues) => Promise<void>;
|
onSubmitForm?: (
|
||||||
|
value: SalesOrderProductFormValues,
|
||||||
|
id?: number
|
||||||
|
) => Promise<void>;
|
||||||
}) => {
|
}) => {
|
||||||
const [formErrorMessage, setFormErrorMessage] = useState('');
|
const [formErrorMessage, setFormErrorMessage] = useState('');
|
||||||
const [currentInput, setCurrentInput] = useState<string>('');
|
const [currentInput, setCurrentInput] = useState<string>('');
|
||||||
@@ -76,7 +79,7 @@ const SalesOrderProductForm = ({
|
|||||||
validationSchema: SalesOrderProductSchema,
|
validationSchema: SalesOrderProductSchema,
|
||||||
onSubmit: async (values) => {
|
onSubmit: async (values) => {
|
||||||
setFormErrorMessage('');
|
setFormErrorMessage('');
|
||||||
onSubmitForm?.(values);
|
onSubmitForm?.(values, initialValues?.id);
|
||||||
handleResetForm();
|
handleResetForm();
|
||||||
},
|
},
|
||||||
validateOnBlur: true,
|
validateOnBlur: true,
|
||||||
@@ -414,7 +417,9 @@ const SalesOrderProductForm = ({
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<AlertErrorList formErrorList={formErrorList} onClose={close} />
|
<div className='mt-4'>
|
||||||
|
<AlertErrorList formErrorList={formErrorList} onClose={close} />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className='flex flex-row justify-end gap-3 mt-4'>
|
<div className='flex flex-row justify-end gap-3 mt-4'>
|
||||||
<Button type='reset' color='warning' onClick={handleResetForm}>
|
<Button type='reset' color='warning' onClick={handleResetForm}>
|
||||||
|
|||||||
Reference in New Issue
Block a user