PageSourceSearch

https://4buyn.com/resources/themes/theme_aster/public/assets/js/cart.js

js 4buyn.com collected 2026-09-24 12:48:42 UTC 6,296 bytes, 171 lines download raw bytes

1"use strict";
2function updateCartQuantityListCartData()
3{
4    $('.update-cart-quantity-list-cart-data').off('click').on('click', function () {
5
6        let minOrder = $(this).data('min-order');
7        let cart = $(this).data('cart');
8        let value = $(this).data('value');
9        let action = $(this).data('action');
10        updateCartQuantityList(minOrder, cart, value, action);
11    });
12    $('.update-cart-quantity-list-cart-data-input').on('change', function () {
13        let minOrder = $(this).data('min-order');
14        let cart = $(this).data('cart');
15        let value = $(this).data('value');
16        let action = $(this).data('action');
17        updateCartQuantityList(minOrder, cart, value, action);
18    });
19}
20
21updateCartQuantityListCartData();
22
23function updateCartQuantityListMobileCartData()
24{
25    $('.update-cart-quantity-list-mobile-cart-data').on('click change', function () {
26        let minOrder = $(this).data('min-order');
27        let cart = $(this).data('cart');
28        let value = $(this).data('value');
29        let action = $(this).data('action');
30        updateCartQuantityListMobile(minOrder, cart, value, action);
31    });
32    $('.update-cart-quantity-list-mobile-cart-data-input').on('change', function () {
33        let minOrder = $(this).data('min-order');
34        let cart = $(this).data('cart');
35        let value = $(this).data('value');
36        let action = $(this).data('action');
37        updateCartQuantityListMobile(minOrder, cart, value, action);
38    });
39}
40updateCartQuantityListMobileCartData();
41
42function updateCartQuantityList(minimum_order_qty, key, incr, e) {
43    let quantity =parseInt($("#cartQuantityWeb" + key).val())+parseInt(incr);
44    let ex_quantity = $("#cartQuantityWeb" + key);
45    updateCartCommon(minimum_order_qty, key, e, quantity, ex_quantity);
46}
47
48function updateCartQuantityListMobile(minimum_order_qty, key, incr, e) {
49    let quantity = parseInt($("#cartQuantityMobile" + key).val())+parseInt(incr);
50    let ex_quantity = $("#cartQuantityMobile" + key);
51    updateCartCommon(minimum_order_qty, key, e, quantity, ex_quantity);
52}
53function updateCartCommon(minimum_order_qty, key, e, quantity, ex_quantity) {
54    if (ex_quantity.val() > ex_quantity.data('current-stock') && e == 'minus') {
55        removeProductFromCartList(key)
56        return false;
57    }
58
59    if (quantity < minimum_order_qty && e !== 'delete') {
60        if (e === 'plus' && quantity + 1 <= minimum_order_qty) {
61            quantity = quantity + 1;
62            if (quantity < minimum_order_qty) {
63                $(".cartQuantity" + key).val(quantity);
64                return false;
65            }
66        } else {
67            toastr.error($('.minimum_order_quantity_msg').data('text') + ' ' + minimum_order_qty);
68            $(".cartQuantity" + key).val(minimum_order_qty);
69            location.reload();
70            return false;
71        }
72    }
73
74    if (parseInt(ex_quantity.val()) === parseInt(ex_quantity.data('min')) && e === 'delete') {
75        removeProductFromCartList(key)
76    }else{
77        let updateQuantityBasicUrl = $('#update-quantity-basic-url').data('url');
78        $.post(updateQuantityBasicUrl, {
79            _token: $('meta[name="_token"]').attr('content'),
80            key,
81            quantity
82        }, function (response) {
83            if (response.status === 0) {
84                toastr.error(response.message, {
85                    CloseButton: true,
86                    ProgressBar: true
87                });
88                $(".cartQuantity" + key).val(response['qty']);
89            } else {
90                if (response['qty'] === ex_quantity.data('min')) {
91                    ex_quantity.parent().find('.quantity__minus').html('<i class="bi bi-trash3-fill text-danger fs-10"></i>')
92                } else {
93                    ex_quantity.parent().find('.quantity__minus').html('<i class="bi bi-dash"></i>')
94                }
95                updateNavCart();
96                $('#cart-summary').empty().html(response);
97            }
98            initTooltip();
99            proceedToNextAction();
100            setShippingIdFunction()
101            updateCartQuantityListCartData();
102            updateCartQuantityListMobileCartData();
103            renderCouponCodeApply()
104            multipleCheckBoxFunctionsInit()
105        });
106    }
107}
108
109function removeProductFromCartList(key) {
110    let remove_from_cart_url = $('#remove_from_cart_url').data('url');
111    $.post(remove_from_cart_url, {
112            _token: $('meta[name="_token"]').attr('content'),
113            key: key
114        },
115        function (response) {
116            updateNavCart();
117            toastr.info(response.message, {
118                CloseButton: true,
119                ProgressBar: true
120            });
121            let segment_array = window.location.pathname.split('/');
122            let segment = segment_array[segment_array.length - 1];
123            if (segment === 'checkout-payment' || segment === 'checkout-details') {
124                location.reload();
125            }
126            $('#cart-summary').empty().html(response.data);
127            initTooltip();
128            proceedToNextAction();
129            updateCartQuantityListCartData();
130            setShippingIdFunction();
131            updateCartQuantityListMobileCartData();
132            renderCouponCodeApply()
133            multipleCheckBoxFunctionsInit()
134        }
135    );
136}
137
138function setShippingIdFunction(){
139
140    $('.set-shipping-onchange').on('change', function(){
141        let Id = $(this).val();
142        setShippingId(Id, 'all_cart_group');
143    })
144    $('.set-shipping-id').on('click', function(){
145        let Id = $(this).data('id');
146        let cartGroupId = $(this).data('cart-group');
147        setShippingId(Id, cartGroupId);
148    })
149    function setShippingId(Id, cartGroupId) {
150        $.get({
151            url: $('#set-shipping-url').data('url'),
152            dataType: 'json',
153            data: {
154                id: Id,
155                cart_group_id: cartGroupId
156            },
157            beforeSend: function () {
158                $('#loading').addClass('d-grid');
159            },
160            success: function () {
161                location.reload();
162            },
163            complete: function () {
164                $('#loading').removeClass('d-grid');
165            },
166        });
167    }
168}
169setShippingIdFunction();
170
171

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.