odoo/ext/clarico-addons/clarico_cart/static/src/js/clarico_cart.js

145 lines
6.2 KiB
JavaScript
Executable File

odoo.define('clarico_cart.cart', function (require) {
"use strict";
require('web.dom_ready');
var core = require('web.core');
var ajax = require('web.ajax');
var _t = core._t;
if ($(window).width() > 1200) {
var shopping_cart_link = $('.cart_style_2, .cart-update-icon');
var shopping_cart_link_counter;
shopping_cart_link.popover({
trigger: 'manual',
animation: true,
html: true,
title: function () {
return _t("My Cart");
},
container: 'body',
placement: 'auto',
template: '<div class="popover mycart-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>'
}).on("mouseenter",function () {
var self = this;
clearTimeout(shopping_cart_link_counter);
shopping_cart_link.not(self).popover('hide');
shopping_cart_link_counter = setTimeout(function(){
if($(self).is(':hover') && !$(".mycart-popover:visible").length)
{
$.get("/shop/cart", {'type': 'popover'})
.then(function (data) {
$(self).data("bs.popover").options.content = data;
$(self).popover("show");
$(".popover").on("mouseleave", function () {
$(self).trigger('mouseleave');
});
//Remove product
$(".remove-product-popover").click(function(){
var order_id = $(this).attr("data-order");
var product_id = $(this).attr("data-product");
$('.cus_theme_loader_layout').removeClass('hidden');
ajax.jsonRpc("/shop/cart/update_json", 'call', {
'line_id': parseInt(order_id,10),
'product_id': parseInt(product_id, 10),
'set_qty': 0
}).then(function (data){
$(".row.cart_line[data-id='"+product_id+"']").css("display","none");
$('.cus_theme_loader_layout').addClass('hidden');
//cart total count json
ajax.jsonRpc("/shop/cart/total_count", 'call', {
}).then(function (values){
if (values.cart_qty_total){
var total_amount=values.cart_total_amount;
var subtotal_amount = values.cart_subtotal_amount;
if($(".cart-update-text").length > 0){
var total_amount = values.cart_total_amount;
$(".my_cart_quantity").replaceWith('<span class="my_cart_quantity">'+values.cart_qty_total+'</span>');
$(".cart-header-total").replaceWith('<span class="cart-header-total">'+total_amount.toFixed(2)+' '+ values.currency_symbol +'</span>');
$("#order_total_untaxed span.oe_currency_value").replaceWith('<span class="oe_currency_value">'+subtotal_amount.toFixed(2)+'</span>');
$("#order_total span.oe_currency_value").replaceWith('<span class="oe_currency_value">'+total_amount.toFixed(2)+'</span>');
$(".view-cart-btn").replaceWith('<a class="view-cart-btn btn btn-primary" href="/shop/cart">View Cart ('+ values.cart_qty_total +' items)</a>');
}
}
else{
$(".my_cart_quantity").replaceWith('<span class="my_cart_quantity label"> 0 </span>');
$(".cart-header-total").replaceWith('<span class="cart-header-total">0.00 '+ values.currency_symbol +'</span>');
$(".popover-content").replaceWith('<div class="popover-content"><div class="well well-lg">Your cart is empty!</div></div>');
}
});
})
});
})
}
}, 100);
}).on("mouseleave", function () {
var self = this;
setTimeout(function () {
if (!$(".popover:hover").length) {
if(!$(self).is(':hover')) {
// $(self).popover('hide');
}
}
}, 1000);
})
}
/*var total_cartId = $('#cart_total');
var cartBox = $('#cart_total').parent('.js_cart_lines');
if($("#cart_total").parent('.js_cart_lines').length > 0)
{
var x = cartBox.offset();
var navPos = x.top;
if(total_cartId)
{
$(window).scroll(function() {
var scrollPosition = $(this).scrollTop();
if (scrollPosition >= navPos) {
cartBox.addClass("header-stick");
cartBox.css({"right":"5%","float":"right","z-index":"9999","background":"#fff"});
} else {
cartBox.removeClass("header-stick");
$('.navbar-brand img').removeClass("logo-stick");
cartBox.css({"margin-top":"10px"});
}
});
}else{
cartBox.css({"top": "0"});
}
}*/
});
odoo.define('website_sale.clear_cart', function (require) {
"use strict";
require('web.dom_ready');
var ajax = require('web.ajax');
$(".clear_shopping_cart").click(function (event) {
event.preventDefault();
ajax.jsonRpc("/shop/clear_cart", 'call', {})
.then(function (data) {
window.location.reload(true);
});
});
if($('#hiddencount').val() == "0"){
$("#cart_total, .cart-total-heading").css("display","none");
$("#right_column").css("display","none");
$(".wizard-main-ul").css("display","none");
$('.cart_margin_class').css("margin-top","0px");
}
$('#cart_total').removeClass('col-sm-4 col-sm-offset-8 col-xs-12');
$('button.btn-primary').addClass('common-btn');
//$('button.btn-primary > span').css('font-family','oswald-regular');
$('#cart_total').removeClass('col-sm-4 col-sm-offset-8 col-xs-12');
if($('div').hasClass('extra-step-option')){
$("#step40").find(".step_no").replaceWith('<a class="step_no">4</a>');
$("#step50").find(".step_no").replaceWith('<a class="step_no">5</a>');
}
});