mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-08-31 04:58:28 +08:00
34 lines
No EOL
1.3 KiB
JavaScript
34 lines
No EOL
1.3 KiB
JavaScript
;document.addEventListener(
|
|
'DOMContentLoaded',
|
|
() => {
|
|
const payLaterMessagingCheckboxes = document.querySelectorAll(
|
|
"#ppcp-message_enabled, #ppcp-message_cart_enabled, #ppcp-message_product_enabled"
|
|
)
|
|
|
|
const vaultingCheckboxes = document.querySelectorAll(
|
|
"#ppcp-vault_enabled, #ppcp-dcc_vault_enabled"
|
|
)
|
|
|
|
function atLeastOneChecked(checkboxesNodeList) {
|
|
return Array.prototype.slice.call(checkboxesNodeList).filter(node => !node.disabled && node.checked).length > 0
|
|
}
|
|
|
|
function disableAll(nodeList){
|
|
nodeList.forEach(node => node.setAttribute('disabled', 'true'))
|
|
}
|
|
|
|
function enableAll(nodeList){
|
|
nodeList.forEach(node => node.removeAttribute('disabled'))
|
|
}
|
|
|
|
function updateCheckboxes() {
|
|
atLeastOneChecked(payLaterMessagingCheckboxes) ? disableAll(vaultingCheckboxes) : enableAll(vaultingCheckboxes)
|
|
atLeastOneChecked(vaultingCheckboxes) ? disableAll(payLaterMessagingCheckboxes) : enableAll(payLaterMessagingCheckboxes)
|
|
}
|
|
|
|
updateCheckboxes()
|
|
|
|
payLaterMessagingCheckboxes.forEach(node => node.addEventListener('change', updateCheckboxes))
|
|
vaultingCheckboxes.forEach(node => node.addEventListener('change', updateCheckboxes));
|
|
}
|
|
); |