Files
medicalalert-web-reloaded/wp/wp-content/plugins/gravityformsrecaptcha/js/plugin_settings.min.js
2024-06-17 14:42:23 -04:00

1 line
4.4 KiB
JavaScript

!function(){var i;(i=jQuery)(document).ready(function(){var a,n;(a={init:function(){a.token="",a.strings=gforms_recaptcha_recaptcha_strings,a.cacheElements(),a.validateKeysV3(),a.addEventListeners()},cacheElements:function(){a.fields={siteKey:"#site_key_v3",secretKey:"#secret_key_v3",threshold:"#score_threshold_v3",disableBadge:"#disable_badge_v3",keysStatus:"#gform_setting_recaptcha_keys_status_v3"},a.cache={siteKey:i(a.fields.siteKey),secretKey:i(a.fields.secretKey),keysStatus:i(a.fields.keysStatus),save:i("#gform-settings-save")}},addEventListeners:function(){a.strings.site_key.length&&(i(a.fields.siteKey).on("keyup",function(){return a.clearValidationFeedback()}),i(a.fields.secretKey).on("keyup",function(){return a.clearValidationFeedback()}))},clearValidationFeedback:function(){a.unsetValid(a.cache.siteKey.closest(".gform-settings-input__container")),a.unsetValid(a.cache.secretKey.closest(".gform-settings-input__container"))},getRecaptchaToken:function(){return new Promise(function(t,n){var e=a.cache.siteKey.closest(".gform-settings-input__container");try{var s=a.cache.siteKey.val().trim();0===s.length?(a.unsetValid(e),a.unsetValid(a.cache.keysStatus.closest(".gform-settings-input__container")),i(a.fields.keysStatus).find("input").val("0")):grecaptcha.ready(function(){try{grecaptcha.execute(s,{action:"submit"}).then(function(e){t(e)})}catch(e){n(e)}})}catch(e){n(e)}})},validateKeysV3:function(){var t=a.cache.siteKey.closest(".gform-settings-input__container"),n=a.cache.secretKey.closest(".gform-settings-input__container"),s=i(a.fields.keysStatus).find("input");i(a.fields.siteKey).val().trim().length?a.getRecaptchaToken().then(function(e){a.token=e}).catch(function(){a.setInvalid(t),a.setInvalid(n),s.val("0")}).finally(function(){i.ajax({method:"POST",dataType:"JSON",url:a.strings.ajaxurl,data:{action:"verify_secret_key",nonce:a.strings.nonce,token:a.token,site_key_v3:i(a.fields.siteKey).val(),secret_key_v3:i(a.fields.secretKey).val()}}).then(function(e){switch(e.data.keys_status){case"1":a.setValid(t),a.setValid(n),s.val("1");break;case"0":a.setInvalid(t),a.setInvalid(n),s.val("0");break;default:a.unsetValid(t),a.unsetValid(n),s.val("0")}})}):(a.unsetValid(t),a.unsetValid(n),s.val("0"))},unsetValid:function(e){e.removeClass("gform-settings-input__container--feedback-success"),e.removeClass("gform-settings-input__container--feedback-error")},setValid:function(e){e.addClass("gform-settings-input__container--feedback-success"),e.removeClass("gform-settings-input__container--feedback-error")},setInvalid:function(e){e.removeClass("gform-settings-input__container--feedback-success"),e.addClass("gform-settings-input__container--feedback-error")}}).init(),n={init:function(){n.cacheElements(),n.addEventListeners()},cacheElements:function(){n.container=i('div[id="gform_setting_reset_v2"]'),n.fields={siteKey:i('input[name="_gform_setting_site_key_v2"]'),secretKey:i('input[name="_gform_setting_secret_key_v2"]'),reset:i('input[name="_gform_setting_reset_v2"]'),type:i('input[name="_gform_setting_type_v2"]')}},addEventListeners:function(){n.fields.siteKey.on("change",window.loadRecaptcha),n.fields.secretKey.on("change",window.loadRecaptcha),n.fields.type.on("change",function(){return window.loadRecaptcha()})}},window.loadRecaptcha=function(){var t={init:function(){n.recaptcha=i("#recaptcha"),n.save=i("#gform-settings-save"),t.flushExistingState(),i("#recpatcha .gform-settings-field__feedback").remove(),t.canBeDisplayed()?(n.save.prop("disabled",!0),t.showSelectedRecaptcha()):t.hideRecaptcha()},render:function(e){grecaptcha.render("recaptcha",{sitekey:n.fields.siteKey.val().trim(),size:"invisible"===e?e:"",badge:"inline","error-callback":function(){},callback:function(){return n.save.prop("disabled",!1)}})},flushExistingState:function(){window.___grecaptcha_cfg.clients={},window.___grecaptcha_cfg.count=0,n.recaptcha.html(""),n.fields.reset.val("1")},canBeDisplayed:function(){return n.fields.siteKey.val()&&n.fields.secretKey.val()},hideRecaptcha:function(){n.save.prop("disabled",!1),n.container.hide()},showSelectedRecaptcha:function(){var e=i('input[name="_gform_setting_type_v2"]:checked').val();switch(t.render(e),e){case"checkbox":i('#gforms_checkbox_recaptcha_message, label[for="reset"]').show();break;case"invisible":i('#gforms_checkbox_recaptcha_message, label[for="reset"]').hide();break;default:throw new Error("Unexpected type selected.")}n.container.show(),"invisible"===e&&grecaptcha.execute()}};t.init()},n.init(),gform.adminUtils.handleUnsavedChanges("#gform-settings")})}();