1var fastCart = []; 2 3fastCart.inputQuantitySelector = 'input[name=quantity]'; 4fastCart.quantitySelector = '.fastCartContent input[name=quantity]'; 5fastCart.urlChangeQuantity = $('#urlajax').val() + '/checkout/pedido.php'; 6fastCart.quantityUnit = 'data-quantity-unit'; 7 8fastCart.quantityListener = function () { 9 var selector = '.fastCartContent a.add-action'; 10 var event = 'click'; 11 12 $(document).on(event, selector, function (e){ 13 var quantityAction = $(this).hasClass('add-down') ? 'down' : 'up'; 14 var quantity = +$(this).parent().parent().find(fastCart.inputQuantitySelector).val(); 15 quantity += quantityAction == 'up' ? 1 : -1; 16 fastCart.sendChangeQuantityRequest(this, quantity); 17 18 e.preventDefault(); 19 return; 20 }); 21 22 $(document).on('change', fastCart.quantitySelector, function (e) { 23 data.quantity = +$(this).val(); 24 fastCart.sendChangeQuantityRequest(this, quantity); 25 26 e.preventDefault(); 27 return false; 28 }); 29} 30 31fastCart.sendChangeQuantityRequest = function(element, quantity) { 32 var data = { 33 act: 'atualizarQuantidade' 34 }; 35 36 var removeItemLink = $(element).parent().parent().parent().parent().parent().find('a.remove-item'); 37 var actualUnit = $(element).parent().parent('[' + fastCart.quantityUnit + ']'); 38 var unitData = actualUnit.attr(fastCart.quantityUnit).split('-'); 39 data.product = unitData[0]; 40 data.option = unitData[1]; 41 data.size = unitData[2]; 42 data.quantity = quantity 43 44 if (data.quantity <= 0 ) { 45 // Trigger remove button 46 $(removeItemLink).click() 47 return; 48 } 49 50 X.post(fastCart.urlChangeQuantity, data, 'fastCart.handleQuantityChange'); 51} 52 53fastCart.handleQuantityChange = function(response) { 54 var defaultMessage = 'Não foi possÃvel alterar a quantidade'; 55 if (response.error) { 56 var message = response.message ? response.message : defaultMessage; 57 alert(message); 58 return; 59 } 60 61 if (!response.data.data.atualizacao) { 62 var message = response.data.data.titulo ? response.data.data.titulo : defaultMessage; 63 alert(message); 64 return; 65 } 66 67 var product = response.data.data.product ? response.data.data.product : null; 68 var option = response.data.data.option ? response.data.data.option : null; 69 var size = response.data.data.size ? response.data.data.size : null; 70 var quantity = response.data.data.quantity ? response.data.data.quantity : null; 71 72 if (!product || !option || !size || !quantity) { 73 alert(defaultMessage); 74 return; 75 } 76 77 $(`[data-quantity-unit='${product}-${option}-${size}']`).find(fastCart.inputQuantitySelector).val(quantity); 78 79 if (typeof storageCache !== 'undefined') { 80 storageCache.updateCache(); 81 } 82} 83 84$(function () { 85 fastCart.quantityListener(); 86});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.