mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-04 08:47:23 +08:00
44 lines
No EOL
1.1 KiB
JavaScript
44 lines
No EOL
1.1 KiB
JavaScript
class Renderer {
|
|
constructor(creditCardRenderer, defaultConfig) {
|
|
this.defaultConfig = defaultConfig;
|
|
this.creditCardRenderer = creditCardRenderer;
|
|
}
|
|
|
|
render(wrapper, hostedFieldsWrapper, contextConfig) {
|
|
if (this.isAlreadyRendered(wrapper)) {
|
|
return;
|
|
}
|
|
|
|
const style = this.defaultConfig.button.style;
|
|
paypal.Buttons({
|
|
style,
|
|
...contextConfig,
|
|
}).render(wrapper);
|
|
|
|
this.creditCardRenderer.render(hostedFieldsWrapper, contextConfig);
|
|
}
|
|
|
|
isAlreadyRendered(wrapper) {
|
|
return document.querySelector(wrapper).hasChildNodes();
|
|
}
|
|
|
|
hideButtons(element) {
|
|
const domElement = document.querySelector(element);
|
|
if (! domElement ) {
|
|
return false;
|
|
}
|
|
domElement.style.display = 'none';
|
|
return true;
|
|
}
|
|
|
|
showButtons(element) {
|
|
const domElement = document.querySelector(element);
|
|
if (! domElement ) {
|
|
return false;
|
|
}
|
|
domElement.style.display = 'block';
|
|
return true;
|
|
}
|
|
}
|
|
|
|
export default Renderer; |