PageSourceSearch

https://www.stsupery.com/wp-content/plugins/stsupery-integration/j…ntegration-scripts.js?1790368570&ver=5.8.17

js stsupery.com collected 2026-09-25 20:37:42 UTC 25,891 bytes, 544 lines download raw bytes

1jQuery(function ($) {
2
3    $(".verify-old-account").on('submit', function (e) {
4        e.preventDefault();
5        var formData = $(this).serialize();
6        $(".verify-old-account").addClass('show-loader');
7        $.ajax({
8            type: 'post',
9            url: ajax_object.ajax_url,
10            data: {
11                'action': 'verify_api_account',
12                'data': formData
13            },
14            success: function (response) {
15                var result = JSON.parse(response);
16
17                console.log(result)
18
19                if (result.error) {
20                    $(".integration-result").html("<div class='woocommerce-" + (result.error ? 'error' : 'message') + "'>" + result.message + "</div>");
21                }
22
23                if (!result.error) {
24                    $('.request-account-activation').addClass('success');
25                    $('.request-account-activation .site-main .content-area header .title strong').text('Success!');
26
27                    $(".verify-old-account").find('#activate_email').val('');
28                }
29
30                $(".verify-old-account").removeClass('show-loader');
31
32            }
33        });
34    })
35
36
37    $(".verify-old-form-account").on('submit', function (e) {  console.log('here');
38        e.preventDefault(); 
39        var formData = $(this).serialize();
40        console.log(formData);
41        $(".verify-old-form-account").addClass('show-loader');
42        $.ajax({
43            type: 'post',
44            url: ajax_object.ajax_url,
45            data: {
46                'action': 'verify_user_account',
47                'data': formData
48            },
49            success: function (response) {
50                var result = JSON.parse(response);
51
52                console.log(result)
53
54                if (result.error) {
55                    $(".integration-result").html("<div class='woocommerce-" + (result.error ? 'error' : 'message') + "'>" + result.message + "</div>");
56                }
57
58                if (!result.error) {
59                    $('.request-account-activation').addClass('success');
60                    $('.request-account-activation .site-main .content-area header .title strong').text('Success!');
61
62                    $(".verify-old-form-account").find('#activate_email').val('');
63                }
64
65                $(".verify-old-form-account").removeClass('show-loader');
66
67            }
68        });
69    })
70
71    $(".import-old-orders").bind('click', function (e) {
72        e.preventDefault();
73        var userId = $(this).data('user-id');
74        if (!$(this).hasClass('disabled')) {
75            $(this).addClass('disabled');
76            $(".import-orders-result").html('<p>Importing the old orders! This may take a while, please do not close or refresh this page.</p><div class="loading-import"></div>');
77            $.ajax({
78                type: 'post',
79                url: ajax_object.ajax_url,
80                data: {
81                    'action': 'import_old_orders',
82                    'userId': userId
83                },
84                success: function (response) {
85                    var result = JSON.parse(response);
86
87                    $(".import-orders-result").text(result.message);
88                    setTimeout(function () {
89                        //window.location.reload();
90                    }, 1500)
91                }
92            });
93        }
94    })
95    $(".import-old-clubs").bind('click', function (e) {
96        e.preventDefault();
97
98        var userId = $(this).data('user-id');
99        if (!$(this).hasClass('disabled')) {
100            $(this).addClass('disabled');
101            $(".import-clubs-result").html('<p>Importing the clubs! This may take a while, please do not close or refresh this page.</p><div class="loading-import"></div>');
102            $.ajax({
103                type: 'post',
104                url: ajax_object.ajax_url,
105                data: {
106                    'action': 'import_old_clubs',
107                    'userId': userId
108                },
109                success: function (response) {
110                    var result = JSON.parse(response);
111
112                    $(".import-clubs-result").text(result.message);
113                    setTimeout(function () {
114                        window.location.reload();
115                    }, 1500)
116                }
117            });
118        }
119    });
120
121    $("#search-ams-products").bind('submit', function (e) {
122        e.preventDefault();
123        $(".products-result ul li").remove();
124        $(".products-result button").addClass('hide');
125        $(".products-result ul").append('<li class="empty">Searching...</li>');
126        $(".products-result").removeClass('hide');
127        var type = $(".ams-type").val();
128        $.ajax({
129            type: 'post',
130            url: ajax_object.ajax_url,
131            data: {
132                'action': 'search_products',
133                'search': $("#ams-search").val(),
134                'type': type
135            },
136            success: function (response) {
137                const result = JSON.parse(response);
138                $(".products-result ul li").remove();
139                if(type == "id"){
140                    if(result.hasOwnProperty('No')){
141                        $(".products-result ul").append(
142                            '<li>\n' +
143                            '   <label for="checkbox-' + result.No + '">\n' +
144                            '       <input class="checkbox-import" type="checkbox" value="' + result.No + '" id="checkbox-' + result.No + '"/>\n' +
145                            '       <div>' +
146                            '           <b>ID: ' + result.No + '</b>' +
147                            '           <span>' + result.Description + '</span>\n' +
148                            '       </div>\n' +
149                            '   </label>\n' +
150                            '</li>'
151                        );
152                        $(".products-result button").removeClass('hide');
153                    }
154                }else{
155                    if (result.length > 0) {
156                        for (const key in result) {
157                            //console.log(result[key]);
158                            $(".products-result ul").append(
159                                '<li>\n' +
160                                '   <label for="checkbox-' + result[key].No + '">\n' +
161                                '       <input class="checkbox-import" type="checkbox" value="' + result[key].No + '" id="checkbox-' + result[key].No + '"/>\n' +
162                                '       <div>' +
163                                '           <b>ID: ' + result[key].No + '</b>' +
164                                '           <span>' + result[key].Description + '</span>\n' +
165                                '       </div>\n' +
166                                '   </label>\n' +
167                                '</li>'
168                            );
169                        }
170                        $(".products-result button").removeClass('hide');
171                    } else {
172                        $(".products-result ul").append('<li class="empty">No products were found with this search.</li>');
173                    }
174                }
175            }
176        });
177
178    })
179
180    $("#import-products").bind('click', function (e) {
181        e.preventDefault();
182        const ids = [];
183        $('.checkbox-import:checked').each(function () {
184            ids.push($(this).val())
185        });
186        console.log(ids);
187        setTimeout(function () {
188
189            $(".products-result ul li").remove();
190            $(".products-result button").addClass('hide');
191            $(".products-result ul").append('<li class="empty">Importing products...</li>');
192            $.ajax({
193                type: 'post',
194                url: ajax_object.ajax_url,
195                data: {
196                    'action': 'import_products',
197                    'ids': ids
198                },
199                success: function (response) {
200                    console.log(response)
201                    $(".products-result ul li").remove();
202                    const result = JSON.parse(response);
203                    for (const key in result) {
204                        $(".products-result ul").append('<li><span class="result-item">' + result[key] + '</span></li>');
205                    }
206                }
207            });
208        }, 1000)
209
210    })
211
212
213
214
215    $("#import-orders").bind('click', function (e) {
216        e.preventDefault();
217        console.log('import start');
218        setTimeout(function () {
219            $(".users-result ul").append('<li class="empty">Importing Orders...</li>');
220            $.ajax({
221                type: 'post',
222                url: ajax_object.ajax_url,
223                data: {
224                    'action': 'import_orders',
225                },
226                success: function (response) {
227                    $(".users-result ul li").remove();
228                    const result = JSON.parse(response);
229                    for (const key in result) {
230                        $(".users-result ul").append('<li><span class="result-item">' + result[key] + '</span></li>');
231                    }
232                }
233            });
234        }, 1000)
235    })
236
237
238    $("#import-users").bind('click', function (e) {
239        e.preventDefault();
240        console.log('import start');
241        setTimeout(function () {
242            $(".users-result ul").append('<li class="empty">Importing users...</li>');
243            $.ajax({
244                type: 'post',
245                url: ajax_object.ajax_url,
246                data: {
247                    'action': 'import_users'
248                },
249                success: function (response) {
250                    $(".users-result ul li").remove();
251                    const result = JSON.parse(response);
252                    for (const key in result) {
253                        $(".users-result ul").append('<li><span class="result-item">' + result[key] + '</span></li>');
254                    }
255                }
256            });
257        }, 1000)
258
259    });
260
261    $("#test-import-users").bind('click', function (e) {
262        e.preventDefault();
263        console.log('import start');
264        setTimeout(function () {
265            $(".users-result ul").append('<li class="empty">Importing users...</li>');
266            $.ajax({
267                type: 'post',
268                url: ajax_object.ajax_url,
269                data: {
270                    'action': 'test_import_users'
271                },
272                success: function (response) {
273                    $(".users-result ul li").remove();
274                    $(".users-result ul").append('<li><span class="result-item">' + response + '</span></li>');
275                    
276                }
277            });
278        }, 1000);
279
280    });
281
282    $(document).on("click", '.qty-adjust .qty-minus, .qty-adjust .qty-plus', function(e){
283        e.preventDefault();
284        console.log("here");
285        jQuery('#updateCart').prop("disabled", false)
286    });
287
288
289
290    $(document).on("click", '.modify-planned-order', function(e){
291        e.preventDefault();
292        var planned_order = $(this).attr("data-orderid");
293        console.log("planned order = " + planned_order);
294
295
296        var this_order = $("#" + planned_order);
297
298
299        this_order.slideToggle();
300        if(this_order.find(".wine-club-order-success-message").is(":visible")){
301            this_order.attr('data-removed-items', '');
302            this_order.find(".wine-club-order-success-message").hide();
303        }
304    });
305
306    $(document).on("click", '.cancel-changes', function(e){
307        e.preventDefault();
308        console.log("here");
309        var planned_order = $(this).closest('.planned-order');
310        planned_order.slideToggle();
311    });
312
313    $(document).on("click", ".wine-club-order-item-actions .replace-item", function(e){
314        e.preventDefault();
315        var item_id = $(this).attr('data-item-id');
316        $('.wine-club-order-item-replace.item-' + item_id).slideToggle();
317    });
318
319    $(document).on("click", ".wine-club-order-item-actions .remove-item", function(e){
320        e.preventDefault();
321        var order_id = $(this).closest(".planned-order").attr("id");
322        var line_no = $(this).attr("data-line-no");
323        var removed_items = $(this).closest(".planned-order").attr("data-removed-items");
324        if(removed_items == ""){
325            removed_items = line_no;
326        }else{
327            removed_items = removed_items + "," + line_no;
328        }
329        $(this).closest(".planned-order").attr("data-removed-items", removed_items);
330        $(this).closest(".wine-club-order-item").remove();
331        update_wine_club_order_total(order_id);
332    });
333
334    $(document).on("click", ".wine-club-order-actions .add-item", function(e){
335        e.preventDefault();
336        $('.add-item-holder').slideToggle();
337    });
338
339    $(document).on("click", ".add-item-holder .close-button", function(e){
340        e.preventDefault();
341        $('.add-item-holder').slideToggle();
342    });
343
344    $(document).on("change", ".wine-club-order-item .wine-club-order-item-quantity input", function(e){
345        e.preventDefault();
346        var order_id = $(this).closest(".planned-order").attr("id");
347        var new_quantity = $(this).val();
348        var item_price = $(this).closest(".wine-club-order-item").attr("data-item-price");
349        var new_amount = parseInt(new_quantity) * parseFloat(item_price);
350        var formatted_new_amount = new_amount.toFixed(2);
351        $(this).closest(".wine-club-order-item").attr("data-item-amount", formatted_new_amount);
352        $(this).closest(".wine-club-order-item").attr("data-item-quantity", new_quantity);
353        $(this).closest(".wine-club-order-item").find(".wine-club-order-item-amount").html("$" + formatted_new_amount);
354        update_wine_club_order_total(order_id);
355    });
356
357    $(document).on("click", ".wine-club-order-item-replace .product-list .available-product", function(e){
358        var new_product_id = $(this).attr("data-id");
359        var new_product_image = $(this).find(".available-product-image").find("img").attr("src");
360        var new_product_name = $(this).attr("data-name");
361        var new_product_price = $(this).attr("data-price");
362        var new_product_unit_price = $(this).attr("data-unit-price");
363        var new_product_sku = $(this).attr("data-sku");
364        var current_quantity = $(this).closest(".wine-club-order-item").attr("data-item-quantity");
365        var new_product_amount = parseFloat(new_product_price) * parseInt(current_quantity);
366        var formatted_product_amount = new_product_amount.toFixed(2);
367        var order_id = $(this).closest(".planned-order").attr("id");
368        
369        $(this).closest(".wine-club-order-item").attr("data-item-id", new_product_id);
370        $(this).closest(".wine-club-order-item").attr("data-item-sku", new_product_sku);
371        $(this).closest(".wine-club-order-item").attr("data-item-price", new_product_price);
372        $(this).closest(".wine-club-order-item").attr("data-item-amount", new_product_amount);
373        $(this).closest(".wine-club-order-item").attr("data-item-unit-price", new_product_unit_price);
374
375        update_wine_club_order_total(order_id);
376
377        $(this).closest(".wine-club-order-item").find(".wine-club-order-item-image").find("img").attr("src", new_product_image);
378        $(this).closest(".wine-club-order-item").find(".wine-club-order-item-name").html(new_product_name);
379        $(this).closest(".wine-club-order-item").find(".wine-club-order-item-price").html("$" + new_product_price);
380        $(this).closest(".wine-club-order-item").find(".wine-club-order-item-amount").html("$" + formatted_product_amount);
381        $(this).closest(".wine-club-order-item-replace").slideToggle();
382    });
383
384    $(document).on("click", ".add-item-holder .product-list .available-product", function(e){
385        var new_product_id = $(this).attr("data-id");
386        var new_product_image = $(this).find(".available-product-image").find("img").attr("src");
387        var new_product_name = $(this).attr("data-name");
388        var new_product_price = $(this).attr("data-price");
389        var new_unit_price = $(this).attr("data-unit-price");
390        var new_product_sku = $(this).attr("data-sku");
391        var current_quantity = 1;
392        var new_product_amount = parseFloat(new_product_price) * parseInt(current_quantity);
393        var formatted_product_amount = new_product_amount.toFixed(2);
394        var order_id = $(this).closest(".planned-order").attr("id");
395
396        var output = '<div class="wine-club-order-item" data-item-id="' + new_product_id + '" data-item-sku="' + new_product_sku + '" data-item-quantity="1" data-item-unit-price="' + new_unit_price + '" data-item-price="' + new_product_price + '" data-item-amount="' + formatted_product_amount + '" data-line-no="new">' +
397                        '<div class="wine-club-order-item-image"><img src="' + new_product_image + '" alt="' + new_product_name + '"></div>' +
398                        '<div class="wine-club-order-item-name">' + new_product_name + '</div>' +
399                        '<div class="wine-club-order-item-price">$' + new_product_price + '</div>' +
400                        '<div class="wine-club-order-item-quantity"><input type="number" value="1"></div>' +
401                        '<div class="wine-club-order-item-amount">$' + formatted_product_amount + '</div>' +
402                        '<div class="wine-club-order-item-actions"><a class="button remove-item">Remove</a></div>' +
403                    '</div>';
404
405        $(this).closest(".add-item-holder").before(output);
406        //$(this).closest(".add-item-holder").slideToggle();
407        update_wine_club_order_total(order_id);
408    });
409
410    $(document).on("click", ".planned-order .close-order", function(e){
411        var this_order = $(this).closest(".planned-order");
412        this_order.attr('data-removed-items', '');
413        this_order.slideToggle(200, function(e){
414            this_order.find(".wine-club-order-success-message").hide();
415        });
416    });
417
418    function update_wine_club_order_total(order_id){
419        var order_total = 0;
420
421        $("#" + order_id).find(".wine-club-order-item").each(function(){
422            var item_amount = $(this).attr("data-item-amount");
423            order_total = order_total + parseFloat(item_amount);
424        });
425
426        $("#" + order_id + " .wine-club-order-actions .order_total span").html(order_total.toFixed(2));
427        $("#" + order_id + " .wine-club-order-actions .save-changes").attr("data-order-total", order_total.toFixed(2));
428    }
429
430    $(document).on("click", ".planned-order .save-changes", function(e){
431        e.preventDefault();
432        var planned_order = $(this).closest(".planned-order");
433        var save_button = $(this);
434        if($(this).html() == "Save Changes"){
435            planned_order.find(".wine-club-order-actions .error-message").html("").hide();
436            save_button.html("Saving...");
437            save_button.addClass("saving");
438            save_button.siblings(".error-message").hide();
439            var order_total = save_button.attr('data-order-total');
440            var min_order = save_button.attr('data-min-order');
441            var shipping_line_no = save_button.attr('data-shipping-line-no');
442            var original_shipping_amount = save_button.attr('data-original-shipping-amount');
443            if(parseFloat(order_total) < parseFloat(min_order)){
444                save_button.siblings(".error-message").html('Your order does not meet the minimum order value.').slideToggle();
445            }else{
446                var planned_order_id = planned_order.attr("id");
447                var order_id = planned_order.attr("data-order-id");
448                var removed_items = planned_order.attr("data-removed-items");
449                console.log("removed_items = " + removed_items);
450                var items = [];
451                var loop = 0;
452                $("#" + planned_order_id).find(".wine-club-order-item").each(function(){
453                    var item_id = $(this).attr("data-item-id");
454                    var item_sku = $(this).attr("data-item-sku");
455                    var item_price = $(this).attr("data-item-price");
456                    var item_quantity = $(this).attr("data-item-quantity");
457                    var item_line_no = $(this).attr("data-line-no");
458                    var item_name = $(this).find(".wine-club-order-item-name").html();
459                    var item_unit_price = $(this).attr("data-item-unit-price");
460                    items[loop] = item_id + "," + item_sku + "," + item_price + "," + item_quantity + "," + item_line_no + "," + item_name + "," + item_unit_price;
461                    loop++;
462                });
463
464                $.ajax({
465                    type: 'post',
466                    url: ajax_object.ajax_url,
467                    data: {
468                        'action': 'save_wine_club_order',
469                        'items': JSON.stringify(items),
470                        'removed_items': removed_items,
471                        'doc_no': order_id,
472                        'shipping_line_no': shipping_line_no,
473                        'original_shipping_amount': original_shipping_amount,
474                        'planned_shipment': planned_order_id
475                    },
476                    success: function (response) {
477                        save_button.html("Save Changes");
478                        save_button.removeClass("saving");
479                        result = JSON.parse(response);
480                        if(result.success){
481                            if(result.compliant){
482                                //everything worked no errors
483
484                                //update any added items with their line numbers.
485                                for (let index = 0; index < result.added_items.length; ++index) {
486                                    var addedItem = result.added_items[index];
487                                    $(".wine-club-order-item[data-item-sku='" + addedItem['sku'] + "']").attr("data-line-no",
487 addedItem['line_no']);
488                                    $(".wine-club-order-item[data-item-sku='" + addedItem['sku'] + "']").find(".button.remove-item").attr("data-line-no", addedItem['line_no']);
489                                }
490
491                                var total_cost = parseFloat(order_total) + parseFloat(result.shipping) + parseFloat(result.total_tax);
492
493                                if(result.shipping != 0){
494                                    var shipping_value = parseFloat(result.shipping).toFixed(2);
495                                    var shipping_display = "$" + shipping_value;
496                                }else{
497                                    var shipping_display = "Pickup";
498                                }
499                                var output = '<div class="message">Your order has been updated.</div>' +
500                                                '<div class="line-item"><span class="label">Subtotal</span> <span class="value">$' + parseFloat(order_total).toFixed(2) + '</span></div>' +
501                                                '<div class="line-item"><span class="label">Shipping</span> <span class="value">' + shipping_display + '</span></div>' +
502                                                '<div class="line-item"><span class="label">Tax</span> <span class="value">$' + parseFloat(result.total_tax).toFixed(2) + '</span></div>' +
503                                                '<div class="total"><span class="label">Total</span> <span class="value">$' + parseFloat(total_cost).toFixed(2) + '</span></div>' +
504                                                '<a class="button close-order">Close</a>';
505                                
506                                planned_order.find(".wine-club-order-success-message").html(output).fadeIn(200);
507                                $([document.documentElement, document.body]).animate({
508                                    scrollTop: $(".my_account_orders").offset().top
509                                }, 500);
510                            }else{
511                                planned_order.find(".wine-club-order-actions .error-message").html(result.compliance_error).show();
512                            }
513                        }else{
514                            if(result.compliant){
515                                //order was compliant error while updating BC
516                                var output = '<div class="message error">There was an error while updating your order. Please contact your account rep at something here.</div><a class="button close-order">Close</a>';
517
518                                planned_order.find("wine-club-order-success-message").html(output).fadeIn(200);
519                            }else{
520                                //order was not compliant
521                                $(this).siblings(".error-message").html('Your order is not compliant.').slideToggle();
522                            }
523                        }
524                        console.log(result);
525                    },
526                    error: function (response){
527                        result = JSON.parse(response);
528                        save_button.html("Save Changes");
529                        save_button.removeClass("saving");
530                        var output = '<div class="message error">There was an error while updating your order. Please contact your account rep at something here.</div><a class="button close-order">Close</a>';
531                        planned_order.find("wine-club-order-success-message").html(output).fadeIn(200);
532                    }
533                });
534            }
535        }
536
537    });
538
539    $(document).on('click', '.legacy-order-details-button', function(e){
540        e.preventDefault();
541        var order_num = $(this).attr('data-order-id');
542        $('#order-details-' + order_num).slideToggle();
543    });
544});

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.