PageSourceSearch

https://static.ridingwarehouse.com/js/QuickOrderPanel.js?ver=1

js ridingwarehouse.com collected 2026-10-03 20:16:25 UTC 2,840 bytes, 104 lines download raw bytes

1var QuickOrderPanel = (function() {
2	//internal variables and functions
3	var objects = {
4		cartPanel: null,
5		cartBackdrop: null,
6		panelHeader:null,
7		panelContent:null,
8		returnFocusOnCloseElement: null
9	},
10
11	state = {
12		lastScroll: 0
13	},
14
15	closePanel = function() {
16		$("body").css("top","").removeClass("is-fixed").addClass("sticky-ignore-next-scroll");
17		window.scrollTo(0, state.lastScroll);
18		objects.cartBackdrop.detach();
19		objects.cartPanel.removeClass('open');
20		
21		if (objects.returnFocusOnCloseElement) {
22			objects.returnFocusOnCloseElement.focus();
23		}
24	},
25
26	openPanel = function() {
27		if (!objects.cartPanel.hasClass('open')) {
28			// Added to fix scrolling issue
29			state.lastScroll = window.scrollY;
30			$("body").addClass("sticky-ignore-next-scroll");
31			$("body").css("top","-" + state.lastScroll + "px");
32			// ****************************
33			objects.returnFocusOnCloseElement = document.activeElement;
34			objects.cartPanel.toggleClass('open');
35			$("body").addClass("is-fixed");
36			objects.cartPanel.after(objects.cartBackdrop);
37		}
38		setTimeout(function() {objects.cartPanel.focus()}, 300);
39	},
40
41
42
43	generateMainPanel = function() {
44		var panelWrap = $('<div class="offcanvas-collapse is-right" id="quickOrderPanel" tabindex="-1"><div class="offcanvas-collapse-inner"></div></div>');
45		var dynamicCart = $('<div class="dynamic_cart" />');
46		var panelHeader = $('<div class="dynamic_cart-header"><h3></h3></div>');
47		var cartContent = $('<div class="dynamic_cart-cart" />');
48		var closeButton = $('<button type="button" class="icon icon-x dynamic_cart-header-close" title="Close Cart">Close Cart</button>');
49		var backDrop = $('<div class="offcanvas-backdrop" />');
50
51		closeButton.on("click", closePanel);
52
53		backDrop.on("click", function() {
54			$("body").removeClass("is-fixed");
55			$(this).detach();
56			panelWrap.removeClass('open');
57			if (objects.returnFocusOnCloseElement) {
58				objects.returnFocusOnCloseElement.focus();
59			}
60
61			// Added to fix scrolling issue
62			$("body").css("top","").addClass("sticky-ignore-next-scroll");
63			window.scrollTo(0, state.lastScroll);
64			// ****************************
65		});
66
67		dynamicCart.append(panelHeader.append(closeButton)).append(cartContent);
68		panelWrap.find('.offcanvas-collapse-inner').append(dynamicCart);
69
70		$('body').append(panelWrap);
71
72		objects.cartPanel = panelWrap;
73		objects.cartBackdrop = backDrop;
74		objects.panelContent = cartContent;
75		objects.panelHeader = panelHeader;
76	},
77
78	cartInitialize = function() {
79		//console.log("Initialize Cart");
80		generateMainPanel();
81	};
82
83	return {
84		initPanel: function() {
85			cartInitialize();
86		},
87
88		open: function() {
89			openPanel();
90		},
91
92		close: function() {
93			closePanel();
94		},
95
96		getHeader: function() {
97			return objects.panelHeader;
98		},
99
100		getContent: function() {
101			return objects.panelContent;
102		}
103	};
104})();

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.