Commit 9156c859 authored by prumde's avatar prumde

Updated


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@174394 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c8532ac4
......@@ -61,4 +61,18 @@ export class EcmProductDetailService {
return Observable.throw(errMsg);
}
addToCart( cartData ) {
console.log( "StoreInCart Called" );
console.log(JSON.stringify(cartData));
let headers = new Headers( { 'Content-Type': 'application/json' });
let options = new RequestOptions( { headers: headers });
this.http.post( '/ecm/service/feeds/cart', JSON.stringify(cartData) , options)
.subscribe( data => {
console.log( "Inserted in Cart" );
}, error => {
console.log( error.json() );
});
}
}
<ecm-header [isFixedHeader]=false> </ecm-header>
<ecm-breadcrumbs *ngIf="itemDetail" [pageName]="'DETAIL'" [itemDetail]='itemDetail'></ecm-breadcrumbs>
......@@ -7,7 +8,7 @@
</div>
<div class="row" *ngIf="itemDetail" #reviewsAndRating>
<ecm-product-review [itemDetail] = "itemDetail"></ecm-product-review>
<ecm-product-review #ecmProductReviewComp [itemDetail] = "itemDetail"></ecm-product-review>
</div>
<ecm-related-items *ngIf="itemDetail" [scatCode]="itemDetail.itemSubCategory.scatCode"> </ecm-related-items>
<ecm-related-items #ecmRelatedItemsComp *ngIf="itemDetail" [scatCode]="itemDetail.itemSubCategory.scatCode"> </ecm-related-items>
......@@ -15,6 +15,9 @@ import { EcmOutingComponent } from './ecm-template/ecm-outing.component';
import { EcmFoodComponent } from './ecm-template/ecm-food.component';
import { EcmCelebrationComponent } from './ecm-template/ecm-celebration.component';
import { EcmHandicraftComponent } from './ecm-template/ecm-handicraft.component';
import { EcmProductReviewComponent } from './ecm-product-review.component';
import { EcmRelatedItemsComponent } from '../ecm-view/ecm-related-items/ecm-related-items.component';
import { ECMCart } from '../ecm-model/cart-model';
export const ECM_TEMPLATES: any = {
'ecm-outing' : new EcmTemplateItem(EcmOutingComponent),
......@@ -33,6 +36,8 @@ export class EcmProductDetailsComponent implements OnInit {
@ViewChild('reviewsAndRating') reviewsAndRating: ElementRef;
@ViewChild('ecmTemplateComp') ecmTemplateComp: EcmTemplateComponent;
@ViewChild('ecmProductReviewComp') ecmProductReviewComp: EcmProductReviewComponent;
@ViewChild('ecmRelatedItemsComp') ecmRelatedItemsComp: EcmRelatedItemsComponent;
itemCode:string;
ecmTemplate : EcmTemplateItem;
......@@ -59,12 +64,19 @@ export class EcmProductDetailsComponent implements OnInit {
let ecmTemplateName = itemDetail.itemCategory.ecmTemplate;
console.log( "getItemDetail ecmTemplateName: " + ecmTemplateName )
this.ecmTemplate = ECM_TEMPLATES[ecmTemplateName];
if(this.ecmProductReviewComp && this.ecmRelatedItemsComp && this.itemDetail)
{
this.ecmProductReviewComp.loadReviews(this.itemDetail);
this.ecmRelatedItemsComp.getRelatedItems(this.itemDetail.itemSubCategory.scatCode);
}
if( this.ecmTemplate )
{
this.ecmTemplate.setItemDetail(itemDetail);
if(this.ecmTemplateComp)
{
this.ecmTemplateComp.loadComponent();
this.ecmTemplateComp.loadComponent(this.ecmTemplate);
}
}
else
......@@ -89,7 +101,7 @@ export class EcmProductDetailsComponent implements OnInit {
performActivity(activity: string, data: any) {
console.log( 'doActivity > > ' , activity, data );
if( activity == 'ADD_CART' ) {
this.addToCart();
this.addToCart(data);
this.showSnackbar('Item Added to your Cart');
}
else if( activity == 'ADD_WISHLIST' ) {
......@@ -104,8 +116,14 @@ export class EcmProductDetailsComponent implements OnInit {
}
}
addToCart() {
this.store.dispatch({ type: INCREMENT });
addToCart(data:any) {
let cartData = new ECMCart;
cartData.itemCode = data;
cartData.quantity = 1;
cartData.itemCost = this.itemDetail.itemCostRate;
this.store.dispatch({ type: INCREMENT, payload: cartData });
this.subcategoryService.addToCart(cartData);
}
addToWishlist() {
......
......@@ -61,15 +61,4 @@ export class EcmCelebrationComponent implements OnInit, EcmTemplateInterface {
return rating;
}
addItemInCart( itemCode ) {
console.log( "StoreInCart Called" );
this.http.post( this.userActionUrl + '/' + itemCode, {})
.subscribe( data => {
console.log( "Inserted in Cart" );
}, error => {
console.log( error.json() );
});
}
}
......@@ -62,20 +62,7 @@ export class EcmFoodComponent implements OnInit, EcmTemplateInterface {
}
return rating;
}
addItemInCart( itemCode ) {
console.log( "StoreInCart Called" );
this.http.post( this.userActionUrl + '/' + itemCode, {})
.subscribe( data => {
console.log( "Inserted in Cart" );
}, error => {
console.log( error.json() );
});
// this.openDialog();
this.router.navigate( ['/cart'] );
}
}
......
......@@ -136,10 +136,8 @@
</md-card-content>
<md-card-actions>
<div style="padding-top: 30px; padding-left: 0px;">
<button md-raised-button *ngIf='!isCartItem' class="button medium-btn Add_to_cart"
(click)=" isCartItem = true; doActivity.emit({activity:'ADD_CART', data: itemDetail.itemCode });">Add to cart</button>
<button md-raised-button *ngIf='isCartItem' class="button medium-btn Add_to_cart"
(click)="doActivity.emit({activity:'OPEN_CART', data: itemDetail.itemCode });">Go to cart</button>
<button md-raised-button class="button medium-btn Add_to_cart"
(click)="doActivity.emit({activity:'ADD_CART', data: itemDetail.itemCode });">Add to cart</button>
<button md-raised-button class="button medium-btn Buy_now"
(click)="doActivity.emit({activity:'BUY_NOW', data: itemDetail.itemCode });">Buy Now</button>
</div>
......
......@@ -20,7 +20,7 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
@Output() doActivity = new EventEmitter();
@ViewChild( 'recentView' ) recentView: EcmRecentViewComponent;
isCartItem = false;
//isCartItem = false;
//@Input() itemData: Item;
userActionUrl = '/ecm/service/feeds/cart';
......@@ -69,21 +69,6 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
return rating;
}
addItemInCart( itemCode ) {
console.log( "StoreInCart Called" );
this.http.post( this.userActionUrl + '/' + itemCode, {})
.subscribe( data => {
console.log( "Inserted in Cart" );
}, error => {
console.log( error.json() );
});
this.router.navigate( ['/cart'] );
}
}
......
......@@ -84,20 +84,4 @@ export class EcmOutingComponent implements OnInit, EcmTemplateInterface {
else
return false;
}
addItemInCart(itemCode)
{
console.log("StoreInCart Called");
this.http.post(this.userActionUrl+'/'+itemCode, {})
.subscribe(data => {
console.log("Inserted in Cart");
}, error => {
console.log(error.json());
});
//this.openDialog();
// this.router.navigate(['/cart']);
}
}
\ No newline at end of file
......@@ -41,13 +41,13 @@ export class EcmTemplateComponent implements AfterViewInit {
ngAfterViewInit() {
console.log("AfterViewNit of Ecm-Template Called");
this.loadComponent();
this.loadComponent(this.ecmTemplate);
}
loadComponent(){
loadComponent(ecmTemplate){
console.log("Ecm-Template Loader Called");
let ecmTemplateItem = this.ecmTemplate;
let ecmTemplateItem = ecmTemplate;
console.log("ecmTemplateItem" + ecmTemplateItem.component);
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(ecmTemplateItem.component);
......
import { ActionReducer, Action } from '@ngrx/store';
import { ECMCart } from '../ecm-model/cart-model';
export function CATEGORY (state: any = null, {type, payload}) {
switch (type) {
......@@ -56,19 +57,43 @@ export const INCREMENT = 'INCREMENT';
export const DECREMENT = 'DECREMENT';
export const RESET = 'RESET';
export function CART_COUNTER(state: number = 0, action: Action) {
const cartInitState = {
cartItems : []
}
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('indexOf payload >>' + payloadExist + 'payloadIdx:' +payloadIdx);
switch (action.type) {
case INCREMENT:
return state + 1;
if( ! payloadExist )
{
//cartInitState.cartItems.pop()
cartInitState.cartItems.push(action.payload);
console.log('cartItems after Push>> ' + cartInitState.cartItems);
}
return cartInitState.cartItems.length;
case DECREMENT:
return state - 1;
if( payloadExist )
{
let removed = cartInitState.cartItems.splice(payloadIdx)
console.log('cartItems after splice >>' + removed + '>> ' + cartInitState.cartItems);
}
return cartInitState.cartItems.length;
case RESET:
return 0;
default:
return state;
return cartInitState.cartItems.length;
}
}
};
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