@@ -11,6 +11,7 @@ import SelectedUsers from "../components/SelectedUsers";
1111import config from "../config" ;
1212import CouponProductsNotice from '../components/CouponProductsNotice'
1313import withReactContent from "sweetalert2-react-content" ;
14+ import Tooltip from '@material-ui/core/Tooltip' ;
1415
1516const ReactSwal = withReactContent ( Swal ) ;
1617
@@ -62,6 +63,9 @@ const couponSchema = Yup.object().shape({
6263 . max ( Number . MAX_SAFE_INTEGER , 'entered value to large' )
6364 . moreThan ( Yup . ref ( 'min_product_mrp' ) ,
6465 "must be greater than min product mrp" )
66+ . nullable ( ) . notRequired ( ) ,
67+ cashback : Yup . number ( )
68+ . min ( 1 ) . max ( 100 )
6569 . nullable ( ) . notRequired ( )
6670} ) ;
6771
@@ -82,7 +86,8 @@ const initialValues = {
8286 valid_start : Date . now ( ) ,
8387 valid_end : new Date ( ) . setMonth ( new Date ( ) . getMonth ( ) + 1 ) ,
8488 min_product_mrp : null ,
85- max_product_mrp : null
89+ max_product_mrp : null ,
90+ cashback : null
8691}
8792
8893class CouponForm extends React . Component {
@@ -123,7 +128,8 @@ class CouponForm extends React.Component {
123128 valid_end : new Date ( this . props . data . coupon . valid_end ) ,
124129 comment : this . props . data . coupon . comment ,
125130 min_product_mrp : this . props . data . coupon . min_product_mrp ,
126- max_product_mrp : this . props . data . coupon . max_product_mrp
131+ max_product_mrp : this . props . data . coupon . max_product_mrp ,
132+ cashback : this . props . data . coupon . cashback
127133 }
128134 }
129135
@@ -508,6 +514,8 @@ class CouponForm extends React.Component {
508514 setFieldTouched ( "percentage" , false )
509515 setFieldValue ( "max_discount" , null )
510516 setFieldTouched ( "max_discount" , false )
517+ setFieldValue ( "cashback" , null )
518+ setFieldTouched ( "cashback" , false )
511519 } }
512520 value = { values . mode } >
513521 < option value = "flat" > Flat</ option >
@@ -546,7 +554,11 @@ class CouponForm extends React.Component {
546554 placeholder = "Enter Percentage"
547555 name = "percentage"
548556 onBlur = { handleBlur }
549- onChange = { handleChange }
557+ onChange = { ( e ) => {
558+ handleChange ( e )
559+ if ( e . target . value == 100 )
560+ setFieldValue ( "cashback" , '' )
561+ } }
550562 value = { values . percentage }
551563 />
552564 </ FieldWithElement >
@@ -565,6 +577,28 @@ class CouponForm extends React.Component {
565577 value = { values . max_discount }
566578 />
567579 </ FieldWithElement >
580+
581+ < FieldWithElement
582+ name = { "cashback(%)" } nameCols = { 3 } elementCols = { 9 }
583+ elementClassName = { "pl-4" } errorColor = { 'tomato' }
584+ errors = { touched . cashback && errors . cashback } >
585+
586+ < Tooltip title = { < span className = { "mui-tooltip" } > % of product price to be added as cashback</ span > }
587+ placement = "bottom-end" >
588+ < input
589+ type = "number"
590+ className = { "input-text" }
591+ id = { values . percentage === 100 ? "disabled-cashback" : "cashback" }
592+ placeholder = "Enter cashback"
593+ name = "cashback"
594+ onBlur = { handleBlur }
595+ onChange = { handleChange }
596+ value = { values . cashback }
597+ disabled = { values . percentage === 100 }
598+ />
599+ </ Tooltip >
600+ </ FieldWithElement >
601+
568602 </ div >
569603 }
570604
@@ -575,7 +609,7 @@ class CouponForm extends React.Component {
575609 < input
576610 type = "number"
577611 className = { "input-text" }
578- placeholder = "Enter min product price "
612+ placeholder = "Enter min product mrp "
579613 name = "min_product_mrp"
580614 onBlur = { handleBlur }
581615 onChange = { handleChange }
@@ -590,14 +624,16 @@ class CouponForm extends React.Component {
590624 < input
591625 type = "number"
592626 className = { "input-text" }
593- placeholder = "Enter min product price "
627+ placeholder = "Enter max product mrp "
594628 name = "max_product_mrp"
595629 onBlur = { handleBlur }
596630 onChange = { handleChange }
597631 value = { values . max_product_mrp }
598632 />
599633 </ FieldWithElement >
600634
635+
636+
601637 { /* Total number of times a coupon can be used*/ }
602638 < FieldWithElement name = { "How many times it can be used?*" } nameCols = { 6 }
603639 elementCols = { 6 } elementClassName = { "pl-4" } errorColor = { 'tomato' }
0 commit comments