woocommerce-paypal-payments/modules.local/ppcp-button/resources/js/modules/ContextBootstrap/MiniCartBootstap.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-04-30 15:28:48 +03:00
import ErrorHandler from '../ErrorHandler';
import CartActionHandler from '../ActionHandler/CartActionHandler';
class MiniCartBootstap {
constructor(gateway, renderer) {
this.gateway = gateway;
2020-04-09 12:23:44 +03:00
this.renderer = renderer;
this.actionHandler = null;
}
init() {
this.actionHandler = new CartActionHandler(
PayPalCommerceGateway,
2020-07-28 08:05:18 +03:00
new ErrorHandler(this.gateway.labels.error.generic),
);
this.render();
jQuery(document.body).on('wc_fragments_loaded wc_fragments_refreshed', () => {
this.render();
});
}
shouldRender() {
return document.querySelector(this.gateway.button.mini_cart_wrapper) !==
null || document.querySelector(this.gateway.hosted_fields.mini_cart_wrapper) !==
null;
}
render() {
if (!this.shouldRender()) {
return;
}
2020-04-09 12:23:44 +03:00
this.renderer.render(
this.gateway.button.mini_cart_wrapper,
this.gateway.hosted_fields.mini_cart_wrapper,
this.actionHandler.configuration()
2020-04-09 12:23:44 +03:00
);
}
}
export default MiniCartBootstap;