brotherton-erpnext/erpnext/public/js/shopping_cart.js
2016-04-20 16:24:24 +05:30

73 lines
1.8 KiB
JavaScript

// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
// shopping cart
frappe.provide("shopping_cart");
frappe.ready(function() {
// update user
if(full_name) {
$('.navbar li[data-label="User"] a')
.html('<i class="icon-fixed-width icon-user"></i> ' + full_name);
}
// update login
shopping_cart.set_cart_count();
});
$.extend(shopping_cart, {
update_cart: function(opts) {
if(!full_name || full_name==="Guest") {
if(localStorage) {
localStorage.setItem("last_visited", window.location.pathname);
}
window.location.href = "/login";
} else {
return frappe.call({
type: "POST",
method: "erpnext.shopping_cart.cart.update_cart",
args: {
item_code: opts.item_code,
qty: opts.qty,
with_items: opts.with_items || 0
},
btn: opts.btn,
callback: function(r) {
shopping_cart.set_cart_count();
if(opts.callback)
opts.callback(r);
}
});
}
},
set_cart_count: function() {
var cart_count = getCookie("cart_count");
if($(".cart-icon").length == 0) {
$('<div class="cart-icon" style="float:right;padding-top:5px;padding-right:10px;padding-left:10px;border-radius:10px;\
border: 2px solid #2fa5d6;color:#2fa5d6;">\
<a href="/cart" style="color:#2fa5d6;">\
<i class="icon-shopping-cart"></i> <span style="\
position: relative; bottom: 2ex; font-size: 75%; margin-left:-12px;" id="cart-count"></span> Cart\
</div>\
</a></div>').appendTo($('.hidden-xs'))
}
var $cart = $('.cart-icon');
var $badge = $cart.find("#cart-count");
if(parseInt(cart_count) === 0 || cart_count === undefined) {
$cart.css("display", "none");
}
else {
$cart.css("display", "inline");
}
if(cart_count) {
$badge.html(cart_count);
} else {
$badge.remove();
}
}
});