File: //proc/self/cwd/nueva/modules/roja45quotationsprofree/views/js/roja45quotationspro_cart17.js
/**
* roja45ajaxcart.js.
*
* @author Roja45
* @copyright 2016 Roja45
* @license license.txt
*
* 2016 ROJA45 - All rights reserved.
*
* DISCLAIMER
* Changing this file will render any support provided by us null and void.
*/
$(document).ready(function () {
prestashop.on(
'updatedProduct',
function (event) {
var id_product = 0;
$('a.add-to-quote').each(function() {
$(this).attr('data-id-product-atttribute', event.id_product_attribute);
$(this).attr('data-quantity', $('#quantity_wanted').val());
var url = $(this).attr('data-url') + '&id_product_attribute=' + event.id_product_attribute + '&quantity=' + $('#quantity_wanted').val();
$(this).attr('href', url);
});
}
);
$(document).on('click', '.ajax_add_quote_button', function (e) {
e.preventDefault();
var idProduct = parseInt($(this).attr('data-id-product'));
var idProductAttribute = parseInt($(this).attr('data-id-product-attribute'));
var minimalQuantity = parseInt($(this).attr('data-minimal-quantity'));
if (!minimalQuantity) {
minimalQuantity = 1;
}
if ($(this).attr('disabled') != 'disabled') {
var url = $(this).attr('data-url');
if (url) {
$(this).closest('form').attr('href',url);
}
$(this).closest('form').submit();
}
});
$(document).off('click', '.quote_block_list .ajax_quote_block_remove_link').on('click', '.quote_block_list .ajax_quote_block_remove_link', function (e) {
e.preventDefault();
// Customized product management
var customizationId = 0;
var productId = 0;
var productAttributeId = 0;
var firstCut = $(this).closest('dt').attr('data-id').replace('quote_block_product_', '');
var ids = firstCut.split('_');
productId = parseInt(ids[0]);
if (typeof(ids[1]) != 'undefined') {
productAttributeId = parseInt(ids[1]);
}
roja45quotationspro_quotationscart.remove(productId, productAttributeId);
});
$(document).on('click', '#layer_quote .cross, #layer_quote .continue, .layer_quote_overlay', function(e){
e.preventDefault();
$('.layer_quote_overlay').hide();
$('#layer_quote').fadeOut('fast');
});
$('#columns #layer_quote, #columns .layer_quote_overlay').detach().prependTo('#columns');
});
var roja45quotationspro_quotationscart = {
nb_total_products: 0,
expand: function () {
if ($('.cart_block_list').hasClass('collapsed')) {
$('.cart_block_list.collapsed').slideDown({
duration: 450,
complete: function () {
$(this).parent().show(); // parent is hidden in global.js::accordion()
$(this).addClass('expanded').removeClass('collapsed');
}
});
// save the expand statut in the user cookie
$.ajax({
type: 'POST',
headers: {
'cache-control': 'no-cache'
},
url: baseDir + 'modules/blockcart/blockcart-set-collapse.php' + '?rand=' + new Date().getTime(),
async: true,
cache: false,
data: 'ajax_blockcart_display=expand',
complete: function () {
$('.block_cart_expand').fadeOut('fast', function () {
$('.block_cart_collapse').fadeIn('fast');
});
}
});
}
},
// add a product in the cart via ajax
add: function (idProduct, idCombination, addedFromProductPage, callerElement, minimalQuantity, quantity) {
if (addedFromProductPage) {
$('#add_to_quote_cart button').prop('disabled', 'disabled').addClass('disabled');
$('.filled').removeClass('filled');
} else {
$(callerElement).prop('disabled', 'disabled');
$(callerElement).addClass('disabled');
}
$.ajax({
url: roja45quotationspro_controller,
headers: {
'cache-control': 'no-cache'
},
type: 'post',
dataType: 'json',
data: {
'action' : 'addProductToRequest',
'ajax' : 1,
'quantity' : ((quantity && quantity != null) ? quantity : minimalQuantity),
'id_product' : idProduct,
'id_product_attribute' : ((idCombination && idCombination != null) ? idCombination : '0')
},
beforeSend: function () {
$(this).attr('disabled', 'disabled');
$(this).addClass('disabled');
},
success: function (data) {
if (data.result == 'success') {
$('.quotation_cart').parent().replaceWith(data.template);
} else if (data.result == 'error') {
roja45quotationsprofree.displayErrorMsg([roja45quotationspro_added_failed]);
roja45quotationsprofree.displayErrorMsg(data.errors);
} else {
roja45quotationsprofree.displayErrorMsg([roja45quotationspro_unknown_error]);
}
},
error: function (data) {
roja45quotationsprofree.displayErrorMsg([roja45quotationspro_sent_failed]);
},
complete: function (data) {
$(callerElement).removeAttr('disabled');
$(callerElement).removeClass('disabled');
}
});
},
};