mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-06 14:57:26 +08:00
Move hosted fields validation into validityChange
event
This commit is contained in:
parent
a9922f36b1
commit
f2ac9045bb
3 changed files with 14 additions and 6 deletions
|
@ -39,4 +39,4 @@ class CartBootstrap {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default CartBootstrap;
|
export default CartBootstrap;
|
||||||
|
|
|
@ -13,6 +13,10 @@ class CheckoutBootstap {
|
||||||
|
|
||||||
this.render();
|
this.render();
|
||||||
|
|
||||||
|
jQuery(document.body).on('updated_checkout', () => {
|
||||||
|
this.render()
|
||||||
|
});
|
||||||
|
|
||||||
jQuery(document.body).
|
jQuery(document.body).
|
||||||
on('updated_checkout payment_method_selected', () => {
|
on('updated_checkout payment_method_selected', () => {
|
||||||
this.switchBetweenPayPalandOrderButton()
|
this.switchBetweenPayPalandOrderButton()
|
||||||
|
|
|
@ -7,6 +7,7 @@ class CreditCardRenderer {
|
||||||
this.errorHandler = errorHandler;
|
this.errorHandler = errorHandler;
|
||||||
this.spinner = spinner;
|
this.spinner = spinner;
|
||||||
this.cardValid = false;
|
this.cardValid = false;
|
||||||
|
this.formValid = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
render(wrapper, contextConfig) {
|
render(wrapper, contextConfig) {
|
||||||
|
@ -97,12 +98,8 @@ class CreditCardRenderer {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
this.errorHandler.clear();
|
this.errorHandler.clear();
|
||||||
const state = hostedFields.getState();
|
|
||||||
const formValid = Object.keys(state.fields).every(function (key) {
|
|
||||||
return state.fields[key].isValid;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (formValid && this.cardValid) {
|
if (this.formValid && this.cardValid) {
|
||||||
const save_card = this.defaultConfig.save_card ? true : false;
|
const save_card = this.defaultConfig.save_card ? true : false;
|
||||||
const vault = document.getElementById('ppcp-credit-card-vault') ?
|
const vault = document.getElementById('ppcp-credit-card-vault') ?
|
||||||
document.getElementById('ppcp-credit-card-vault').checked : save_card;
|
document.getElementById('ppcp-credit-card-vault').checked : save_card;
|
||||||
|
@ -134,6 +131,13 @@ class CreditCardRenderer {
|
||||||
const validCards = this.defaultConfig.hosted_fields.valid_cards;
|
const validCards = this.defaultConfig.hosted_fields.valid_cards;
|
||||||
this.cardValid = validCards.indexOf(event.cards[0].type) !== -1;
|
this.cardValid = validCards.indexOf(event.cards[0].type) !== -1;
|
||||||
})
|
})
|
||||||
|
hostedFields.on('validityChange', (event) => {
|
||||||
|
const formValid = Object.keys(event.fields).every(function (key) {
|
||||||
|
return event.fields[key].isValid;
|
||||||
|
});
|
||||||
|
this.formValid = formValid;
|
||||||
|
|
||||||
|
})
|
||||||
document.querySelector(wrapper + ' button').addEventListener(
|
document.querySelector(wrapper + ' button').addEventListener(
|
||||||
'click',
|
'click',
|
||||||
submitEvent
|
submitEvent
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue