openclassify/addons/default/visiosoft/advs-module/resources/js/quantity.js
2019-06-22 13:59:18 +03:00

91 lines
2.4 KiB
JavaScript

function getInput(field) {
var row = field.parent().parent();
return $(row).find('.add-cart-quantity-input');
}
//plus
$('.add-cart-upgrade button').on('click', function () {
var input = getInput($(this));
updatePrice(input, 'plus')
})
//minus
$('.add-cart-reduce button').on('click', function () {
var input = getInput($(this));
updatePrice(input, 'minus')
})
//change
$('.add-cart-quantity-input').on('change', function () {
var input = getInput($(this));
updatePrice(input, 'change')
})
function updatePrice(input, type) {
var ad_id = $(input).attr('data-id');
var current_quantity = $(input).val();
productDetail(ad_id, current_quantity, type, function (data) {
ChangeFieldForResponse(type, data.newPrice, data.newQuantity, data.maxQuantity)
});
}
function productDetail(id, quantity, type, returnData) {
if (quantity == 0) {
quantity = 1;
}
$.ajax({
type: 'POST',
url: '/ajax/StockControl',
data: 'id=' + id + '&quantity=' + quantity + '&type=' + type,
success: function (data) {
hideLoader()
returnData(data);
},
beforeSend: function () {
showLoader()
}
});
}
function ChangeFieldForResponse(type, price, quantity, maxQuantity) {
if (parseInt(quantity) == 1) {
$('.add-cart-reduce button').attr('disabled', true);
} else {
$('.add-cart-reduce button').attr('disabled', false);
}
if (quantity == maxQuantity) {
$('.add-cart-upgrade button').attr('disabled', true);
} else {
$('.add-cart-upgrade button').attr('disabled', false);
}
$('.add-cart-quantity-input').val(parseInt(quantity));
$('.ad-price b').html(parseInt(price))
}
$('.add-cart-button').on('click', function () {
var quantity = $('.add-cart-quantity-input').val();
var id = $('.add-cart-quantity-input').attr('data-id');
return addCart(id, quantity)
})
function addCart(id, quantity) {
$.ajax({
type: 'POST',
url: '/ajax/addCart',
data: 'id=' + id + '&quantity=' + quantity,
success: function (data) {
hideLoader()
if (data.status == "success") {
var url = window.location.origin;
window.location.replace(url + "/cart");
} else {
alert(data.msg);
}
},
beforeSend: function () {
showLoader()
}
});
}