HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/shootinschool/wp-content/themes/storefront/assets/js/sticky-add-to-cart.js
/*global storefront_sticky_add_to_cart_params */
( function () {
	document.addEventListener( 'DOMContentLoaded', function () {
		const stickyAddToCart = document.getElementsByClassName(
			'storefront-sticky-add-to-cart'
		);

		if ( ! stickyAddToCart.length ) {
			return;
		}

		// eslint-disable-next-line camelcase
		if ( typeof storefront_sticky_add_to_cart_params === 'undefined' ) {
			return;
		}

		const trigger = document.getElementsByClassName(
			storefront_sticky_add_to_cart_params.trigger_class
		);

		if ( trigger.length > 0 ) {
			const stickyAddToCartToggle = function () {
				if (
					trigger[ 0 ].getBoundingClientRect().top +
						trigger[ 0 ].scrollHeight <
					0
				) {
					stickyAddToCart[ 0 ].classList.add(
						'storefront-sticky-add-to-cart--slideInDown'
					);
					stickyAddToCart[ 0 ].classList.remove(
						'storefront-sticky-add-to-cart--slideOutUp'
					);
				} else if (
					stickyAddToCart[ 0 ].classList.contains(
						'storefront-sticky-add-to-cart--slideInDown'
					)
				) {
					stickyAddToCart[ 0 ].classList.add(
						'storefront-sticky-add-to-cart--slideOutUp'
					);
					stickyAddToCart[ 0 ].classList.remove(
						'storefront-sticky-add-to-cart--slideInDown'
					);
				}
			};

			stickyAddToCartToggle();

			window.addEventListener( 'scroll', function () {
				stickyAddToCartToggle();
			} );

			// Get product id
			let productId = null;

			document.body.classList.forEach( function ( item ) {
				if ( item.substring( 0, 7 ) === 'postid-' ) {
					productId = item.replace( /[^0-9]/g, '' );
				}
			} );

			if ( productId ) {
				const product = document.getElementById(
					'product-' + productId
				);

				if ( product ) {
					if (
						! product.classList.contains( 'product-type-simple' ) &&
						! product.classList.contains( 'product-type-external' )
					) {
						const selectOptions = document.getElementsByClassName(
							'storefront-sticky-add-to-cart__content-button'
						);

						selectOptions[ 0 ].addEventListener(
							'click',
							function ( event ) {
								event.preventDefault();
								document
									.getElementById( 'product-' + productId )
									.scrollIntoView();
							}
						);
					}
				}
			}
		}
	} );
} )();