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'; ...@@ -3,6 +3,10 @@ import { FormGroupDirective, NgControl, NgForm, NgModel } from '@angular/forms';
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map'; 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'; import { ECMSigninService } from './ecm-signin.service';
...@@ -26,7 +30,7 @@ export class EcmSigninComponent implements OnInit { ...@@ -26,7 +30,7 @@ export class EcmSigninComponent implements OnInit {
loginErrorMsg: string; loginErrorMsg: string;
@Output() closePanel = new EventEmitter(); @Output() closePanel = new EventEmitter();
constructor(public signinService: ECMSigninService) { } constructor(public signinService: ECMSigninService, private store: Store<EcmStoreModel>) { }
ngOnInit() { ngOnInit() {
} }
...@@ -72,6 +76,7 @@ export class EcmSigninComponent implements OnInit { ...@@ -72,6 +76,7 @@ export class EcmSigninComponent implements OnInit {
this.userData = JSON.parse( result.Response.results ); this.userData = JSON.parse( result.Response.results );
this.userData.jti = this._username; this.userData.jti = this._username;
this.store.dispatch({ type: RESET });
//Fetch User Data and Store in cache //Fetch User Data and Store in cache
this.signinService.fetchUserData().subscribe( this.signinService.fetchUserData().subscribe(
response => { response => {
......
...@@ -67,8 +67,24 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) { ...@@ -67,8 +67,24 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) {
console.log('payload >>' + action.payload); console.log('payload >>' + action.payload);
console.log('cartCount >> ' + cartInitState.cartItems.length); console.log('cartCount >> ' + cartInitState.cartItems.length);
console.log('cartItems >> ' + cartInitState.cartItems); console.log('cartItems >> ' + cartInitState.cartItems);
let payloadIdx = cartInitState.cartItems.indexOf(action.payload);
let payloadExist = ( payloadIdx > -1 ) ? true : false; 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); console.log('indexOf payload >>' + payloadExist + 'payloadIdx:' +payloadIdx);
switch (action.type) { switch (action.type) {
...@@ -79,13 +95,27 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) { ...@@ -79,13 +95,27 @@ export function CART_COUNTER(state: any = cartInitState, action: Action) {
cartInitState.cartItems.push(action.payload); cartInitState.cartItems.push(action.payload);
console.log('cartItems after Push>> ' + cartInitState.cartItems); 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; return cartInitState.cartItems.length;
case DECREMENT: case DECREMENT:
if( payloadExist ) if( payloadExist )
{ {
let removed = cartInitState.cartItems.splice(payloadIdx) let i;
console.log('cartItems after splice >>' + removed + '>> ' + cartInitState.cartItems); 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; return cartInitState.cartItems.length;
......
...@@ -2,8 +2,14 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; ...@@ -2,8 +2,14 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Http, Response, Headers, RequestOptions, URLSearchParams } from '@angular/http' import { Http, Response, Headers, RequestOptions, URLSearchParams } from '@angular/http'
import { MdSnackBar } from '@angular/material'; 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 { Item } from '../../ecm-model/product-model';
import { EcmCartService } from './ecm-cart.service'; import { EcmCartService } from './ecm-cart.service';
import { ECMCart } from '../../ecm-model/cart-model';
import { Router,ActivatedRoute } from '@angular/router'; import { Router,ActivatedRoute } from '@angular/router';
...@@ -19,7 +25,7 @@ export class EcmCartComponent implements OnInit { ...@@ -19,7 +25,7 @@ export class EcmCartComponent implements OnInit {
show = 3; show = 3;
@Input() isMiniCart: boolean = false; @Input() isMiniCart: boolean = false;
@Output() closePanel = new EventEmitter(); @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() { ngOnInit() {
this.getCartItem(); this.getCartItem();
...@@ -50,6 +56,11 @@ export class EcmCartComponent implements OnInit { ...@@ -50,6 +56,11 @@ export class EcmCartComponent implements OnInit {
console.log( error.json() ); console.log( error.json() );
}); });
this.getCartItem(); this.getCartItem();
let cartData = new ECMCart;
cartData.itemCode = itemCode;
this.store.dispatch({ type: DECREMENT, payload: cartData });
this.openSnackBar("Item in the Cart","Deleted"); 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