Skip to content

Instantly share code, notes, and snippets.

@mandado
Created April 30, 2015 14:23
Show Gist options
  • Select an option

  • Save mandado/b97bb7e63d36426e7511 to your computer and use it in GitHub Desktop.

Select an option

Save mandado/b97bb7e63d36426e7511 to your computer and use it in GitHub Desktop.
carrinhojs
var CART_NAME = "ItensCart";
function addItem(obj) {
if (isEmptyCart()) {
localStorage.setItem(CART_NAME, JSON.stringify([obj]));
};
if (itemExists(obj)) {
updateQuantity(obj.id);
} else {
var Cart = JSON.parse(localStorage.getItem(CART_NAME));
Cart.push(obj);
localStorage.setItem(CART_NAME, JSON.stringify(Cart));
}
};
function updateQuantity(id, qty) {
var quantity = qty || 1;
var Cart = JSON.parse(localStorage.getItem(CART_NAME));
var cartUpdate = Cart.map(function(item) {
if (item.id === id) {
if (!qty) {
item.qty += quantity;
}else{
item.qty = quantity;
}
}
return item;
});
localStorage.setItem(CART_NAME, JSON.stringify(cartUpdate));
};
function itemExists(item) {
var cond = {
id : item.id
}
return (_.where(JSON.parse(localStorage.getItem("ItensCart")), cond).length > 0);
}
function isEmptyCart() {
return (localStorage.getItem(CART_NAME) === null);
}
return {
addItem: addItem,
updateQuantity: updateQuantity
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment