Commit b731d492 authored by prumde's avatar prumde

Updated


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@174396 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 77cbbc31
......@@ -3,6 +3,10 @@ import { FormGroupDirective, NgControl, NgForm, NgModel } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { Store } from '@ngrx/store';
import { EcmStoreModel } from '../ecm-store/ecm-store.model';
import { RESET } from '../ecm-store/ecm-store';
import { ECMSigninService } from './ecm-signin.service';
......@@ -26,7 +30,7 @@ export class EcmSigninComponent implements OnInit {
loginErrorMsg: string;
@Output() closePanel = new EventEmitter();
constructor(public signinService: ECMSigninService) { }
constructor(public signinService: ECMSigninService, private store: Store<EcmStoreModel>) { }
ngOnInit() {
}
......@@ -72,6 +76,7 @@ export class EcmSigninComponent implements OnInit {
this.userData = JSON.parse( result.Response.results );
this.userData.jti = this._username;
this.store.dispatch({ type: RESET });
//Fetch User Data and Store in cache
this.signinService.fetchUserData().subscribe(
response => {
......
......@@ -66,9 +66,25 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) {
console.log('payload >>' + action.payload);
console.log('cartCount >> ' + cartInitState.cartItems.length);
console.log('cartItems >> ' + cartInitState.cartItems);
let payloadIdx = cartInitState.cartItems.indexOf(action.payload);
let payloadExist = ( payloadIdx > -1 ) ? true : false;
console.log('cartItems >> ' + cartInitState.cartItems);
let payloadExist = false;
let payloadIdx = -1;
if(action.payload)
cartInitState.cartItems.forEach(check);
function check(item, index)
{
if(item.itemCode == action.payload.itemCode)
{
payloadExist = true;
payloadIdx = index;
}
}
//let payloadIdx = cartInitState.cartItems.indexOf(action.payload);
//let payloadExist = ( payloadIdx > -1 ) ? true : false;
console.log('indexOf payload >>' + payloadExist + 'payloadIdx:' +payloadIdx);
switch (action.type) {
......@@ -79,19 +95,33 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) {
cartInitState.cartItems.push(action.payload);
console.log('cartItems after Push>> ' + cartInitState.cartItems);
}
else if(payloadExist)
{
cartInitState.cartItems[payloadIdx].quantity++;
console.log('Quantity = '+ cartInitState.cartItems[payloadIdx].quantity);
}
return cartInitState.cartItems.length;
case DECREMENT:
if( payloadExist )
{
let removed = cartInitState.cartItems.splice(payloadIdx)
console.log('cartItems after splice >>' + removed + '>> ' + cartInitState.cartItems);
let i;
for( i = cartInitState.cartItems.length - 1; i >= 0; i--)
{
if( cartInitState.cartItems[i].itemCode == action.payload.itemCode)
{
cartInitState.cartItems.splice(i,1);
}
}
//let removed = cartInitState.cartItems.splice(payloadIdx)
//console.log('cartItems after splice >>' + removed + '>> ' + cartInitState.cartItems);
}
return cartInitState.cartItems.length;
case RESET:
return 0;
default:
return cartInitState.cartItems.length;
}
......
......@@ -2,8 +2,14 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Http, Response, Headers, RequestOptions, URLSearchParams } from '@angular/http'
import { MdSnackBar } from '@angular/material';
import { Store } from '@ngrx/store';
import { EcmStoreModel } from '../../ecm-store/ecm-store.model';
import { INCREMENT, DECREMENT, RESET } from '../../ecm-store/ecm-store';
import { Item } from '../../ecm-model/product-model';
import { EcmCartService } from './ecm-cart.service';
import { ECMCart } from '../../ecm-model/cart-model';
import { Router,ActivatedRoute } from '@angular/router';
......@@ -19,7 +25,7 @@ export class EcmCartComponent implements OnInit {
show = 3;
@Input() isMiniCart: boolean = false;
@Output() closePanel = new EventEmitter();
constructor(private route: ActivatedRoute, private router:Router, public cartService: EcmCartService, public snackBar: MdSnackBar, private http: Http) { }
constructor(private route: ActivatedRoute, private router:Router, public cartService: EcmCartService, public snackBar: MdSnackBar, private http: Http, private store: Store<EcmStoreModel>) { }
ngOnInit() {
this.getCartItem();
......@@ -50,6 +56,11 @@ export class EcmCartComponent implements OnInit {
console.log( error.json() );
});
this.getCartItem();
let cartData = new ECMCart;
cartData.itemCode = itemCode;
this.store.dispatch({ type: DECREMENT, payload: cartData });
this.openSnackBar("Item in the Cart","Deleted");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment