PageSourceSearch

https://cart.jackiemackdesigns.com/wp-content/plugins/back-in-stoc…/assets/js/frontend-dev.js?ver=5.2.2

js jackiemackdesigns.com collected 2026-10-04 17:41:27 UTC 13,702 bytes, 281 lines download raw bytes

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.