File: /var/www/vhosts/pgkdistribution.com.au/httpdocs/wp-content/plugins/recaptcha-woo/js/rcfwc.js
/* Woo Checkout */
jQuery( document ).ready(function() {
jQuery( document.body ).on( 'update_checkout updated_checkout applied_coupon_in_checkout removed_coupon_in_checkout checkout_error', function() {
if(jQuery('.g-recaptcha').length > 0) {
if (typeof grecaptcha !== "undefined" && typeof grecaptcha.reset === "function") {
var count = 0;
jQuery(".g-recaptcha").each(function () {
grecaptcha.reset(count);
count++;
});
}
}
});
});
/* Woo Checkout Block */
(function() {
document.addEventListener('DOMContentLoaded', function() {
// Global callbacks used by auto-rendered v2 widgets in the block checkout
window.rcfwcRecaptchaCallback = function(token) {
try {
if (typeof wp !== 'undefined' && wp.data) {
wp.data.dispatch('wc/store/checkout').__internalSetExtensionData('rcfwc', { token: token });
}
} catch (e) {}
};
window.rcfwcRecaptchaExpired = function() {
try {
if (typeof wp !== 'undefined' && wp.data) {
wp.data.dispatch('wc/store/checkout').__internalSetExtensionData('rcfwc', { token: '' });
}
} catch (e) {}
};
// Try to render explicitly if needed once the blocks mount/update
if (typeof wp !== 'undefined' && wp.data) {
var unsubscribe = wp.data.subscribe(function() {
var el = document.getElementById('g-recaptcha-woo-checkout');
if (!el) {
return;
}
// If already rendered (has inner HTML/iframe), stop listening
if (el.innerHTML && el.innerHTML.trim() !== '') {
unsubscribe && unsubscribe();
return;
}
// Render explicitly with callbacks if the API is ready
if (typeof grecaptcha !== 'undefined' && typeof grecaptcha.render === 'function') {
try {
grecaptcha.render(el, {
sitekey: el.getAttribute('data-sitekey'),
callback: rcfwcRecaptchaCallback,
'expired-callback': rcfwcRecaptchaExpired
});
} catch (e) {
// Ignore if already rendered or API not ready
}
unsubscribe && unsubscribe();
}
}, 'wc/store/cart');
}
});
})();