PageSourceSearch

https://lysthuset.no/wp-content/plugins/logistra-woocommerce-integ…/js/service-partner-handler.js?ver=7.14.8

js lysthuset.no collected 2026-10-10 01:53:37 UTC 3,525 bytes, 77 lines download raw bytes

1(function ($) {
2    'use strict';
3    function bindServicePartnerHandler() {
4        const container = document.querySelector('.woocommerce-wildrobot-pickuppoint-checkout-inline');
5        if (!container) return;
6
7        let servicePartnerData;
8        try {
9            servicePartnerData = JSON.parse(container.dataset.logistraServicePartner);
10            // Validate the expected structure
11            if (!servicePartnerData || !Array.isArray(servicePartnerData.servicePartners) || !servicePartnerData.ajaxUrl || !servicePartnerData.nonce) {
12                console.error('Invalid service partner data structure');
13                return;
14            }
15        } catch (e) {
16            console.error('Failed to parse service partner data:', e);
17            return;
18        }
19        // Now you can use servicePartnerData.servicePartners, servicePartnerData.ajaxUrl, etc.
20        $('.logistra_robots_select_servicepartner').each(function () {
21            console.log("RUNNING logistra_robots_select_servicepartner");
22            // Remove existing handler to prevent duplicates
23            $(this).off('change.logistra');
24
25            // Add new handler
26            $(this).on('change.logistra', function () {
27                const selectedOption = $(this).find('option:selected');
28                console.log("selectedOption: ", selectedOption);
29                const servicePartners = servicePartnerData.servicePartners;
30                console.log("servicePartners: ", servicePartners);
31                const servicePartner = servicePartners.find(sp =>
32                    selectedOption.val() === sp.number + "@@@" +
33                    (typeof sp["customer-number"] === 'string' ? sp["customer-number"] : "")
34                );
35
36                if (!servicePartner?.number) {
37                    console.log("No service partner found for option: ", selectedOption);
38                    return;
39                }
40
41                $.ajax({
42                    url: servicePartnerData.ajaxUrl,
43                    type: 'POST',
44                    data: {
45                        action: 'logistra_save_service_partner',
46                        service_partner_number: servicePartner.number,
47                        service_partner_customer_number: servicePartner["customer-number"],
48                        service_partner_name: servicePartner.name,
49                        service_partner_postcode: servicePartner.postcode,
50                        service_partner_city: servicePartner.city,
51                        service_partner_country: servicePartner.country,
52                        nonce: servicePartnerData.nonce
53                    },
54                    success: function (response) {
55                        if (response.success) {
56                            if (typeof wc_checkout_params !== 'undefined') {
57                                $(document.body).trigger('update_checkout');
58                            }
59                        } else {
60                            console.error("Error saving service partner");
61                        }
62                    }
63                });
64            });
65        });
66    }
67
68    // Initial binding when document is ready
69    $(document).ready(bindServicePartnerHandler);
70
71    // Rebind after WooCommerce updates
72    $(document.body).on('wc_fragments_refreshed', bindServicePartnerHandler);
73    $(document.body).on('updated_checkout', bindServicePartnerHandler);
74    $(document.body).on('updated_shipping_method', bindServicePartnerHandler);
75
76
77})(jQuery);

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.