| Line -... |
Line 1... |
| - |
|
1 |
//MOHIT-This code is called when user lands on cartdetails page either through using back button or clicking on cart from deals page
|
| 1 |
function loadCartPageDetails(){
|
2 |
function loadCartPageDetails(){
|
| 2 |
var input = $('input#refresh').val();
|
3 |
var input = $('input#refresh').val();
|
| - |
|
4 |
//MOHIT-If user comes through front/back navigation
|
| 3 |
if(input == 'yes'){
|
5 |
if(input == 'yes'){
|
| 4 |
$('#cartLoadingModal').modal('show');
|
6 |
$('#cartLoadingModal').modal('show');
|
| 5 |
var cart_details = localStorage.getItem('cart_details');
|
7 |
var cart_details = localStorage.getItem('cart_details');
|
| 6 |
if(cart_details!=undefined){
|
8 |
if(cart_details!=undefined){
|
| 7 |
var cartDetailsObj = JSON.parse(cart_details);
|
9 |
var cartDetailsObj = JSON.parse(cart_details);
|
| Line 14... |
Line 16... |
| 14 |
renderCartDerivedValues();
|
16 |
renderCartDerivedValues();
|
| 15 |
$('#cartLoadingModal').modal('hide');
|
17 |
$('#cartLoadingModal').modal('hide');
|
| 16 |
}else{
|
18 |
}else{
|
| 17 |
window.location.href = apihost + 'cartdetails/?user_id='+me;
|
19 |
window.location.href = apihost + 'cartdetails/?user_id='+me;
|
| 18 |
}
|
20 |
}
|
| - |
|
21 |
}
|
| - |
|
22 |
//MOHIT-if user comes through link navigation.
|
| 19 |
}else{
|
23 |
else{
|
| 20 |
$('input#refresh').val('yes');
|
24 |
$('input#refresh').val('yes');
|
| 21 |
var estimateString = $('div.popover-markup').data('str');
|
25 |
var estimateString = $('div.popover-markup').data('str');
|
| 22 |
var cart_details = localStorage.getItem('cart_details');
|
- |
|
| 23 |
if(cart_details!=undefined){
|
- |
|
| 24 |
loadCartDetails();
|
26 |
loadCartDetails();
|
| 25 |
}
|
- |
|
| 26 |
if(estimateString=="Can't ship here"){
|
27 |
if(estimateString=="Can't ship here"){
|
| 27 |
$('button.checkoutbtn').prop( "disabled", true);
|
28 |
$('button.checkoutbtn').prop( "disabled", true);
|
| 28 |
$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
|
29 |
$('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
|
| 29 |
$(this).prop('disabled', true);
|
30 |
$(this).prop('disabled', true);
|
| 30 |
});
|
31 |
});
|
| Line 168... |
Line 169... |
| 168 |
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
169 |
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
| 169 |
}
|
170 |
}
|
| 170 |
|
171 |
|
| 171 |
function handleCheckout(){
|
172 |
function handleCheckout(){
|
| 172 |
var cart_details = localStorage.getItem('cart_details');
|
173 |
var cart_details = localStorage.getItem('cart_details');
|
| 173 |
var shippingCharges = 0;
|
- |
|
| 174 |
if(cart_details!=undefined){
|
174 |
if(cart_details!=undefined){
|
| 175 |
var cartDetailsObj = JSON.parse(cart_details);
|
175 |
var cartDetailsObj = JSON.parse(cart_details);
|
| 176 |
nonAccessoryShippingCharge = cartDetailsObj.shippingCharges - cartDetailsObj.accessoryShippingCharges;
|
176 |
//nonAccessoryShippingCharge = cartDetailsObj.shippingCharges - cartDetailsObj.accessoryShippingCharges;
|
| 177 |
}
|
- |
|
| 178 |
|
177 |
|
| 179 |
if(nonAccessoryShippingCharge>0){
|
178 |
if(cartDetailsObj.shippingCharges > 0){
|
| 180 |
window.history.pushState('forward', null, './?user_id='+me);
|
179 |
window.history.pushState('forward', null, './?user_id='+me);
|
| 181 |
if(nonAccessoryShippingCharge/cartDetailsObj.totalCartQuantity>50){
|
- |
|
| 182 |
$('p#shippingText').html("<span>You are paying ₹60 per item for shipping.<br>To pay ₹30 per item for shipping.<br> Add upto five items.</span><hr style='margin-top: 5px;margin-bottom: 5px;'>"
|
- |
|
| 183 |
+"<span>आप शिपिंग के लिए ₹60 प्रति आइटम का भुगतान कर रहे हैं। <br> प्रति आइटम शिपिंग ₹30 के लिए। <br> पाँच आइटम तक जोड़ें।</span>");
|
180 |
$('p#shippingText').html("<span>You are paying ₹50 for shipping.<br>To avail free shipping, cart value should be more than ₹999</span><hr style='margin-top: 5px;margin-bottom: 5px;'>"
|
| 184 |
} else {
|
- |
|
| 185 |
$('p#shippingText').html("<span>You are paying ₹ "+ nonAccessoryShippingCharge.toFixed()
|
- |
|
| 186 |
+" for shipping.<br>"
|
- |
|
| 187 |
+"<span>आप शिपिंग के लिए ₹ "+ nonAccessoryShippingCharge.toFixed()
|
- |
|
| 188 |
+" का भुगतान कर रहे हैं।")
|
181 |
+"<span>आप शिपिंग के लिए ₹50 का भुगतान कर रहे हैं।<br> फ्री शिपिंग के लिए कार्ट राशि ₹999 से अधिक की होनी चाहिए।</span>");
|
| 189 |
$("#addItems").find("strong").html("Cancel<br>(रद्द करें)");
|
- |
|
| 190 |
}
|
- |
|
| 191 |
$('#myModal').modal('show');
|
182 |
$('#myModal').modal('show');
|
| 192 |
}else{
|
183 |
} else{
|
| 193 |
$('#cartLoadingModal').modal('show');
|
184 |
$('#cartLoadingModal').modal('show');
|
| 194 |
var url = apihost + 'shippings/';
|
185 |
var url = apihost + 'shippings/';
|
| 195 |
var newForm = $('<form>', {
|
186 |
var newForm = $('<form>', {
|
| 196 |
'action': url,
|
187 |
'action': url,
|
| 197 |
'method':'post'
|
188 |
'method':'post'
|
| 198 |
}).append($('<input>', {
|
189 |
}).append($('<input>', {
|
| 199 |
'name': 'cart_details',
|
190 |
'name': 'cart_details',
|
| 200 |
'value': localStorage.getItem('cart_details'),
|
191 |
'value': localStorage.getItem('cart_details'),
|
| 201 |
'type': 'hidden'
|
192 |
'type': 'hidden'
|
| 202 |
}));
|
193 |
}));
|
| 203 |
newForm.appendTo($('body'));
|
194 |
newForm.appendTo($('body'));
|
| 204 |
newForm.submit();
|
195 |
newForm.submit();
|
| 205 |
}
|
196 |
}
|
| 206 |
}
|
197 |
}
|
| 207 |
|
198 |
|
| Line 269... |
Line 260... |
| 269 |
|
260 |
|
| 270 |
$(document).on('click','button#abortClearCartBtn',function(){
|
261 |
$(document).on('click','button#abortClearCartBtn',function(){
|
| 271 |
$('#clearCartModel').modal('hide');
|
262 |
$('#clearCartModel').modal('hide');
|
| 272 |
});
|
263 |
});
|
| 273 |
|
264 |
|
| - |
|
265 |
//TODO:Mohit Clear cart removes everything in the cart
|
| 274 |
function clearCart(){
|
266 |
function clearCart(){
|
| 275 |
$('#clearCartModel').modal('hide');
|
267 |
$('#clearCartModel').modal('hide');
|
| 276 |
$("#cartloader").removeClass('hidden');
|
268 |
$("#cartloader").removeClass('hidden');
|
| 277 |
var cart_details = localStorage.getItem('cart_details');
|
269 |
var cart_details = localStorage.getItem('cart_details');
|
| 278 |
if(cart_details!=undefined){
|
270 |
if(cart_details!=undefined){
|
| Line 322... |
Line 314... |
| 322 |
renderCartDerivedValues();
|
314 |
renderCartDerivedValues();
|
| 323 |
}
|
315 |
}
|
| 324 |
}
|
316 |
}
|
| 325 |
});
|
317 |
});
|
| 326 |
|
318 |
|
| - |
|
319 |
//TODO:MOHIT Cart info comes from html docuemnt with each cart item element
|
| - |
|
320 |
//New synced cart cache is being populated from that cart.
|
| - |
|
321 |
//This code is called when user comes to cart details page.
|
| 327 |
function loadCartDetails(){
|
322 |
function loadCartDetails(){
|
| 328 |
cartItems = {};
|
323 |
cartItems = {};
|
| 329 |
oldCartItems = JSON.parse(localStorage.getItem('cart_details')).cartItems;
|
324 |
oldCartItems = JSON.parse(localStorage.getItem('cart_details')).cartItems;
|
| 330 |
$('.number-spinner').each(function (index, val) {
|
325 |
$('.number-spinner').each(function (index, val) {
|
| 331 |
var element = $(val);
|
326 |
var element = $(val);
|
| Line 365... |
Line 360... |
| 365 |
cartItems[sku.toString()] = itemDetail;
|
360 |
cartItems[sku.toString()] = itemDetail;
|
| 366 |
});
|
361 |
});
|
| 367 |
setCartDetails(cartItems);
|
362 |
setCartDetails(cartItems);
|
| 368 |
}
|
363 |
}
|
| 369 |
|
364 |
|
| - |
|
365 |
|
| - |
|
366 |
//TODO: MOHIT. This peice of code is used to sync server side cart validation response during successful handling
|
| - |
|
367 |
//in scenarios where
|
| 370 |
function setCartDetails(cartItems) {
|
368 |
function setCartDetails(cartItems) {
|
| 371 |
var cartDetailsObj = {};
|
369 |
var cartDetailsObj = {};
|
| 372 |
cartDetailsObj.totalCartQuantity = 0;
|
370 |
cartDetailsObj.totalCartQuantity = 0;
|
| 373 |
cartDetailsObj.totalCartValue = 0;
|
371 |
cartDetailsObj.totalCartValue = 0;
|
| 374 |
cartDetailsObj.mobileCount = 0;
|
372 |
cartDetailsObj.mobileCount = 0;
|
| 375 |
cartDetailsObj.totalSkus = 0;
|
373 |
cartDetailsObj.totalSkus = 0;
|
| 376 |
cartDetailsObj.shippingCharges = 0;
|
374 |
cartDetailsObj.shippingCharges = 0;
|
| 377 |
cartDetailsObj.accessoryShippingCharges = 0;
|
375 |
//cartDetailsObj.accessoryShippingCharges = 0;
|
| 378 |
cartDetailsObj.cartItems = cartItems;
|
376 |
cartDetailsObj.cartItems = cartItems;
|
| 379 |
for(itemId in cartItems) {
|
377 |
for(itemId in cartItems) {
|
| 380 |
item = cartItems[itemId];
|
378 |
item = cartItems[itemId];
|
| 381 |
if(item.quantity > 0){
|
379 |
if(item.quantity > 0){
|
| 382 |
cartDetailsObj.totalCartQuantity += item.quantity;
|
380 |
cartDetailsObj.totalCartQuantity += item.quantity;
|
| 383 |
cartDetailsObj.totalSkus += 1;
|
381 |
cartDetailsObj.totalSkus += 1;
|
| 384 |
}
|
382 |
}
|
| 385 |
cartDetailsObj.totalCartValue += item.quantity*item.unitprice;
|
383 |
cartDetailsObj.totalCartValue += item.quantity*item.unitprice;
|
| 386 |
if(item.category=='Mobile Phone' || item.category=='Tablet') {
|
384 |
/*if(item.category=='Mobile Phone' || item.category=='Tablet') {
|
| 387 |
cartDetailsObj.mobileCount += item.quantity;
|
385 |
cartDetailsObj.mobileCount += item.quantity;
|
| 388 |
} else {
|
386 |
} else {
|
| 389 |
cartDetailsObj.accessoryShippingCharges = 0;
|
387 |
cartDetailsObj.accessoryShippingCharges = 0;
|
| 390 |
}
|
388 |
}*/
|
| 391 |
}
|
389 |
}
|
| 392 |
if(cartDetailsObj.totalCartQuantity<5){
|
390 |
/*if(cartDetailsObj.totalCartQuantity<5){
|
| 393 |
cartDetailsObj.shippingCharges = cartDetailsObj.accessoryShippingCharges + 60*cartDetailsObj.totalCartQuantity;
|
391 |
cartDetailsObj.shippingCharges = cartDetailsObj.accessoryShippingCharges + 60*cartDetailsObj.totalCartQuantity;
|
| 394 |
} else {
|
392 |
} else {
|
| 395 |
cartDetailsObj.shippingCharges = cartDetailsObj.accessoryShippingCharges + 30*cartDetailsObj.totalCartQuantity;
|
393 |
cartDetailsObj.shippingCharges = cartDetailsObj.accessoryShippingCharges + 30*cartDetailsObj.totalCartQuantity;
|
| - |
|
394 |
}*/
|
| - |
|
395 |
if(cartDetailsObj.totalCartValue < 1000){
|
| - |
|
396 |
cartDetailsObj.shippingCharges = 50;
|
| 396 |
}
|
397 |
}
|
| - |
|
398 |
cartDetailsObj.shippingCharges =
|
| 397 |
localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
|
399 |
localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
|
| 398 |
}
|
400 |
}
|
| 399 |
|
401 |
|
| - |
|
402 |
//TODO MOHIT this logic will tell you about what all values that need to be derived from local cart storage for display
|
| - |
|
403 |
//purpose in cart page
|
| 400 |
function renderCartDerivedValues(){
|
404 |
function renderCartDerivedValues(){
|
| 401 |
var cart_details = localStorage.getItem('cart_details');
|
405 |
var cart_details = localStorage.getItem('cart_details');
|
| 402 |
var cartDetailsObj = JSON.parse(cart_details);
|
406 |
var cartDetailsObj = JSON.parse(cart_details);
|
| 403 |
var totalCartValue = cartDetailsObj.totalCartValue;
|
407 |
var totalCartValue = cartDetailsObj.totalCartValue;
|
| 404 |
var totalCartQuantity = cartDetailsObj.totalCartQuantity;
|
408 |
var totalCartQuantity = cartDetailsObj.totalCartQuantity;
|