PageSourceSearch

https://www.kaosalonpartner.se/_ui/responsive/common/js/acc.cartitem.js

js kaosalonpartner.se collected 2026-10-08 23:15:00 UTC 2,979 bytes, 101 lines download raw bytes

1ACC.cartitem = {
2
3	_autoload: [
4		"bindCartItem",
5		"disablePlaceOrderButton"
6	],
7
8	submitTriggered: false,
9
10	bindCartItem: function ()
11	{
12
13		$('.js-execute-entry-action-button').on("click", function ()
14		{
15			sessionStorage.setItem("cartPageScroll", $(this).offset().top);
16			$('.icon-disable').attr('disabled', 'disabled');
17			var entryAction = $(this).data("entryAction");
18			var entryActionUrl =  $(this).data("entryActionUrl");
19			var entryProductCode =  $(this).data("entryProductCode");
20			var entryInitialQuantity =  $(this).data("entryInitialQuantity");
21			var actionEntryNumbers =  $(this).data("actionEntryNumbers");
22
23			if(entryAction == 'REMOVE')
24			{
25				ACC.track.trackRemoveFromCart(entryProductCode, entryInitialQuantity);
26			}
27
28			var cartEntryActionForm = $("#cartEntryActionForm");
29			var entryNumbers = actionEntryNumbers.toString().split(';');
30			entryNumbers.forEach(function(entryNumber) {
31				var entryNumbersInput = $("<input>").attr("type", "hidden").attr("name", "entryNumbers").val(entryNumber);
32				cartEntryActionForm.append($(entryNumbersInput));
33			});
34			cartEntryActionForm.attr('action', entryActionUrl).submit();
35		});
36
37		$('.js-update-entry-quantity-input').on("blur", function (e)
38		{
39			ACC.cartitem.handleUpdateQuantity(this, e);			
40		}).on("keyup", function (e)
41		{
42			return ACC.cartitem.handleKeyEvent(this, e);
43		}
44		).on("keydown", function (e)
45		{
46			return ACC.cartitem.handleKeyEvent(this, e);
47		}
48		);
49	},
50
51	handleKeyEvent: function (elementRef, event)
52	{
53		//console.log("key event (type|value): " + event.type + "|" + event.which);
54		sessionStorage.setItem("cartPageScroll", $(elementRef).offset().top+100);
55		if (event.which == 13 && !ACC.cartitem.submitTriggered)
56		{
57			ACC.cartitem.submitTriggered = ACC.cartitem.handleUpdateQuantity(elementRef, event);
58			return false;
59		}
60		else 
61		{
62			// Ignore all key events once submit was triggered
63			if (ACC.cartitem.submitTriggered)
64			{
65				return false;
66			}
67		}
68
69		return true;
70	},
71	disablePlaceOrderButton: function()
72    {
73    	var disablePlaceOrderButton=$('.disablePlaceOrderButton').attr("js-disable-place-order-button");
74    	if(disablePlaceOrderButton == "true")
75    		{
76    			$('.js-cart-placeOrder').attr("disabled","disabled");
77    		}
78    	
79    },
80    
81	handleUpdateQuantity: function (elementRef, event)
82	{
83		sessionStorage.setItem("cartPageScroll", $(elementRef).offset().top+100);
84		$('#parLoading').show();
85		var form = $(elementRef).closest('form');
86
87		var productCode = form.find('input[name=productCode]').val();
88		var initialCartQuantity = form.find('input[name=initialQuantity]').val();
89		var newCartQuantity = form.find('input[name=quantity]').val()?form.find('input[name=quantity]').val():form.find('select[name=quantity]').val();
90
91		if(initialCartQuantity != newCartQuantity)
92		{
93			ACC.track.trackUpdateCart(productCode, initialCartQuantity, newCartQuantity);
94		    form.submit();
95
96			return true;
97		}
98		$('#parLoading').hide();
99		return false;
100	}
101};

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.