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 { ...@@ -61,4 +61,18 @@ export class EcmProductDetailService {
return Observable.throw(errMsg); 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-header [isFixedHeader]=false> </ecm-header>
<ecm-breadcrumbs *ngIf="itemDetail" [pageName]="'DETAIL'" [itemDetail]='itemDetail'></ecm-breadcrumbs> <ecm-breadcrumbs *ngIf="itemDetail" [pageName]="'DETAIL'" [itemDetail]='itemDetail'></ecm-breadcrumbs>
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
</div> </div>
<div class="row" *ngIf="itemDetail" #reviewsAndRating> <div class="row" *ngIf="itemDetail" #reviewsAndRating>
<ecm-product-review [itemDetail] = "itemDetail"></ecm-product-review> <ecm-product-review #ecmProductReviewComp [itemDetail] = "itemDetail"></ecm-product-review>
</div> </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'; ...@@ -15,6 +15,9 @@ import { EcmOutingComponent } from './ecm-template/ecm-outing.component';
import { EcmFoodComponent } from './ecm-template/ecm-food.component'; import { EcmFoodComponent } from './ecm-template/ecm-food.component';
import { EcmCelebrationComponent } from './ecm-template/ecm-celebration.component'; import { EcmCelebrationComponent } from './ecm-template/ecm-celebration.component';
import { EcmHandicraftComponent } from './ecm-template/ecm-handicraft.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 = { export const ECM_TEMPLATES: any = {
'ecm-outing' : new EcmTemplateItem(EcmOutingComponent), 'ecm-outing' : new EcmTemplateItem(EcmOutingComponent),
...@@ -33,6 +36,8 @@ export class EcmProductDetailsComponent implements OnInit { ...@@ -33,6 +36,8 @@ export class EcmProductDetailsComponent implements OnInit {
@ViewChild('reviewsAndRating') reviewsAndRating: ElementRef; @ViewChild('reviewsAndRating') reviewsAndRating: ElementRef;
@ViewChild('ecmTemplateComp') ecmTemplateComp: EcmTemplateComponent; @ViewChild('ecmTemplateComp') ecmTemplateComp: EcmTemplateComponent;
@ViewChild('ecmProductReviewComp') ecmProductReviewComp: EcmProductReviewComponent;
@ViewChild('ecmRelatedItemsComp') ecmRelatedItemsComp: EcmRelatedItemsComponent;
itemCode:string; itemCode:string;
ecmTemplate : EcmTemplateItem; ecmTemplate : EcmTemplateItem;
...@@ -59,12 +64,19 @@ export class EcmProductDetailsComponent implements OnInit { ...@@ -59,12 +64,19 @@ export class EcmProductDetailsComponent implements OnInit {
let ecmTemplateName = itemDetail.itemCategory.ecmTemplate; let ecmTemplateName = itemDetail.itemCategory.ecmTemplate;
console.log( "getItemDetail ecmTemplateName: " + ecmTemplateName ) console.log( "getItemDetail ecmTemplateName: " + ecmTemplateName )
this.ecmTemplate = ECM_TEMPLATES[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 ) if( this.ecmTemplate )
{ {
this.ecmTemplate.setItemDetail(itemDetail); this.ecmTemplate.setItemDetail(itemDetail);
if(this.ecmTemplateComp) if(this.ecmTemplateComp)
{ {
this.ecmTemplateComp.loadComponent(); this.ecmTemplateComp.loadComponent(this.ecmTemplate);
} }
} }
else else
...@@ -89,7 +101,7 @@ export class EcmProductDetailsComponent implements OnInit { ...@@ -89,7 +101,7 @@ export class EcmProductDetailsComponent implements OnInit {
performActivity(activity: string, data: any) { performActivity(activity: string, data: any) {
console.log( 'doActivity > > ' , activity, data ); console.log( 'doActivity > > ' , activity, data );
if( activity == 'ADD_CART' ) { if( activity == 'ADD_CART' ) {
this.addToCart(); this.addToCart(data);
this.showSnackbar('Item Added to your Cart'); this.showSnackbar('Item Added to your Cart');
} }
else if( activity == 'ADD_WISHLIST' ) { else if( activity == 'ADD_WISHLIST' ) {
...@@ -104,8 +116,14 @@ export class EcmProductDetailsComponent implements OnInit { ...@@ -104,8 +116,14 @@ export class EcmProductDetailsComponent implements OnInit {
} }
} }
addToCart() { addToCart(data:any) {
this.store.dispatch({ type: INCREMENT }); 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() { addToWishlist() {
......
...@@ -61,15 +61,4 @@ export class EcmCelebrationComponent implements OnInit, EcmTemplateInterface { ...@@ -61,15 +61,4 @@ export class EcmCelebrationComponent implements OnInit, EcmTemplateInterface {
return rating; 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 { ...@@ -62,20 +62,7 @@ export class EcmFoodComponent implements OnInit, EcmTemplateInterface {
} }
return rating; 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 @@ ...@@ -136,10 +136,8 @@
</md-card-content> </md-card-content>
<md-card-actions> <md-card-actions>
<div style="padding-top: 30px; padding-left: 0px;"> <div style="padding-top: 30px; padding-left: 0px;">
<button md-raised-button *ngIf='!isCartItem' class="button medium-btn Add_to_cart" <button md-raised-button class="button medium-btn Add_to_cart"
(click)=" isCartItem = true; doActivity.emit({activity:'ADD_CART', data: itemDetail.itemCode });">Add to cart</button> (click)="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 Buy_now" <button md-raised-button class="button medium-btn Buy_now"
(click)="doActivity.emit({activity:'BUY_NOW', data: itemDetail.itemCode });">Buy Now</button> (click)="doActivity.emit({activity:'BUY_NOW', data: itemDetail.itemCode });">Buy Now</button>
</div> </div>
......
...@@ -20,7 +20,7 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface { ...@@ -20,7 +20,7 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
@Output() doActivity = new EventEmitter(); @Output() doActivity = new EventEmitter();
@ViewChild( 'recentView' ) recentView: EcmRecentViewComponent; @ViewChild( 'recentView' ) recentView: EcmRecentViewComponent;
isCartItem = false; //isCartItem = false;
//@Input() itemData: Item; //@Input() itemData: Item;
userActionUrl = '/ecm/service/feeds/cart'; userActionUrl = '/ecm/service/feeds/cart';
...@@ -69,21 +69,6 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface { ...@@ -69,21 +69,6 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
return rating; 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 { ...@@ -84,20 +84,4 @@ export class EcmOutingComponent implements OnInit, EcmTemplateInterface {
else else
return false; 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
<ng-template ecm-template-ref></ng-template> <ng-template ecm-template-ref></ng-template>
...@@ -41,13 +41,13 @@ export class EcmTemplateComponent implements AfterViewInit { ...@@ -41,13 +41,13 @@ export class EcmTemplateComponent implements AfterViewInit {
ngAfterViewInit() { ngAfterViewInit() {
console.log("AfterViewNit of Ecm-Template Called"); console.log("AfterViewNit of Ecm-Template Called");
this.loadComponent(); this.loadComponent(this.ecmTemplate);
} }
loadComponent(){ loadComponent(ecmTemplate){
console.log("Ecm-Template Loader Called"); console.log("Ecm-Template Loader Called");
let ecmTemplateItem = this.ecmTemplate; let ecmTemplateItem = ecmTemplate;
console.log("ecmTemplateItem" + ecmTemplateItem.component); console.log("ecmTemplateItem" + ecmTemplateItem.component);
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(ecmTemplateItem.component); let componentFactory = this.componentFactoryResolver.resolveComponentFactory(ecmTemplateItem.component);
......
import { ActionReducer, Action } from '@ngrx/store'; import { ActionReducer, Action } from '@ngrx/store';
import { ECMCart } from '../ecm-model/cart-model';
export function CATEGORY (state: any = null, {type, payload}) { export function CATEGORY (state: any = null, {type, payload}) {
switch (type) { switch (type) {
...@@ -56,19 +57,43 @@ export const INCREMENT = 'INCREMENT'; ...@@ -56,19 +57,43 @@ export const INCREMENT = 'INCREMENT';
export const DECREMENT = 'DECREMENT'; export const DECREMENT = 'DECREMENT';
export const RESET = 'RESET'; 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) { switch (action.type) {
case INCREMENT: 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: 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: case RESET:
return 0; return 0;
default: 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