Commit 7bd555db authored by prumde's avatar prumde

Updated


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@174447 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 6cb02e64
......@@ -194,6 +194,21 @@ export class EcmBreadcrumbsComponent implements OnInit {
});
}
if ( this.pageName == 'WISHLIST' ) {
this.breadcrumbs = [];
this.breadcrumbs.push( {
label: 'Home',
url: '/home'
});
this.breadcrumbs.push( {
label: 'Wishlist',
url: 'javascript:void(0)'
});
}
}
......
......@@ -2,9 +2,10 @@ import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/co
import { Router, ActivatedRoute } from '@angular/router';
import { MdSnackBar } from '@angular/material';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import { EcmStoreModel } from '../ecm-store/ecm-store.model';
import { UPDATE_QUANTITY, ADD_TO_CART, REMOVE } from '../ecm-store/ecm-store';
import { UPDATE_QUANTITY, ADD_TO_CART, REMOVE, ADD_TO_WISHLIST,REMOVE_WISLIST } from '../ecm-store/ecm-store';
import { EcmProductDetailService } from './ecm-product-detail.service';
import { ScrollService } from '../scroll.service';
......@@ -49,6 +50,8 @@ export class EcmProductDetailsComponent implements OnInit {
scatCode;
noOfReviews;
userReview: Reviews;
attribVal;
attribCode;
constructor(private route: ActivatedRoute, private router:Router, public productDetailService: EcmProductDetailService, public snackBar: MdSnackBar, private store: Store<EcmStoreModel>, private productreviewService: EcmProductReviewService, public dialog: MdDialog) { }
......@@ -171,32 +174,49 @@ export class EcmProductDetailsComponent implements OnInit {
}
}
addToCart(data:any) {
addToCart(itemCode) {
this.getAttributeType(itemCode);
let cartData = new Item;
cartData.itemCode = data;
cartData.itemCode = itemCode;
cartData.itemQuantity = 1;
cartData.costRate = this.itemDetail.itemHeader.itemCostRate;
cartData.descr = this.itemDetail.itemHeader.itemDescr;
cartData.shDescr = this.itemDetail.itemHeader.itemShDescr;
if(this.attribCode == "COLOR"){
cartData.phyAttribId3 = this.attribVal;
}
else if(this.attribCode == "SIZE"){
cartData.phyAttribId1 = this.attribVal;
}
this.store.dispatch({ type: ADD_TO_CART, payload: cartData });
this.productDetailService.addToCart(cartData);
let cartItems;
//Check Store data
this.store.select('cart').forEach(
value => {
cartItems=value;
console.log('Cart Items----');
console.log(value);
}
);
}
addToWishlist( itemCode ) {
this.productDetailService.addToWishlist( itemCode );
let cartData = new Item;
cartData.itemCode = itemCode;
cartData.costRate = this.itemDetail.itemHeader.itemCostRate;
cartData.descr = this.itemDetail.itemHeader.itemDescr;
cartData.shDescr = this.itemDetail.itemHeader.itemShDescr;
this.store.dispatch({ type: ADD_TO_WISHLIST, payload: cartData });
this.productDetailService.addToWishlist( itemCode );
}
removeFromWishlist( itemCode ) {
this.store.dispatch({ type: REMOVE_WISLIST, payload: itemCode });
this.productDetailService.removeFromWishlist( itemCode );
}
......@@ -246,4 +266,14 @@ export class EcmProductDetailsComponent implements OnInit {
});
}
getAttributeType(itemCode){
this.itemDetail.itemVariants.forEach(
value => {
if(value.variants){
this.attribCode = value.attribCode;
let variant = value.variants.find(x => x.itemCode === itemCode);
this.attribVal = variant.value;
}
});
}
}
......@@ -116,7 +116,7 @@ li::before {
.ecm-payments {
font-size: 13px;
color: #787878;
padding: 20px 0px 36px 5px;
padding: 32px 0px 36px 5px;
}
.ecm-share {
......
......@@ -7,6 +7,10 @@ import { EcmCartComponent } from '../../ecm-view/ecm-cart/ecm-cart.component';
import { Item } from '../../ecm-model/product-model';
import {MdDialog, MdDialogRef, MdDialogConfig, MD_DIALOG_DATA} from '@angular/material';
import { RESIZE_EVENT } from '../../ecm-store/ecm-resize';
import { Observable } from 'rxjs/Observable';
import { Store } from '@ngrx/store';
import { EcmStoreModel } from '../../ecm-store/ecm-store.model';
import { EcmRecentViewComponent } from '../../ecm-view/ecm-recent-view/ecm-recent-view.component';
import { ECMWriteReviewDialog } from '../ecm-product-review.component';
......@@ -27,7 +31,9 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
@Input() inWishlist: boolean = false;
clientWidth: any;
itemCode;
cartItems: Observable<Item[]>;
wishlistItems: Observable<Item[]>;
//isCartItem = false;
//@Input() itemData: Item;
......@@ -35,7 +41,7 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
Overview = "Champions Yacht Club specializes in offering luxury boating and yachting experiences in Goa with a large fleet of Catamarans, Boats, Cruisers & Yachts in Goa. We do Rocking birthday parties, anniversary bashes, island excursions & barbeques, fishing expeditions, snorkeling, corporate parties and more. We ensure you have a luxury experience in yachts that will leave a memory of a lifetime";
constructor( private route: ActivatedRoute, private router: Router, private http: Http, public dialog: MdDialog) { }
constructor( private route: ActivatedRoute, private router: Router, private http: Http, public dialog: MdDialog, private store: Store<EcmStoreModel> ) { }
ngOnInit() {
......@@ -49,23 +55,23 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
RESIZE_EVENT.subscribe(data => {
this.clientWidth = data;
});
if(this.itemDetail.productStatus.inCart == "Y")
{
this.isAddToCart = true;
}
else if(this.itemDetail.productStatus.inCart == "N")
{
this.isAddToCart = false;
}
this.cartItems = this.store.select('cart');
this.cartItems.subscribe( cartItems => {
if(cartItems.find(x => x.itemCode === this.itemDetail.itemCode))
this.isAddToCart = true;
else
this.isAddToCart = false;
} );
if(this.itemDetail.productStatus.inWishlist == "Y")
{
this.inWishlist = true;
}
else if(this.itemDetail.productStatus.inWishlist == "N")
{
this.inWishlist = false;
}
this.wishlistItems = this.store.select('wishlist');
this.wishlistItems.subscribe( wishlistItems => {
if(wishlistItems.find(x => x.itemCode === this.itemDetail.itemCode))
this.inWishlist = true;
else
this.inWishlist = false;
} );
}
ngAfterViewInit() {
......@@ -85,7 +91,7 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
return rating;
}
viewItem(itemCode){
viewItem(itemCode) {
// this.recentviewService.storeRecentViewItem(this.itemData.itemCode);
this.router.navigate(['/detail',itemCode]);
}
......@@ -95,16 +101,16 @@ export class EcmHandicraftComponent implements OnInit, EcmTemplateInterface {
window.scrollTo(0, offsetTop + 60);
}
addToWishlist() {
this.doActivity.emit({activity:'ADD_WISHLIST', data: {'itemCode' : this.itemDetail.itemCode} , 'caller' : this , 'callBack' : 'changeStatus' });
}
removeFromWishlist(){
this.inWishlist = false;
this.doActivity.emit({activity:'REMOVE_WISHLIST', data: {'itemCode' : this.itemDetail.itemCode} });
}
changeStatus(){
this.inWishlist = true;
}
addToWishlist() {
this.doActivity.emit( { activity: 'ADD_WISHLIST', data: { 'itemCode': this.itemDetail.itemCode }, 'caller': this, 'callBack': 'changeStatus' });
}
removeFromWishlist() {
this.inWishlist = false;
this.doActivity.emit( { activity: 'REMOVE_WISHLIST', data: { 'itemCode': this.itemDetail.itemCode } });
}
changeStatus() {
this.inWishlist = true;
}
}
\ No newline at end of file
......@@ -5,10 +5,11 @@ 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 { RESET,RESET_WISHLIST } from '../ecm-store/ecm-store';
import { ECMSigninService } from './ecm-signin.service';
import { EcmCartService } from '../ecm-view/ecm-cart/ecm-cart.service';
import { EcmWishListService } from '../ecm-view/ecm-wish-list/ecm-wish-list.service';
declare var encPwd: any;
......@@ -30,7 +31,7 @@ export class EcmSigninComponent implements OnInit {
loginErrorMsg: string;
@Output() closePanel = new EventEmitter();
constructor(public signinService: ECMSigninService, private store: Store<EcmStoreModel>, public cartService: EcmCartService) { }
constructor(public signinService: ECMSigninService, private store: Store<EcmStoreModel>, public cartService: EcmCartService, public wishListService: EcmWishListService) { }
ngOnInit() {
}
......@@ -77,13 +78,16 @@ export class EcmSigninComponent implements OnInit {
this.userData.jti = this._username;
this.store.dispatch({ type: RESET });
this.store.dispatch({ type: RESET_WISHLIST });
//Fetch User Data and Store in cache
this.signinService.fetchUserData().subscribe(
response => {
console.log('response[' + response + ']');
if(response)
if(response){
this.cartService.setCartItems();
this.wishListService.setWishlistItems();
}
});
console.log( 'comp Object.keys(this.userData) [' + Object.keys(this.userData) + ']' );
......
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