woocommerce-paypal-payments/modules/ppcp-googlepay/resources/js/GooglepayManager.js
Emili Castells Guasch 11105d913b Run eslint autofix
2024-07-12 12:58:34 +02:00

46 lines
1,015 B
JavaScript

import buttonModuleWatcher from '../../../ppcp-button/resources/js/modules/ButtonModuleWatcher';
import GooglepayButton from './GooglepayButton';
class GooglepayManager {
constructor( buttonConfig, ppcpConfig ) {
this.buttonConfig = buttonConfig;
this.ppcpConfig = ppcpConfig;
this.googlePayConfig = null;
this.buttons = [];
buttonModuleWatcher.watchContextBootstrap( ( bootstrap ) => {
const button = new GooglepayButton(
bootstrap.context,
bootstrap.handler,
buttonConfig,
ppcpConfig
);
this.buttons.push( button );
if ( this.googlePayConfig ) {
button.init( this.googlePayConfig );
}
} );
}
init() {
( async () => {
// Gets GooglePay configuration of the PayPal merchant.
this.googlePayConfig = await paypal.Googlepay().config();
for ( const button of this.buttons ) {
button.init( this.googlePayConfig );
}
} )();
}
reinit() {
for ( const button of this.buttons ) {
button.reinit();
}
}
}
export default GooglepayManager;