/*========================================================================================= File Name: app-ecommerce.js Description: Ecommerce pages js ---------------------------------------------------------------------------------------- Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template Author: PIXINVENT Author URL: http://www.themeforest.net/user/pixinvent ==========================================================================================*/ $(function () { 'use strict'; var quantityCounter = $('.quantity-counter'), CounterMin = 1, CounterMax = 10, bsStepper = document.querySelectorAll('.bs-stepper'), checkoutWizard = document.querySelector('.checkout-tab-steps'), removeItem = $('.remove-wishlist'), moveToCart = $('.move-cart'), isRtl = $('html').attr('data-textdirection') === 'rtl'; // remove items from wishlist page removeItem.on('click', function () { $(this).closest('.ecommerce-card').remove(); toastr['error']('', 'Removed Item 🗑️', { closeButton: true, tapToDismiss: false, rtl: isRtl }); }); // move items to cart moveToCart.on('click', function () { $(this).closest('.ecommerce-card').remove(); toastr['success']('', 'Added to wishlist ❤️', { closeButton: true, tapToDismiss: false, rtl: isRtl }); }); // Checkout Wizard // Adds crossed class if (typeof bsStepper !== undefined && bsStepper !== null) { for (var el = 0; el < bsStepper.length; ++el) { bsStepper[el].addEventListener('show.bs-stepper', function (event) { var index = event.detail.indexStep; var numberOfSteps = $(event.target).find('.step').length - 1; var line = $(event.target).find('.step'); // The first for loop is for increasing the steps, // the second is for turning them off when going back // and the third with the if statement because the last line // can't seem to turn off when I press the first item. ¯\_(ツ)_/¯ for (var i = 0; i < index; i++) { line[i].classList.add('crossed'); for (var j = index; j < numberOfSteps; j++) { line[j].classList.remove('crossed'); } } if (event.detail.to == 0) { for (var k = index; k < numberOfSteps; k++) { line[k].classList.remove('crossed'); } line[0].classList.remove('crossed'); } }); } } // Init Wizard if (typeof checkoutWizard !== undefined && checkoutWizard !== null) { var wizard = new Stepper(checkoutWizard, { linear: false }); $(checkoutWizard) .find('.btn-next') .each(function () { $(this).on('click', function (e) { wizard.next(); }); }); $(checkoutWizard) .find('.btn-prev') .on('click', function () { wizard.previous(); }); } // checkout quantity counter if (quantityCounter.length > 0) { quantityCounter .TouchSpin({ min: CounterMin, max: CounterMax }) .on('touchspin.on.startdownspin', function () { var $this = $(this); $('.bootstrap-touchspin-up').removeClass('disabled-max-min'); if ($this.val() == 1) { $(this).siblings().find('.bootstrap-touchspin-down').addClass('disabled-max-min'); } }) .on('touchspin.on.startupspin', function () { var $this = $(this); $('.bootstrap-touchspin-down').removeClass('disabled-max-min'); if ($this.val() == 10) { $(this).siblings().find('.bootstrap-touchspin-up').addClass('disabled-max-min'); } }); } });