118 lines
3.6 KiB
JavaScript
118 lines
3.6 KiB
JavaScript
/*=========================================================================================
|
|
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');
|
|
}
|
|
});
|
|
}
|
|
});
|