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

44 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-04-02 08:38:00 +03:00
class Renderer {
2020-04-30 15:28:48 +03:00
constructor(creditCardRenderer, defaultConfig) {
this.defaultConfig = defaultConfig;
2020-04-30 15:28:48 +03:00
this.creditCardRenderer = creditCardRenderer;
}
2020-04-30 15:28:48 +03:00
render(wrapper, hostedFieldsWrapper, contextConfig) {
if (this.isAlreadyRendered(wrapper)) {
return;
}
const style = this.defaultConfig.button.style;
paypal.Buttons({
style,
...contextConfig,
}).render(wrapper);
2020-04-30 15:28:48 +03:00
this.creditCardRenderer.render(hostedFieldsWrapper, contextConfig);
}
2020-04-02 08:38:00 +03:00
isAlreadyRendered(wrapper) {
return document.querySelector(wrapper).hasChildNodes();
}
2020-04-09 12:23:44 +03:00
hideButtons(element) {
const domElement = document.querySelector(element);
if (! domElement ) {
return false;
}
domElement.style.display = 'none';
return true;
2020-04-02 08:38:00 +03:00
}
2020-04-09 12:23:44 +03:00
showButtons(element) {
const domElement = document.querySelector(element);
if (! domElement ) {
return false;
}
domElement.style.display = 'block';
return true;
2020-04-02 08:38:00 +03:00
}
}
export default Renderer;