Render reCaptcha after its initialization

[MAILPOET-3390]
This commit is contained in:
Jan Lysý
2021-02-03 18:00:37 +01:00
committed by Veljko V
parent a88e525e6a
commit 4b78b6bc45

View File

@@ -6,19 +6,27 @@ import 'parsleyjs';
const exitIntentEvent = 'mouseleave.mailpoet.form-exit-intent';
jQuery(($) => {
window.reCaptchaCallback = function reCaptchaCallback() {
$('.mailpoet_recaptcha').each((index, element) => {
const recaptcha = $(element);
const sitekey = recaptcha.attr('data-sitekey');
const container = recaptcha.find('> .mailpoet_recaptcha_container').get(0);
const field = recaptcha.find('> .mailpoet_recaptcha_field');
let widgetId;
if (sitekey) {
widgetId = window.grecaptcha.render(container, { sitekey, size: 'compact' });
field.val(widgetId);
function renderCaptcha(element, iteration) {
if (!window.recaptcha || !window.grecaptcha.ready) {
if (iteration < 20) {
setTimeout(renderCaptcha, 400, element, iteration + 1);
}
});
};
return;
}
const recaptcha = $(element);
const sitekey = recaptcha.attr('data-sitekey');
const container = recaptcha.find('> .mailpoet_recaptcha_container').get(0);
const field = recaptcha.find('> .mailpoet_recaptcha_field');
if (sitekey) {
const widgetId = window.grecaptcha.render(container, { sitekey, size: 'compact' });
field.val(widgetId);
}
}
$('.mailpoet_recaptcha').each((index, element) => {
setTimeout(renderCaptcha, 400, element, 1);
});
/**
* @param form jQuery object of form form.mailpoet_form