Clean selectors in ajax-cart.js
Kepp it simple
This commit is contained in:
@@ -42,7 +42,7 @@ var ajaxCart = {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
//for product page 'add' button...
|
//for product page 'add' button...
|
||||||
$('body#product p#add_to_cart input').unbind('click').click(function(){
|
$('#add_to_cart input').unbind('click').click(function(){
|
||||||
ajaxCart.add( $('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null);
|
ajaxCart.add( $('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@@ -95,18 +95,18 @@ var ajaxCart = {
|
|||||||
|
|
||||||
// try to expand the cart
|
// try to expand the cart
|
||||||
expand : function(){
|
expand : function(){
|
||||||
if ($('#cart_block #cart_block_list').hasClass('collapsed'))
|
if ($('#cart_block_list').hasClass('collapsed'))
|
||||||
{
|
{
|
||||||
$('#header #cart_block #cart_block_summary').slideUp(200, function(){
|
$('#cart_block_summary').slideUp(200, function(){
|
||||||
$(this).addClass('collapsed').removeClass('expanded');
|
$(this).addClass('collapsed').removeClass('expanded');
|
||||||
$('#header #cart_block #cart_block_list').slideDown({
|
$('#cart_block_list').slideDown({
|
||||||
duration: 450,
|
duration: 450,
|
||||||
complete: function(){$(this).addClass('expanded').removeClass('collapsed');}
|
complete: function(){$(this).addClass('expanded').removeClass('collapsed');}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// toogle the button expand/collapse button
|
// toogle the button expand/collapse button
|
||||||
$('#cart_block h4 span#block_cart_expand').fadeOut('slow', function(){
|
$('#block_cart_expand').fadeOut('slow', function(){
|
||||||
$('#cart_block h4 span#block_cart_collapse').fadeIn('fast');
|
$('#block_cart_collapse').fadeIn('fast');
|
||||||
});
|
});
|
||||||
|
|
||||||
// save the expand statut in the user cookie
|
// save the expand statut in the user cookie
|
||||||
@@ -139,16 +139,16 @@ var ajaxCart = {
|
|||||||
// try to collapse the cart
|
// try to collapse the cart
|
||||||
collapse : function(){
|
collapse : function(){
|
||||||
|
|
||||||
if ($('#cart_block #cart_block_list').hasClass('expanded'))
|
if ($('#cart_block_list').hasClass('expanded'))
|
||||||
{
|
{
|
||||||
$('#header #cart_block #cart_block_list').slideUp('slow', function(){
|
$('#cart_block_list').slideUp('slow', function(){
|
||||||
$(this).addClass('collapsed').removeClass('expanded');
|
$(this).addClass('collapsed').removeClass('expanded');
|
||||||
$('#header #cart_block #cart_block_summary').slideDown(450, function(){
|
$('#cart_block_summary').slideDown(450, function(){
|
||||||
$(this).addClass('expanded').removeClass('collapsed');
|
$(this).addClass('expanded').removeClass('collapsed');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('#cart_block h4 span#block_cart_collapse').fadeOut('slow', function(){
|
$('#block_cart_collapse').fadeOut('slow', function(){
|
||||||
$('#cart_block h4 span#block_cart_expand').fadeIn('fast');
|
$('#block_cart_expand').fadeIn('fast');
|
||||||
});
|
});
|
||||||
|
|
||||||
// save the expand statut in the user cookie
|
// save the expand statut in the user cookie
|
||||||
@@ -168,7 +168,7 @@ var ajaxCart = {
|
|||||||
|
|
||||||
//reactive the button when adding has finished
|
//reactive the button when adding has finished
|
||||||
if (addedFromProductPage)
|
if (addedFromProductPage)
|
||||||
$('body#product p#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');
|
$('#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');
|
||||||
else
|
else
|
||||||
$('.ajax_add_to_cart_button').removeAttr('disabled');
|
$('.ajax_add_to_cart_button').removeAttr('disabled');
|
||||||
},
|
},
|
||||||
@@ -184,13 +184,13 @@ var ajaxCart = {
|
|||||||
//disabled the button when adding to do not double add if user double click
|
//disabled the button when adding to do not double add if user double click
|
||||||
if (addedFromProductPage)
|
if (addedFromProductPage)
|
||||||
{
|
{
|
||||||
$('body#product p#add_to_cart input').attr('disabled', true).removeClass('exclusive').addClass('exclusive_disabled');
|
$('#add_to_cart input').attr('disabled', true).removeClass('exclusive').addClass('exclusive_disabled');
|
||||||
$('.filled').removeClass('filled');
|
$('.filled').removeClass('filled');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$(callerElement).attr('disabled', true);
|
$(callerElement).attr('disabled', true);
|
||||||
|
|
||||||
if ($('#cart_block #cart_block_list').hasClass('collapsed'))
|
if ($('#cart_block_list').hasClass('collapsed'))
|
||||||
this.expand();
|
this.expand();
|
||||||
//send the ajax request to the server
|
//send the ajax request to the server
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -240,7 +240,7 @@ var ajaxCart = {
|
|||||||
alert("Impossible to add the product to the cart.\n\ntextStatus: '" + textStatus + "'\nerrorThrown: '" + errorThrown + "'\nresponseText:\n" + XMLHttpRequest.responseText);
|
alert("Impossible to add the product to the cart.\n\ntextStatus: '" + textStatus + "'\nerrorThrown: '" + errorThrown + "'\nresponseText:\n" + XMLHttpRequest.responseText);
|
||||||
//reactive the button when adding has finished
|
//reactive the button when adding has finished
|
||||||
if (addedFromProductPage)
|
if (addedFromProductPage)
|
||||||
$('body#product p#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');
|
$('#add_to_cart input').removeAttr('disabled').addClass('exclusive').removeClass('exclusive_disabled');
|
||||||
else
|
else
|
||||||
$(callerElement).removeAttr('disabled');
|
$(callerElement).removeAttr('disabled');
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ var ajaxCart = {
|
|||||||
//hide the products displayed in the page but no more in the json data
|
//hide the products displayed in the page but no more in the json data
|
||||||
hideOldProducts : function(jsonData) {
|
hideOldProducts : function(jsonData) {
|
||||||
//delete an eventually removed product of the displayed cart (only if cart is not empty!)
|
//delete an eventually removed product of the displayed cart (only if cart is not empty!)
|
||||||
if ($('#cart_block #cart_block_list dl.products').length > 0)
|
if ($('#cart_block_list dl.products').length > 0)
|
||||||
{
|
{
|
||||||
var removedProductId = null;
|
var removedProductId = null;
|
||||||
var removedProductData = null;
|
var removedProductData = null;
|
||||||
@@ -309,13 +309,13 @@ var ajaxCart = {
|
|||||||
// If the cart is now empty, show the 'no product in the cart' message and close detail
|
// If the cart is now empty, show the 'no product in the cart' message and close detail
|
||||||
if($('#cart_block dl.products dt').length == 0)
|
if($('#cart_block dl.products dt').length == 0)
|
||||||
{
|
{
|
||||||
$("#header #cart_block").stop(true, true).slideUp(200);
|
$("#cart_block").stop(true, true).slideUp(200);
|
||||||
$('p#cart_block_no_products:hidden').slideDown(450);
|
$('#cart_block_no_products:hidden').slideDown(450);
|
||||||
$('div#cart_block dl.products').remove();
|
$('#cart_block dl.products').remove();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$('dd#cart_block_combination_of_' + ids[0] + (ids[1] ? '_'+ids[1] : '') + (ids[2] ? '_'+ids[2] : '')).fadeTo('fast', 0, function(){
|
$('#cart_block_combination_of_' + ids[0] + (ids[1] ? '_'+ids[1] : '') + (ids[2] ? '_'+ids[2] : '')).fadeTo('fast', 0, function(){
|
||||||
$(this).slideUp('fast', function(){
|
$(this).slideUp('fast', function(){
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
@@ -328,7 +328,7 @@ var ajaxCart = {
|
|||||||
|
|
||||||
hideOldProductCustomizations : function (product, domIdProduct)
|
hideOldProductCustomizations : function (product, domIdProduct)
|
||||||
{
|
{
|
||||||
var customizationList = $('#cart_block #cart_block_list ul#customization_' + product['id'] + '_' + product['idCombination']);
|
var customizationList = $('#customization_' + product['id'] + '_' + product['idCombination']);
|
||||||
if(customizationList.length > 0)
|
if(customizationList.length > 0)
|
||||||
{
|
{
|
||||||
$(customizationList).find("li").each(function(){
|
$(customizationList).find("li").each(function(){
|
||||||
@@ -400,7 +400,7 @@ var ajaxCart = {
|
|||||||
// Update product quantity
|
// Update product quantity
|
||||||
updateProductQuantity : function (product, quantity) {
|
updateProductQuantity : function (product, quantity) {
|
||||||
|
|
||||||
$('dt#cart_block_product_' + product.id + '_' + (product.idCombination ? product.idCombination : '0')+ '_' + (product.idAddressDelivery ? product.idAddressDelivery : '0') + ' .quantity').fadeTo('fast', 0, function() {
|
$('#cart_block_product_' + product.id + '_' + (product.idCombination ? product.idCombination : '0')+ '_' + (product.idAddressDelivery ? product.idAddressDelivery : '0') + ' .quantity').fadeTo('fast', 0, function() {
|
||||||
$(this).text(quantity);
|
$(this).text(quantity);
|
||||||
$(this).fadeTo('fast', 1, function(){
|
$(this).fadeTo('fast', 1, function(){
|
||||||
$(this).fadeTo('fast', 0, function(){
|
$(this).fadeTo('fast', 0, function(){
|
||||||
@@ -424,16 +424,16 @@ var ajaxCart = {
|
|||||||
if (this.id != undefined)
|
if (this.id != undefined)
|
||||||
{
|
{
|
||||||
//create a container for listing the products and hide the 'no product in the cart' message (only if the cart was empty)
|
//create a container for listing the products and hide the 'no product in the cart' message (only if the cart was empty)
|
||||||
if ($('div#cart_block dl.products').length == 0)
|
if ($('#cart_block dl.products').length == 0)
|
||||||
{
|
{
|
||||||
$('p#cart_block_no_products').before('<dl class="products"></dl>');
|
$('#cart_block_no_products').before('<dl class="products"></dl>');
|
||||||
$('p#cart_block_no_products').hide();
|
$('#cart_block_no_products').hide();
|
||||||
}
|
}
|
||||||
//if product is not in the displayed cart, add a new product's line
|
//if product is not in the displayed cart, add a new product's line
|
||||||
var domIdProduct = this.id + '_' + (this.idCombination ? this.idCombination : '0') + '_' + (this.idAddressDelivery ? this.idAddressDelivery : '0');
|
var domIdProduct = this.id + '_' + (this.idCombination ? this.idCombination : '0') + '_' + (this.idAddressDelivery ? this.idAddressDelivery : '0');
|
||||||
|
|
||||||
var domIdProductAttribute = this.id + '_' + (this.idCombination ? this.idCombination : '0');
|
var domIdProductAttribute = this.id + '_' + (this.idCombination ? this.idCombination : '0');
|
||||||
if ($('#cart_block dt#cart_block_product_'+ domIdProduct ).length == 0)
|
if ($('#cart_block_product_'+ domIdProduct ).length == 0)
|
||||||
{
|
{
|
||||||
var productId = parseInt(this.id);
|
var productId = parseInt(this.id);
|
||||||
var productAttributeId = (this.hasAttributes ? parseInt(this.attributes) : 0);
|
var productAttributeId = (this.hasAttributes ? parseInt(this.attributes) : 0);
|
||||||
@@ -461,30 +461,30 @@ var ajaxCart = {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var jsonProduct = this;
|
var jsonProduct = this;
|
||||||
if($('dt#cart_block_product_' + domIdProduct + ' .quantity').text() != jsonProduct.quantity || $('dt#cart_block_product_' + domIdProduct + ' .price').text() != jsonProduct.priceByLine)
|
if($('#cart_block_product_' + domIdProduct + ' .quantity').text() != jsonProduct.quantity || $('dt#cart_block_product_' + domIdProduct + ' .price').text() != jsonProduct.priceByLine)
|
||||||
{
|
{
|
||||||
// Usual product
|
// Usual product
|
||||||
if (parseFloat(this.price_float) > 0)
|
if (parseFloat(this.price_float) > 0)
|
||||||
$('dt#cart_block_product_' + domIdProduct + ' .price').text(jsonProduct.priceByLine);
|
$('#cart_block_product_' + domIdProduct + ' .price').text(jsonProduct.priceByLine);
|
||||||
else
|
else
|
||||||
$('dt#cart_block_product_' + domIdProduct + ' .price').html(freeProductTranslation);
|
$('#cart_block_product_' + domIdProduct + ' .price').html(freeProductTranslation);
|
||||||
ajaxCart.updateProductQuantity(jsonProduct, jsonProduct.quantity);
|
ajaxCart.updateProductQuantity(jsonProduct, jsonProduct.quantity);
|
||||||
|
|
||||||
// Customized product
|
// Customized product
|
||||||
if (jsonProduct.hasCustomizedDatas)
|
if (jsonProduct.hasCustomizedDatas)
|
||||||
{
|
{
|
||||||
customizationFormatedDatas = ajaxCart.displayNewCustomizedDatas(jsonProduct);
|
customizationFormatedDatas = ajaxCart.displayNewCustomizedDatas(jsonProduct);
|
||||||
if (!$('#cart_block ul#customization_' + domIdProductAttribute).length)
|
if (!$('#customization_' + domIdProductAttribute).length)
|
||||||
{
|
{
|
||||||
if (jsonProduct.hasAttributes)
|
if (jsonProduct.hasAttributes)
|
||||||
$('#cart_block dd#cart_block_combination_of_' + domIdProduct).append(customizationFormatedDatas);
|
$('#cart_block_combination_of_' + domIdProduct).append(customizationFormatedDatas);
|
||||||
else
|
else
|
||||||
$('#cart_block dl.products').append(customizationFormatedDatas);
|
$('#cart_block dl.products').append(customizationFormatedDatas);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$('#cart_block ul#customization_' + domIdProductAttribute).html('');
|
$('#customization_' + domIdProductAttribute).html('');
|
||||||
$('#cart_block ul#customization_' + domIdProductAttribute).append(customizationFormatedDatas);
|
$('#customization_' + domIdProductAttribute).append(customizationFormatedDatas);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -505,7 +505,7 @@ var ajaxCart = {
|
|||||||
var content = '';
|
var content = '';
|
||||||
var productId = parseInt(product.id);
|
var productId = parseInt(product.id);
|
||||||
var productAttributeId = typeof(product.idCombination) == 'undefined' ? 0 : parseInt(product.idCombination);
|
var productAttributeId = typeof(product.idCombination) == 'undefined' ? 0 : parseInt(product.idCombination);
|
||||||
var hasAlreadyCustomizations = $('#cart_block ul#customization_' + productId + '_' + productAttributeId).length;
|
var hasAlreadyCustomizations = $('#customization_' + productId + '_' + productAttributeId).length;
|
||||||
|
|
||||||
if (!hasAlreadyCustomizations)
|
if (!hasAlreadyCustomizations)
|
||||||
{
|
{
|
||||||
@@ -544,7 +544,7 @@ var ajaxCart = {
|
|||||||
if (customizationId)
|
if (customizationId)
|
||||||
{
|
{
|
||||||
$('#uploadable_files li div.customizationUploadBrowse img').remove();
|
$('#uploadable_files li div.customizationUploadBrowse img').remove();
|
||||||
$('#text_fields li input').attr('value', '');
|
$('#text_fields input').attr('value', '');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -577,10 +577,10 @@ var ajaxCart = {
|
|||||||
ajaxCart.refreshVouchers(jsonData);
|
ajaxCart.refreshVouchers(jsonData);
|
||||||
|
|
||||||
//update 'first' and 'last' item classes
|
//update 'first' and 'last' item classes
|
||||||
$('#cart_block dl.products dt').removeClass('first_item').removeClass('last_item').removeClass('item');
|
$('#cart_block .products dt').removeClass('first_item').removeClass('last_item').removeClass('item');
|
||||||
$('#cart_block dl.products dt:first').addClass('first_item');
|
$('#cart_block .products dt:first').addClass('first_item');
|
||||||
$('#cart_block dl.products dt:not(:first,:last)').addClass('item');
|
$('#cart_block .products dt:not(:first,:last)').addClass('item');
|
||||||
$('#cart_block dl.products dt:last').addClass('last_item');
|
$('#cart_block .products dt:last').addClass('last_item');
|
||||||
|
|
||||||
//reset the onlick events in relation to the cart block (it allow to bind the onclick event to the new 'delete' buttons added)
|
//reset the onlick events in relation to the cart block (it allow to bind the onclick event to the new 'delete' buttons added)
|
||||||
ajaxCart.overrideButtonsInThePage();
|
ajaxCart.overrideButtonsInThePage();
|
||||||
@@ -674,13 +674,13 @@ $(document).ready(function(){
|
|||||||
function() {
|
function() {
|
||||||
$(this).css('border-radius', '3px 3px 0px 0px');
|
$(this).css('border-radius', '3px 3px 0px 0px');
|
||||||
if (ajaxCart.nb_total_products > 0)
|
if (ajaxCart.nb_total_products > 0)
|
||||||
$("#header #cart_block").stop(true, true).slideDown(450);
|
$("#cart_block").stop(true, true).slideDown(450);
|
||||||
},
|
},
|
||||||
function() {
|
function() {
|
||||||
$('#shopping_cart a').css('border-radius', '3px');
|
$('#shopping_cart a').css('border-radius', '3px');
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
if (!shopping_cart.isHoveringOver() && !cart_block.isHoveringOver())
|
if (!shopping_cart.isHoveringOver() && !cart_block.isHoveringOver())
|
||||||
$("#header #cart_block").stop(true, true).slideUp(450);
|
$("#cart_block").stop(true, true).slideUp(450);
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -710,5 +710,4 @@ $(document).ready(function(){
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Reference in New Issue
Block a user