@@ -193,12 +193,33 @@ class GenerateLink extends React.Component {
193193 }
194194
195195 handleUserChange = ( event , value ) => {
196-
197- this . setState ( {
198- user : value ,
199- subCategories : [ ] ,
200- coupons : [ ]
201- } )
196+
197+ if ( ! value ) {
198+ this . setState ( {
199+ user : value ,
200+ activeCartIframeUrl : '' ,
201+ purchasedProductIframeurl : '' ,
202+ loading : false ,
203+ subCategories : [ ] ,
204+ coupons : [ ] ,
205+ } )
206+ } else {
207+ controller . getUserCartDetailsUrls ( {
208+ id : value . id
209+ } ) . then ( ( [ activeCartDetails , purchasedProductDetails ] ) => {
210+ this . setState ( {
211+ user : value ,
212+ activeCartIframeUrl : activeCartDetails . data . iframeUrl ,
213+ purchasedProductIframeurl : purchasedProductDetails . data . iframeUrl ,
214+ loading : true ,
215+ subCategories : [ ] ,
216+ coupons : [ ] ,
217+ } )
218+ } ) . catch ( ( error ) => {
219+ ErrorHandler . handle ( error )
220+ } )
221+ }
222+
202223 this . unsetGeneratedLink ( )
203224 }
204225
@@ -240,21 +261,16 @@ class GenerateLink extends React.Component {
240261 }
241262
242263 ongenerateLink = ( link ) => {
243-
244264 controller . getProductBuyLinkData ( {
245- userId : this . state . user . id ,
246265 oneauthId : this . state . user . oneauth_id ,
247266 productId : this . state . product . id ,
248267 quantity : 1 ,
249268 useCredits : this . state . useCredits
250- } ) . then ( ( [ [ activeCartDetails , purchasedProductDetails ] , calculatedAmountDetails ] ) => {
269+ } ) . then ( ( calculatedAmountDetails ) => {
251270 this . setState ( {
252- activeCartIframeUrl : activeCartDetails . data . iframeUrl ,
253- purchasedProductIframeurl : purchasedProductDetails . data . iframeUrl ,
254271 generatedLink : link ,
255272 generateLinkClicked : true ,
256273 calculatedAmountDetails : calculatedAmountDetails . data ,
257- loading : true
258274 } )
259275 } )
260276 }
@@ -324,74 +340,77 @@ class GenerateLink extends React.Component {
324340 />
325341 </ div >
326342
327- { this . state . generateLinkClicked &&
328343 < div className = { "col-md-9 pull-right mt-5" } >
329344
330- { ! this . state . loading &&
345+ { ! this . state . loading && this . state . user &&
331346
332- < div className = { "row mr-5" } >
333- < TableContainer component = { Paper } >
334- < Typography className = { "ml-5 mt-2" } variant = "h5" id = "tableTitle" component = "div" >
335- < b > User Details </ b >
336- </ Typography >
337-
338- < Table className = { classes . table } aria-label = "simple table" >
339- < TableHead >
340- < TableRow >
341- < TableCell align = "center" > Name</ TableCell >
342- < TableCell align = "center" > Username</ TableCell >
343- < TableCell align = "center" > Wallet Amount</ TableCell >
344- < TableCell align = "center" > Oneauth Id</ TableCell >
345- < TableCell align = "center" > Email</ TableCell >
346- < TableCell align = "center" > Mobile Number</ TableCell >
347- < TableCell align = "center" > Address</ TableCell >
348- </ TableRow >
349- </ TableHead >
350- < TableBody >
351- < TableRow key = { this . state . user . id } >
352- < TableCell component = "th" scope = "row" align = "center" >
353- { this . state . user . firstname } { this . state . user . lastname }
354- </ TableCell >
355- < TableCell align = "center" > { this . state . user . username } </ TableCell >
356- < TableCell align = "center" > { this . state . user . wallet_amount / 100 } </ TableCell >
357- < TableCell align = "center" > { this . state . user . oneauth_id } </ TableCell >
358- < TableCell align = "center" > { this . state . user . email } </ TableCell >
359- < TableCell align = "center" > { this . state . user . mobile_number } </ TableCell >
360- < TableCell align = "center" > { this . state . user . permanent_address } </ TableCell >
361- </ TableRow >
362- </ TableBody >
363- </ Table >
364- </ TableContainer >
365- </ div >
347+ < div className = { "row mr-5" } >
348+ < TableContainer component = { Paper } >
349+ < Typography className = { "ml-5 mt-2" } variant = "h5" id = "tableTitle" component = "div" >
350+ < b > User Details </ b >
351+ </ Typography >
352+
353+ < Table className = { classes . table } aria-label = "simple table" >
354+ < TableHead >
355+ < TableRow >
356+ < TableCell align = "center" > Name</ TableCell >
357+ < TableCell align = "center" > Username</ TableCell >
358+ < TableCell align = "center" > Wallet Amount</ TableCell >
359+ < TableCell align = "center" > Oneauth Id</ TableCell >
360+ < TableCell align = "center" > Email</ TableCell >
361+ < TableCell align = "center" > Mobile Number</ TableCell >
362+ < TableCell align = "center" > Address</ TableCell >
363+ </ TableRow >
364+ </ TableHead >
365+ < TableBody >
366+ < TableRow key = { this . state . user . id } >
367+ < TableCell component = "th" scope = "row" align = "center" >
368+ { this . state . user . firstname } { this . state . user . lastname }
369+ </ TableCell >
370+ < TableCell align = "center" > { this . state . user . username } </ TableCell >
371+ < TableCell align = "center" > { this . state . user . wallet_amount / 100 } </ TableCell >
372+ < TableCell align = "center" > { this . state . user . oneauth_id } </ TableCell >
373+ < TableCell align = "center" > { this . state . user . email } </ TableCell >
374+ < TableCell align = "center" > { this . state . user . mobile_number } </ TableCell >
375+ < TableCell align = "center" > { this . state . user . permanent_address } </ TableCell >
376+ </ TableRow >
377+ </ TableBody >
378+ </ Table >
379+ </ TableContainer >
380+ </ div >
366381 }
367382
368- < div className = { "row mr-5 mt-4" } >
369- < iframe
370- src = { this . state . activeCartIframeUrl }
371- frameBorder = "0"
372- onLoad = { this . hideSpinner }
373- width = "100%"
374- height = "220"
375- allowtransparency = 'true'
376- >
377- </ iframe >
378- </ div >
379-
380- < div className = { "row mr-5 mt-4" } >
381- < iframe
382- src = { this . state . purchasedProductIframeurl }
383- frameBorder = "0"
384- onLoad = { this . hideSpinner }
385- width = "100%"
386- height = "350"
387- allowtransparency = 'true'
388- >
389- </ iframe >
390- </ div >
383+ { this . state . user &&
384+ < div >
385+ < div className = { "row mr-5 mt-4" } >
386+ < iframe
387+ src = { this . state . activeCartIframeUrl }
388+ frameBorder = "0"
389+ onLoad = { this . hideSpinner }
390+ width = "100%"
391+ height = "220"
392+ allowtransparency = 'true'
393+ >
394+ </ iframe >
395+ </ div >
396+
397+ < div className = { "row mr-5 mt-4" } >
398+ < iframe
399+ src = { this . state . purchasedProductIframeurl }
400+ frameBorder = "0"
401+ onLoad = { this . hideSpinner }
402+ width = "100%"
403+ height = "350"
404+ allowtransparency = 'true'
405+ >
406+ </ iframe >
407+ </ div >
408+ </ div >
409+ }
391410
392411 < div className = { "row mr-5 mt-4 mb-3" } >
393412
394- { ! this . state . loading &&
413+ { ! this . state . loading && this . state . generateLinkClicked &&
395414 < ProductLinkCard
396415 product = { this . state . product }
397416 user = { this . state . user }
@@ -404,7 +423,6 @@ class GenerateLink extends React.Component {
404423 </ div >
405424
406425 </ div >
407- }
408426 </ div >
409427
410428 </ CheckLogin >
0 commit comments