(function($, Drupal){ Drupal.behaviors.cartBehaviours = { attach: function (context, settings) { $(window).once('cartIndicatorBehaviour').on('load ajaxSuccess', function() { var cartQty = 0; $('.cart-indicator-qty').each(function() { var itemQty = parseInt($(this).val()); cartQty = cartQty + itemQty; }); if ( cartQty ) { $('#indicator').show(); $('.indicator-number').text(cartQty); } else { $('#indicator').hide(); $('.indicator-number').text(cartQty); } //$('
+
-
').insertAfter('#shopping-cart .js-form-type-number input'); }); $('#shopping-cart .js-form-type-number input').once('qtyChangerBehaviour').each(function() { $(this).after('
+
-
'); }); $('#shopping-cart .js-form-type-number').once('qtySelectorBehaviour').each(function() { var spinner = $(this), input = spinner.find('input[type="number"]'), btnUp = spinner.find('.quantity-up'), btnDown = spinner.find('.quantity-down'), min = input.attr('min'), max = input.attr('max'); btnUp.click(function() { var oldValue = parseFloat(input.val()); if (oldValue >= max) { var newVal = oldValue; } else { var newVal = oldValue + 1; } spinner.find("input").val(newVal); spinner.find("input").trigger("change"); }); btnDown.click(function() { var oldValue = parseFloat(input.val()); if (oldValue <= min) { var newVal = oldValue; } else { var newVal = oldValue - 1; } spinner.find("input").val(newVal); spinner.find("input").trigger("change"); }); }); $('.add-to-cart').once('addToCartBehaviour').click(function() { var productId = $(this).data('product-id'); $('#add-to-cart').val(productId); $('#update-cart').click(); }); $('#continue a').once('guestContinueBehaviour').click(function(e) { $('#customer-prompt').fadeOut(); e.preventDefault(); }); $('#customer-prompt').once('closePromptBehaviour').click(function (e) { if (!$(e.target).closest('#customer-prompt > div > div').length) { $('#customer-prompt').fadeOut().html(''); } }); } } })(jQuery, Drupal);