1"use strict"; 2var ajax_url = cwginstock.ajax_url; 3var security_error = cwginstock.security_error; 4var userid = cwginstock.user_id; 5var emptyname = cwginstock.empty_name; 6var emptyemail = cwginstock.empty_email; 7var emptyquantity = cwginstock.empty_quantity; 8var invalidemail = cwginstock.invalid_email; 9var recaptcha_enabled = cwginstock.enable_recaptcha; 10var recaptcha_site_key = cwginstock.recaptcha_site_key; 11var recaptcha_verify_enabled = cwginstock.enable_recaptcha_verify; 12var recaptcha_secret_present = cwginstock.recaptcha_secret_present; 13var is_iagree = cwginstock.is_iagree_enable; 14var iagree_error = cwginstock.iagree_error; 15var is_v3_recaptcha = cwginstock.is_v3_recaptcha; 16var is_popup = cwginstock.is_popup; 17var googlerecaptcha_widget_id = null; 18var gtoken = ''; 19var iti; 20var phone_field = cwginstock.phone_field; 21var subscriber_phone = ''; 22var phone_meta_data = ''; 23var phone_error = cwginstock.phone_field_error; 24var is_phone_field_optional = cwginstock.is_phone_field_optional; 25var is_quantity_field_optional = cwginstock.is_quantity_field_optional; 26var hide_country_placeholder = cwginstock.hide_country_placeholder; 27var default_country_code = cwginstock.default_country_code; 28 29function cwginstock_recaptcha_callback(response) { 30 document.getElementsByClassName("cwgstock_button")[0].disabled = false; 31 if (recaptcha_verify_enabled == '1' && recaptcha_secret_present == 'yes') { 32 document.getElementsByClassName("cwg-security")[0].value = response; 33 } 34} 35 36var instock_notifier = { 37 init: function () { 38 if (is_popup == 'no') { 39 instock_notifier.generate_v3_response(); 40 } 41 jQuery(document).on('click', '.cwgstock_button', this.submit_form); 42 jQuery(".single_variation_wrap").on("show_variation", this.perform_upon_show_variation); 43 if (phone_field == '1') { 44 instock_notifier.initialize_phone(); 45 } 46 }, 47 48 initialize_phone: function () { 49 var input = document.querySelector(".cwgstock_phone"); 50 if (input) { 51 iti = window.intlTelInput(input, { 52 allowDropdown: true, 53 formatOnDisplay: true, 54 autoHideDialCode: false, 55 separateDialCode: true, 56 utilsScript: cwginstock.phone_utils_js, 57 initialCountry: default_country_code, 58 customPlaceholder: function (selectedCountryPlaceholder, selectedCountryData) { 59 default_country_code = default_country_code.toLowerCase(); 60 if (default_country_code == selectedCountryData.iso2 && cwginstock.hide_country_placeholder == '2') { 61 if (cwginstock.custom_country_placeholder != '') { 62 return cwginstock.custom_country_placeholder; 63 } 64 return selectedCountryPlaceholder; 65 } else { 66 return ''; 67 } 68 } 69 }); 70 71 } 72 }, 73 perform_upon_show_variation: function (event, variation) { 74 var vid = variation.variation_id; 75 jQuery('.cwginstock-subscribe-form').hide(); //remove existing form 76 jQuery('.cwginstock-subscribe-form-' + vid).show(); //add subscribe form to show 77 if (recaptcha_enabled == '1') { 78 instock_notifier.onloadcallback(); 79 } 80 if (phone_field == '1') { 81 instock_notifier.initialize_phone(); 82 } 83 }, 84 generate_v3_response: function () { 85 if (recaptcha_enabled == '1' && is_v3_recaptcha == 'yes') { 86 grecaptcha.ready(function () { 87 grecaptcha.execute(recaptcha_site_key, { action: 'subscribe_form' }).then(function (token) { 88 var hasClass = document.getElementsByClassName("cwg-security"); 89 if (hasClass.length > 0) { 90 document.getElementsByClassName("cwg-security")[0].value = token; 91 document.getElementsByClassName("cwgstock_button")[0].disabled = false; 92 gtoken = token; 93 } 94 }); 95 }); 96 } 97 }, 98 is_email: function (email) { 99 var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 100 return regex.test(email); 101 }, 102 submit_form: function (e) { 103 e.preventDefault(); 104 var submit_button_obj = jQuery(this); 105 var subscriber_name = jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_name').val(); 106 var email_id = jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_email').val(); 107 var quantity = jQuery(this).closest('.cwginstock-subscribe-form').find('.add_quantity_field').val(); 108 if (quantity === '' || quantity <= 0) { 109 if (is_quantity_field_optional == '2') { 110 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 111 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + emptyquantity + "</div>"); 112 return false;
113 } 114 } 115 //Customised for Phone Field 116 if (phone_field == '1') { 117 var subscriber_phone = iti.getNumber();//jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_phone').val(); 118 phone_meta_data = iti.getSelectedCountryData(); 119 if (!iti.isValidNumber()) { 120 121 var errorCode = iti.getValidationError(); 122 console.log(errorCode); 123 var errorMsg = phone_error[errorCode]; 124 if (errorCode == -99) { 125 errorMsg = phone_error[0]; 126 } 127 if ((errorCode != -99 && is_phone_field_optional == '1') || is_phone_field_optional == '2') { 128 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 129 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + errorMsg + "</div>"); 130 return false; 131 } 132 } 133 } 134 var product_id = jQuery(this).closest('.cwginstock-subscribe-form').find('.cwg-product-id').val(); 135 var var_id = jQuery(this).closest('.cwginstock-subscribe-form').find('.cwg-variation-id').val(); 136 if (subscriber_name == '') { 137 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 138 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + emptyname + "</div>"); 139 return false; 140 141 } else if (email_id == '') { 142 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 143 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + emptyemail + "</div>"); 144 return false; 145 } else { 146 //check is valid email 147 if (!instock_notifier.is_email(email_id)) { 148 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 149 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + invalidemail + "</div>"); 150 return false; 151 } 152 153 if (is_iagree == '1') { 154 if (!jQuery(this).closest('.cwginstock-subscribe-form').find('.cwg_iagree_checkbox_input').is(':checked')) { 155 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(); 156 jQuery(this).closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + iagree_error + "</div>"); 157 return false; 158 } 159 } 160 var security = jQuery(this).closest('.cwginstock-subscribe-form').find('.cwg-security').val(); 161 var data = { 162 action: 'cwginstock_product_subscribe', 163 product_id: product_id, 164 variation_id: var_id, 165 subscriber_name: subscriber_name, 166 subscriber_phone: subscriber_phone, 167 subscriber_phone_meta: phone_meta_data, 168 user_email: email_id, 169 user_id: userid, 170 security: security, 171 dataobj: cwginstock, 172 custom_quantity: quantity 173 }; 174 175 //jQuery.blockUI({message: null}); 176 if (jQuery.fn.block) { 177 submit_button_obj.closest('.cwginstock-subscribe-form').block({ message: null }); 178 } else { 179 var overlay = jQuery('<div id="cwg-bis-overlay"> </div>'); 180 overlay.appendTo(submit_button_obj.closest('.cwginstock-subscribe-form')); 181 } 182 183 //perform ajax functionality 184 instock_notifier.perform_ajax(data, submit_button_obj); 185 } 186 }, 187 188 recaptcha_callback: function (response) { 189 var hasClass = document.getElementsByClassName("cwg-security"); 190 if (hasClass.length > 0) { 191 document.getElementsByClassName("cwgstock_button")[0].disabled = false;
192 if (recaptcha_verify_enabled == '1' && recaptcha_secret_present == 'yes') { 193 document.getElementsByClassName("cwg-security")[0].value = response; 194 } 195 } 196 }, 197 onloadcallback: function () { 198 if (recaptcha_enabled == '1') { 199 if (is_v3_recaptcha == 'no') { 200 if (jQuery('#cwg-google-recaptcha').length) { 201 if (googlerecaptcha_widget_id === null) { 202 googlerecaptcha_widget_id = grecaptcha.render('cwg-google-recaptcha', { 203 'sitekey': recaptcha_site_key, 204 'callback': this.recaptcha_callback, 205 }); 206 } else { 207 grecaptcha.reset(googlerecaptcha_widget_id); 208 this.recaptcha_callback(); 209 googlerecaptcha_widget_id = null; 210 instock_notifier.onloadcallback(); 211 } 212 } 213 } else { 214 instock_notifier.generate_v3_response(); 215 } 216 } 217 }, 218 resetcallback: function () { 219 if (recaptcha_enabled == '1') { 220 if (is_v3_recaptcha == 'no') { 221 grecaptcha.reset(); 222 document.getElementsByClassName("cwgstock_button")[0].disabled = true; 223 } else { 224 instock_notifier.generate_v3_response(); 225 } 226 } 227 }, 228 perform_ajax: function (data, submit_button_obj) { 229 230 jQuery.ajax({ 231 type: "post", 232 url: ajax_url, 233 data: data, 234 beforeSend: function (xhr) { 235 xhr.setRequestHeader('X-WP-Nonce', cwginstock.security); 236 }, 237 success: function (msg) { 238 msg = msg.msg; 239 submit_button_obj.closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(2000); 240 submit_button_obj.closest('.cwginstock-subscribe-form').find('.cwgstock_output').html(msg); 241 //jQuery.unblockUI(); 242 if (jQuery.fn.block) { 243 submit_button_obj.closest('.cwginstock-subscribe-form').unblock(); 244 } else { 245 submit_button_obj.closest('.cwginstock-subscribe-form').find('#cwg-bis-overlay').fadeOut(400, function () { 246 submit_button_obj.closest('.cwginstock-subscribe-form').find('#cwg-bis-overlay').remove(); 247 }); 248 } 249 instock_notifier.resetcallback(); 250 jQuery(document).trigger('cwginstock_success_ajax', data); 251 }, 252 error: function (request, status, error) { 253 if (typeof request.responseJSON !== 'undefined') { 254 if (request.responseJSON.hasOwnProperty('code')) { 255 if (typeof request.responseJSON.code !== 'undefined') { 256 if ((request.responseJSON.code == 'rest_cookie_invalid_nonce') || (request.responseJSON.code == 'cwg_nonce_verify_failed')) { 257 request.responseText = -1; 258 } 259 } 260 } 261 } 262 if (request.responseText === '-1' || request.responseText === -1) { 263 submit_button_obj.closest('.cwginstock-subscribe-form').find('.cwgstock_output').fadeIn(2000); 264 submit_button_obj.closest('.cwginstock-subscribe-form').find('.cwgstock_output').html("<div class='cwginstockerror' style='color:red;'>" + security_error + "</div>"); 265 } 266 //jQuery.unblockUI(); 267 if (jQuery.fn.block) { 268 submit_button_obj.closest('.cwginstock-subscribe-form').unblock(); 269 } else { 270 submit_button_obj.closest('.cwginstock-subscribe-form').find('#cwg-bis-overlay').fadeOut(400, function () { 271 submit_button_obj.closest('.cwginstock-subscribe-form').find('#cwg-bis-overlay').remove(); 272 }); 273 } 274 instock_notifier.resetcallback(); 275 jQuery(document).trigger('cwginstock_error_ajax', data); 276 } 277 }); 278 }, 279}; 280 281instock_notifier.init();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.