mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 13:44:42 +08:00
* Fix add fix for Messages loading edge case and a Widget reload event listener.
This commit is contained in:
parent
b25a124ffa
commit
ecbe4a9abf
2 changed files with 15 additions and 1 deletions
|
@ -6,7 +6,6 @@ import {
|
||||||
PaymentMethods
|
PaymentMethods
|
||||||
} from "../Helper/CheckoutMethodState";
|
} from "../Helper/CheckoutMethodState";
|
||||||
import BootstrapHelper from "../Helper/BootstrapHelper";
|
import BootstrapHelper from "../Helper/BootstrapHelper";
|
||||||
import {disable, enable} from "../Helper/ButtonDisabler";
|
|
||||||
|
|
||||||
class CheckoutBootstap {
|
class CheckoutBootstap {
|
||||||
constructor(gateway, renderer, messages, spinner, errorHandler) {
|
constructor(gateway, renderer, messages, spinner, errorHandler) {
|
||||||
|
|
|
@ -9,12 +9,20 @@ class WidgetBuilder {
|
||||||
this.buttons = new Map();
|
this.buttons = new Map();
|
||||||
this.messages = new Map();
|
this.messages = new Map();
|
||||||
|
|
||||||
|
this.renderEventName = 'ppcp-render';
|
||||||
|
|
||||||
document.ppcpWidgetBuilderStatus = () => {
|
document.ppcpWidgetBuilderStatus = () => {
|
||||||
console.log({
|
console.log({
|
||||||
buttons: this.buttons,
|
buttons: this.buttons,
|
||||||
messages: this.messages,
|
messages: this.messages,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jQuery(document)
|
||||||
|
.off(this.renderEventName)
|
||||||
|
.on(this.renderEventName, () => {
|
||||||
|
this.renderAll();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setPaypal(paypal) {
|
setPaypal(paypal) {
|
||||||
|
@ -84,6 +92,13 @@ class WidgetBuilder {
|
||||||
const btn = this.paypal.Messages(entry.options);
|
const btn = this.paypal.Messages(entry.options);
|
||||||
|
|
||||||
btn.render(entry.wrapper);
|
btn.render(entry.wrapper);
|
||||||
|
|
||||||
|
// watchdog to try to handle some strange cases where the wrapper may not be present
|
||||||
|
setTimeout(() => {
|
||||||
|
if (!this.hasRendered(wrapper)) {
|
||||||
|
btn.render(entry.wrapper);
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderAllMessages() {
|
renderAllMessages() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue