diff --git a/src/Pages/Product/ProductForm.jsx b/src/Pages/Product/ProductForm.jsx index b312e56..f1cf7a1 100644 --- a/src/Pages/Product/ProductForm.jsx +++ b/src/Pages/Product/ProductForm.jsx @@ -629,6 +629,10 @@ const ProductForm = ({ formType }) => { }, [editstate?.Rack, RackData]); useEffect(() => { + // Auto-fill "Variant X" only when we are adding a new variant. + // When editing, another effect will populate the full data. + if (!openVariant || variantEdit) return; + let variantAddData11 = [...variantPriceData]; if (variantAddData11?.length > 0) { const lastAddProdVariantName11 = @@ -677,7 +681,32 @@ const ProductForm = ({ formType }) => { ProdVariantName: `Variant ${parseInt(variantAddData11?.length) + parseInt(2)}`, }); } - }, [openVariant]); + }, [openVariant, variantEdit, variantPriceData]); + + useEffect(() => { + // Populate edit values only after the variant form is mounted. + if (!openVariant || !variantEdit) return; + if ( + variantEditIndex === undefined || + variantEditIndex === null || + !variantPriceData?.length + ) { + return; + } + + const row = variantPriceData?.[variantEditIndex]; + if (!row) return; + + formVariantRef?.current?.setFieldsValue({ + ProdVariantName: row?.ProdVariantName, + AmountOfPiece: row?.OnePcsPrice, + MRP: row?.MRP, + SellPrice: row?.SellPrice, + WhSalePrice: row?.WhSalePrice, + OfferPrice: row?.OfferPrice, + SpecialPrice: row?.SpecialPrice, + }); + }, [openVariant, variantEdit, variantEditIndex, variantPriceData]); const onComplete = useCallback(() => { setMessageData(null); @@ -1573,28 +1602,7 @@ const ProductForm = ({ formType }) => { }; const variantActionsFormatter = (row, index) => { - if (StockOpen == 'Y') { - formVariantRef?.current?.setFieldsValue({ - ProdVariantName: row?.ProdVariantName, - AmountOfPiece: row?.OnePcsPrice, - MRP: row?.MRP, - SellPrice: row?.SellPrice, - WhSalePrice: row?.WhSalePrice, - OfferPrice: row?.OfferPrice, - SpecialPrice: row?.SpecialPrice, - }); - } else { - formVariantRef?.current?.setFieldsValue({ - ProdVariantName: row?.ProdVariantName, - AmountOfPiece: row?.OnePcsPrice, - MRP: row?.MRP, - SellPrice: row?.SellPrice, - WhSalePrice: row?.WhSalePrice, - OfferPrice: row?.OfferPrice, - SpecialPrice: row?.SpecialPrice, - }); - } - + setOpenVariant(true); setVariantEdit(true); setVariantEditIndex(index); };