1
1
/* globals wc_pagarme_checkout */
2
-
2
+ /*jshint esversion: 8 */
3
3
let pagarmeCard = {
4
4
limitTokenize : 10 ,
5
5
tokenExpirationAttribute : 'data-pagarmecheckout-expiration' ,
6
6
cardNumberTarget : 'input[data-element="pagarme-card-number"]' ,
7
7
brandTarget : 'input[data-pagarmecheckout-element="brand-input"]' ,
8
8
valueTarget : 'input[data-pagarmecheckout-element="order-value"]' ,
9
9
installmentsTarget : '[data-pagarme-component="installments"]' ,
10
+ installmentsInfoTarget : '[data-pagarme-component="installments-info"]' ,
10
11
mundiCdn : 'https://cdn.mundipagg.com/assets/images/logos/brands/png/' ,
11
12
tokenElement : '[data-pagarmecheckout-element="token"]' ,
12
13
fieldsetCardElements : 'fieldset[data-pagarmecheckout="card"]' ,
@@ -262,12 +263,16 @@ let pagarmeCard = {
262
263
}
263
264
let cardForm = elem . closest ( "fieldset" ) ;
264
265
let select = cardForm . find ( this . installmentsTarget ) ;
265
- if ( ! total )
266
+ let info = cardForm . find ( this . installmentsInfoTarget ) ;
267
+ if ( ! total ) {
266
268
total = cartTotal ;
269
+ }
267
270
if ( ( ! total ) ||
268
271
( select . data ( "type" ) === 2 && ! brand ) ||
269
- ( select . data ( "type" ) === 1 && elem . data ( 'element' ) !== "order-value" ) )
272
+ ( select . data ( "type" ) === 1 && elem . data ( 'element' ) !== "order-value" )
273
+ ) {
270
274
return false ;
275
+ }
271
276
let storageName = btoa ( brand + total ) ;
272
277
sessionStorage . removeItem ( storageName ) ;
273
278
let storage = sessionStorage . getItem ( storageName ) ;
@@ -283,7 +288,7 @@ let pagarmeCard = {
283
288
}
284
289
} ) ;
285
290
ajax . done ( function ( response ) {
286
- pagarmeCard . _done ( select , storageName , cardForm , response ) ;
291
+ pagarmeCard . _done ( select , info , storageName , cardForm , JSON . parse ( response ) ) ;
287
292
} ) ;
288
293
ajax . fail ( function ( ) {
289
294
pagarmeCard . _fail ( cardForm ) ;
@@ -293,8 +298,12 @@ let pagarmeCard = {
293
298
return true ;
294
299
} ,
295
300
296
- _done : function ( select , storageName , event , response ) {
297
- select . html ( response ) ;
301
+ _done : function ( select , info , storageName , event , response ) {
302
+ info . addClass ( 'pagarme-hidden' ) ;
303
+ if ( response . installmentsConfig > 1 ) {
304
+ info . removeClass ( 'pagarme-hidden' ) ;
305
+ }
306
+ select . html ( response . optionsHtml ) ;
298
307
sessionStorage . setItem ( storageName , response ) ;
299
308
this . removeLoader ( event ) ;
300
309
} ,
0 commit comments