simpo-component-library 2.0.18 → 2.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +3 -2
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +78 -56
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +2 -2
- package/esm2022/lib/services/cart.service.mjs +65 -4
- package/esm2022/lib/services/storage.service.mjs +6 -4
- package/fesm2022/simpo-component-library.mjs +147 -63
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/services/cart.service.d.ts +7 -2
- package/lib/services/storage.service.d.ts +3 -1
- package/package.json +1 -1
- package/simpo-component-library-2.0.19.tgz +0 -0
- package/simpo-component-library-2.0.18.tgz +0 -0
@@ -3603,11 +3603,12 @@ var cartType;
|
|
3603
3603
|
})(cartType || (cartType = {}));
|
3604
3604
|
|
3605
3605
|
class StorageServiceService {
|
3606
|
-
constructor(eventService, cookieService, restService, router) {
|
3606
|
+
constructor(eventService, cookieService, restService, router, messageService) {
|
3607
3607
|
this.eventService = eventService;
|
3608
3608
|
this.cookieService = cookieService;
|
3609
3609
|
this.restService = restService;
|
3610
3610
|
this.router = router;
|
3611
|
+
this.messageService = messageService;
|
3611
3612
|
this.totalCartItems = 0;
|
3612
3613
|
this.databaseName = "USER";
|
3613
3614
|
this.databaseVersion = 1;
|
@@ -3878,7 +3879,7 @@ class StorageServiceService {
|
|
3878
3879
|
storePaymentFor(paymentFor) {
|
3879
3880
|
this.cookieService.set("paymentFor", paymentFor, 7);
|
3880
3881
|
}
|
3881
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, deps: [{ token: EventsService }, { token: i2$2.CookieService }, { token: RestService }, { token: i2$3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
3882
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, deps: [{ token: EventsService }, { token: i2$2.CookieService }, { token: RestService }, { token: i2$3.Router }, { token: i5$1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
3882
3883
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, providedIn: 'root' }); }
|
3883
3884
|
}
|
3884
3885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, decorators: [{
|
@@ -3886,7 +3887,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
3886
3887
|
args: [{
|
3887
3888
|
providedIn: 'root'
|
3888
3889
|
}]
|
3889
|
-
}], ctorParameters: () => [{ type: EventsService }, { type: i2$2.CookieService }, { type: RestService }, { type: i2$3.Router }] });
|
3890
|
+
}], ctorParameters: () => [{ type: EventsService }, { type: i2$2.CookieService }, { type: RestService }, { type: i2$3.Router }, { type: i5$1.MessageService }] });
|
3890
3891
|
|
3891
3892
|
class UserBasicInfoComponent {
|
3892
3893
|
constructor(restService, router, dialogRef, storageService, messageService) {
|
@@ -4588,9 +4589,10 @@ class OrderedItems {
|
|
4588
4589
|
}
|
4589
4590
|
|
4590
4591
|
class CartService {
|
4591
|
-
constructor(storageService, restService) {
|
4592
|
+
constructor(storageService, restService, messageService) {
|
4592
4593
|
this.storageService = storageService;
|
4593
4594
|
this.restService = restService;
|
4595
|
+
this.messageService = messageService;
|
4594
4596
|
}
|
4595
4597
|
addItemFromCartPage(product, userCart) {
|
4596
4598
|
if (product.quantity) {
|
@@ -4666,6 +4668,65 @@ class CartService {
|
|
4666
4668
|
clearCartItems() {
|
4667
4669
|
this.storageService.clearUserCart();
|
4668
4670
|
}
|
4671
|
+
addItemToLocalCart(product, type) {
|
4672
|
+
if (this.isItemOutOfStock(product)) {
|
4673
|
+
this.messageService.add({ severity: 'warn', summary: 'Cart', detail: 'Item is not available as of now. We will notify you once available' });
|
4674
|
+
return;
|
4675
|
+
}
|
4676
|
+
if (!product?.quantity)
|
4677
|
+
product.quantity = 0;
|
4678
|
+
if (type == 'ADD') {
|
4679
|
+
product.quantity += 1;
|
4680
|
+
}
|
4681
|
+
else {
|
4682
|
+
product.quantity -= 1;
|
4683
|
+
}
|
4684
|
+
this.storageService.getUserCart().then((cartResponse) => {
|
4685
|
+
cartResponse.onsuccess = (cartData) => {
|
4686
|
+
const userCart = cartData.target.result ?? [];
|
4687
|
+
let orderedItem = new OrderedItems();
|
4688
|
+
if (product?.itemVariant?.length) {
|
4689
|
+
const itemVarient = this.getItemVarient(product, product.varientId);
|
4690
|
+
if (itemVarient) {
|
4691
|
+
itemVarient.quantity = product.quantity;
|
4692
|
+
orderedItem = this.objectMapper(product, itemVarient.variantId);
|
4693
|
+
}
|
4694
|
+
}
|
4695
|
+
else {
|
4696
|
+
orderedItem = this.objectMapper(product);
|
4697
|
+
}
|
4698
|
+
let productFound = false;
|
4699
|
+
for (let localProduct of userCart) {
|
4700
|
+
if (localProduct.varientId === product.varientId) {
|
4701
|
+
localProduct.quantity = type === 'ADD' ? localProduct.quantity + 1 : localProduct.quantity - 1;
|
4702
|
+
if (localProduct.quantity == 0) {
|
4703
|
+
this.removeItemFromCart(localProduct);
|
4704
|
+
}
|
4705
|
+
else {
|
4706
|
+
this.storageService.addProductToCart(localProduct);
|
4707
|
+
}
|
4708
|
+
productFound = true;
|
4709
|
+
break;
|
4710
|
+
}
|
4711
|
+
}
|
4712
|
+
if (!productFound) {
|
4713
|
+
orderedItem.quantity = type === 'ADD' ? 1 : -1;
|
4714
|
+
this.storageService.addProductToCart(orderedItem);
|
4715
|
+
}
|
4716
|
+
};
|
4717
|
+
});
|
4718
|
+
}
|
4719
|
+
isItemOutOfStock(product) {
|
4720
|
+
return product.itemInventory?.openingStock == 0;
|
4721
|
+
}
|
4722
|
+
getItemVarient(product, varientId) {
|
4723
|
+
let selectedVarient = null;
|
4724
|
+
product?.itemVariant?.forEach((varient) => {
|
4725
|
+
if (varient.variantId == varientId)
|
4726
|
+
selectedVarient = varient;
|
4727
|
+
});
|
4728
|
+
return selectedVarient;
|
4729
|
+
}
|
4669
4730
|
storeDataToServer() {
|
4670
4731
|
// const userCart = UserCart as never as Cart;
|
4671
4732
|
// const userWishlist = UserFavourites as never as Cart;
|
@@ -4678,7 +4739,7 @@ class CartService {
|
|
4678
4739
|
// this.restService.addItemToDB(UserFavourites)
|
4679
4740
|
// ]);
|
4680
4741
|
}
|
4681
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, deps: [{ token: StorageServiceService }, { token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
4742
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, deps: [{ token: StorageServiceService }, { token: RestService }, { token: i5$1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
4682
4743
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, providedIn: 'root' }); }
|
4683
4744
|
}
|
4684
4745
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, decorators: [{
|
@@ -4686,7 +4747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
4686
4747
|
args: [{
|
4687
4748
|
providedIn: 'root',
|
4688
4749
|
}]
|
4689
|
-
}], ctorParameters: () => [{ type: StorageServiceService }, { type: RestService }] });
|
4750
|
+
}], ctorParameters: () => [{ type: StorageServiceService }, { type: RestService }, { type: i5$1.MessageService }] });
|
4690
4751
|
|
4691
4752
|
class CartComponent extends BaseSection {
|
4692
4753
|
constructor(_eventService, cartService, router, restService, matDialog, storageService, messageService, bottomSheet, matDialogData, dialogRef) {
|
@@ -4839,7 +4900,7 @@ class CartComponent extends BaseSection {
|
|
4839
4900
|
});
|
4840
4901
|
}
|
4841
4902
|
updateUserCartV2() {
|
4842
|
-
this.storageService.
|
4903
|
+
this.storageService.getCartProduct().then((products) => {
|
4843
4904
|
const deliveryOption = JSON.parse(localStorage.getItem("deliveryOptions") ?? "{}");
|
4844
4905
|
this.cartInfo.orderedItems = products;
|
4845
4906
|
if (!this.cartInfo?.cartId && !(localStorage.getItem("cartId") == "undefined" || localStorage.getItem("cartId") == "null")) {
|
@@ -4861,6 +4922,7 @@ class CartComponent extends BaseSection {
|
|
4861
4922
|
const restResponse = this.restService.addItemToDB(this.cartInfo).toPromise();
|
4862
4923
|
restResponse.then((cartResponse) => {
|
4863
4924
|
this.cartInfo = cartResponse.data;
|
4925
|
+
this.storageService.clearUserCart();
|
4864
4926
|
});
|
4865
4927
|
}
|
4866
4928
|
else {
|
@@ -5391,7 +5453,7 @@ class NavbarSectionComponent {
|
|
5391
5453
|
this.showEditors = false;
|
5392
5454
|
this.showSearchBar = false;
|
5393
5455
|
this.getScreenSize();
|
5394
|
-
this.storageService.updateAllData();
|
5456
|
+
// this.storageService.updateAllData();
|
5395
5457
|
}
|
5396
5458
|
searchProducts() {
|
5397
5459
|
this.router.navigate(['/list'], { queryParams: { searchTxt: this.searchText } });
|
@@ -7717,29 +7779,50 @@ class FeaturedProductsComponent extends BaseSection {
|
|
7717
7779
|
this.apiLoading = true;
|
7718
7780
|
this.restService.getFeaturedProduct(this.content?.collectionId).subscribe((response) => {
|
7719
7781
|
this.responseData = response;
|
7720
|
-
this.storageService.getUserCart().then((cartResponse) => {
|
7721
|
-
|
7722
|
-
|
7723
|
-
|
7724
|
-
|
7725
|
-
|
7726
|
-
|
7727
|
-
|
7728
|
-
|
7729
|
-
|
7730
|
-
|
7731
|
-
|
7732
|
-
|
7733
|
-
|
7734
|
-
|
7735
|
-
|
7782
|
+
// this.storageService.getUserCart().then((cartResponse) => {
|
7783
|
+
// cartResponse.onsuccess = (cartData: any) => {
|
7784
|
+
// this.apiLoading = false;
|
7785
|
+
// this.USER_CART = cartData.target.result as unknown as OrderedItems[];
|
7786
|
+
// this.responseData?.forEach((product: Product) => {
|
7787
|
+
// this.USER_CART?.forEach((item: OrderedItems) => {
|
7788
|
+
// if (item.itemId == product.itemId) {
|
7789
|
+
// if (product?.itemVariant?.length > 0) {
|
7790
|
+
// const itemVarient: ItemVariant = product?.itemVariant?.[0];
|
7791
|
+
// if (itemVarient.variantId == item.varientId) {
|
7792
|
+
// product.itemImages = itemVarient.variantImages ?? [];
|
7793
|
+
// product.price = itemVarient.itemVariantPrice;
|
7794
|
+
// product.quantity = item.quantity;
|
7795
|
+
// }
|
7796
|
+
// } else {
|
7797
|
+
// product.quantity = item.quantity;
|
7798
|
+
// }
|
7799
|
+
// }
|
7800
|
+
// })
|
7801
|
+
// })
|
7802
|
+
// }
|
7803
|
+
// },(err) => {
|
7804
|
+
// this.apiLoading = false;
|
7805
|
+
// })
|
7806
|
+
this.storageService.getCartProduct().then((products) => {
|
7807
|
+
this.apiLoading = false;
|
7808
|
+
this.responseData?.forEach((product) => {
|
7809
|
+
products?.forEach((item) => {
|
7810
|
+
if (item.itemId == product.itemId) {
|
7811
|
+
if (product?.itemVariant?.length > 0) {
|
7812
|
+
const itemVarient = product?.itemVariant?.[0];
|
7813
|
+
if (itemVarient.variantId == item.varientId) {
|
7814
|
+
product.itemImages = itemVarient.variantImages ?? [];
|
7815
|
+
product.price = itemVarient.itemVariantPrice;
|
7736
7816
|
product.quantity = item.quantity;
|
7737
7817
|
}
|
7738
7818
|
}
|
7739
|
-
|
7819
|
+
else {
|
7820
|
+
product.quantity = item.quantity;
|
7821
|
+
}
|
7822
|
+
}
|
7740
7823
|
});
|
7741
|
-
};
|
7742
|
-
}
|
7824
|
+
});
|
7825
|
+
}).catch(err => {
|
7743
7826
|
this.apiLoading = false;
|
7744
7827
|
});
|
7745
7828
|
this.storageService.getUserWhishlist().then((wishlistResponse) => {
|
@@ -7767,43 +7850,44 @@ class FeaturedProductsComponent extends BaseSection {
|
|
7767
7850
|
});
|
7768
7851
|
}
|
7769
7852
|
addItemToCart(product, type) {
|
7770
|
-
|
7771
|
-
this.messageService.add({ severity: 'warn', summary: 'Cart', detail: 'Item is not available as of now. We will notify you once available' });
|
7772
|
-
return;
|
7773
|
-
}
|
7774
|
-
if (!product?.quantity)
|
7775
|
-
product.quantity = 0;
|
7776
|
-
if (type == 'ADD') {
|
7777
|
-
product.quantity += 1;
|
7778
|
-
}
|
7779
|
-
else {
|
7780
|
-
product.quantity -= 1;
|
7781
|
-
}
|
7782
|
-
if (product?.itemVariant?.length) {
|
7783
|
-
const itemVarient = this.getItemVarient(product, product.varientId);
|
7784
|
-
if (itemVarient) {
|
7785
|
-
itemVarient.quantity = product.quantity;
|
7786
|
-
this.cartService.addItemToCart(product, itemVarient.variantId);
|
7787
|
-
}
|
7788
|
-
}
|
7789
|
-
else {
|
7790
|
-
this.cartService.addItemToCart(product);
|
7791
|
-
}
|
7792
|
-
if (product.quantity) {
|
7793
|
-
let isPresent = false;
|
7794
|
-
this.USER_CART?.forEach((item) => {
|
7795
|
-
if (item.varientId == product.varientId) {
|
7796
|
-
item.quantity = product.quantity;
|
7797
|
-
isPresent = true;
|
7798
|
-
}
|
7799
|
-
});
|
7800
|
-
if (!isPresent)
|
7801
|
-
this.USER_CART?.push(new OrderedItems(product, product.varientId));
|
7802
|
-
}
|
7803
|
-
else {
|
7804
|
-
this.USER_CART = this.USER_CART?.filter((item) => item.varientId != product.varientId) ?? [];
|
7805
|
-
}
|
7853
|
+
this.cartService.addItemToLocalCart(product, type);
|
7806
7854
|
}
|
7855
|
+
// addItemToCart(product: Product, type: 'ADD' | 'SUBSTRACT') {
|
7856
|
+
// if (this.isItemOutOfStock(product)) {
|
7857
|
+
// this.messageService.add({ severity: 'warn', summary: 'Cart', detail: 'Item is not available as of now. We will notify you once available' });
|
7858
|
+
// return;
|
7859
|
+
// }
|
7860
|
+
// if (!product?.quantity)
|
7861
|
+
// product.quantity = 0;
|
7862
|
+
// if (type == 'ADD') {
|
7863
|
+
// product.quantity += 1;
|
7864
|
+
// }
|
7865
|
+
// else {
|
7866
|
+
// product.quantity -= 1;
|
7867
|
+
// }
|
7868
|
+
// if (product?.itemVariant?.length) {
|
7869
|
+
// const itemVarient: ItemVariant | null = this.getItemVarient(product, product.varientId);
|
7870
|
+
// if (itemVarient) {
|
7871
|
+
// itemVarient.quantity = product.quantity;
|
7872
|
+
// this.cartService.addItemToCart(product, itemVarient.variantId);
|
7873
|
+
// }
|
7874
|
+
// } else {
|
7875
|
+
// this.cartService.addItemToCart(product);
|
7876
|
+
// }
|
7877
|
+
// if (product.quantity) {
|
7878
|
+
// let isPresent: boolean = false;
|
7879
|
+
// this.USER_CART?.forEach((item: OrderedItems) => {
|
7880
|
+
// if (item.varientId == product.varientId) {
|
7881
|
+
// item.quantity = product.quantity;
|
7882
|
+
// isPresent = true;
|
7883
|
+
// }
|
7884
|
+
// })
|
7885
|
+
// if (!isPresent)
|
7886
|
+
// this.USER_CART?.push(new OrderedItems(product, product.varientId));
|
7887
|
+
// } else {
|
7888
|
+
// this.USER_CART = this.USER_CART?.filter((item: OrderedItems) => item.varientId != product.varientId) ?? [];
|
7889
|
+
// }
|
7890
|
+
// }
|
7807
7891
|
toggleItemToFav(event, product, type) {
|
7808
7892
|
if (type == 'ADD') {
|
7809
7893
|
product.whislist = true;
|