simpo-component-library 3.6.635 → 3.6.636
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/featured-products/featured-products.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +13 -19
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +16 -73
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +3 -3
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
- package/esm2022/lib/sections/video-grid-section/video-grid-section.component.mjs +3 -3
- package/esm2022/lib/services/cart.service.mjs +5 -44
- package/esm2022/lib/services/rest.service.mjs +1 -5
- package/fesm2022/simpo-component-library.mjs +27 -278
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/components/input-fields/input-fields.component.d.ts +1 -1
- package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +1 -1
- package/lib/ecommerce/sections/featured-category/featured-collection.component.d.ts +1 -1
- package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +2 -4
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +1 -6
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +1 -1
- package/lib/sections/image-grid-hotspot/image-grid-hotspot.component.d.ts +1 -1
- package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/lib/services/cart.service.d.ts +1 -7
- package/lib/services/rest.service.d.ts +0 -1
- package/package.json +1 -1
- package/simpo-component-library-3.6.636.tgz +0 -0
- package/esm2022/lib/services/analytics.service.mjs +0 -160
- package/lib/services/analytics.service.d.ts +0 -33
- package/simpo-component-library-3.6.635.tgz +0 -0
|
@@ -13,7 +13,7 @@ export declare class InputFieldsComponent implements OnChanges {
|
|
|
13
13
|
constructor(elementRef: ElementRef);
|
|
14
14
|
ngOnChanges(changes: SimpleChanges): void;
|
|
15
15
|
handleMoneyInput(event: any): void;
|
|
16
|
-
get getTextColor(): "#
|
|
16
|
+
get getTextColor(): "#FFF" | "#000";
|
|
17
17
|
interpolateColor(color1: string, color2: string, factor: number): string;
|
|
18
18
|
padZero(str: string, length: number): string;
|
|
19
19
|
generateColorBasedOnNumber(number: number): string;
|
|
@@ -32,7 +32,7 @@ export declare class FeaturedCategoryComponent extends BaseSection {
|
|
|
32
32
|
get getDirection(): "ROW" | "COLUMN" | undefined;
|
|
33
33
|
get stylesLayout(): LayOutModel;
|
|
34
34
|
get isMobile(): boolean;
|
|
35
|
-
getJustifyContent(): import("simpo-component-library").ALIGN | "
|
|
35
|
+
getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
|
|
36
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeaturedCategoryComponent, never>;
|
|
37
37
|
static ɵcmp: i0.ɵɵComponentDeclaration<FeaturedCategoryComponent, "simpo-featured-category", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
|
38
38
|
}
|
|
@@ -32,7 +32,7 @@ export declare class FeaturedCollectionComponent extends BaseSection {
|
|
|
32
32
|
get getDirection(): "ROW" | "COLUMN" | undefined;
|
|
33
33
|
get isMobile(): boolean;
|
|
34
34
|
editSection(): void;
|
|
35
|
-
getJustifyContent(): import("simpo-component-library").ALIGN | "
|
|
35
|
+
getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
|
|
36
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeaturedCollectionComponent, never>;
|
|
37
37
|
static ɵcmp: i0.ɵɵComponentDeclaration<FeaturedCollectionComponent, "simpo-featured-collection", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
|
38
38
|
}
|
|
@@ -33,7 +33,7 @@ export declare class NewCollectionComponent extends BaseSection {
|
|
|
33
33
|
get isMobile(): boolean;
|
|
34
34
|
editSection(): void;
|
|
35
35
|
getColor(color: any): "#000000" | "#ffffff";
|
|
36
|
-
getJustifyContent(): import("simpo-component-library").ALIGN | "
|
|
36
|
+
getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
|
|
37
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewCollectionComponent, never>;
|
|
38
38
|
static ɵcmp: i0.ɵɵComponentDeclaration<NewCollectionComponent, "simpo-new-collection", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
|
39
39
|
}
|
|
@@ -14,7 +14,6 @@ import { Meta, Title } from '@angular/platform-browser';
|
|
|
14
14
|
import { MatDialog } from '@angular/material/dialog';
|
|
15
15
|
import { MatBottomSheet } from '@angular/material/bottom-sheet';
|
|
16
16
|
import { CustomerReviewComponent } from '../../sections/customer-review/customer-review.component';
|
|
17
|
-
import { AnalyticsService } from '../../../services/analytics.service';
|
|
18
17
|
import * as i0 from "@angular/core";
|
|
19
18
|
export declare class ProductDescComponent extends BaseSection {
|
|
20
19
|
private platformId;
|
|
@@ -30,7 +29,6 @@ export declare class ProductDescComponent extends BaseSection {
|
|
|
30
29
|
private readonly bottomSheet;
|
|
31
30
|
private renderer;
|
|
32
31
|
private matDialog;
|
|
33
|
-
private analyticsService;
|
|
34
32
|
reviewComponent: CustomerReviewComponent;
|
|
35
33
|
aboveHeight: ElementRef<HTMLDivElement>;
|
|
36
34
|
container: ElementRef<HTMLDivElement>;
|
|
@@ -54,7 +52,7 @@ export declare class ProductDescComponent extends BaseSection {
|
|
|
54
52
|
showReview: boolean;
|
|
55
53
|
selectedReview: any;
|
|
56
54
|
currentImageIndex: number;
|
|
57
|
-
constructor(platformId: Object, _eventService: EventsService, router: Router, activatedRoute: ActivatedRoute, restService: RestService, cartService: CartService, storageService: StorageServiceService, messageService: MessageService, metaTagService: Meta, titleService: Title, bottomSheet: MatBottomSheet, renderer: Renderer2, matDialog: MatDialog
|
|
55
|
+
constructor(platformId: Object, _eventService: EventsService, router: Router, activatedRoute: ActivatedRoute, restService: RestService, cartService: CartService, storageService: StorageServiceService, messageService: MessageService, metaTagService: Meta, titleService: Title, bottomSheet: MatBottomSheet, renderer: Renderer2, matDialog: MatDialog);
|
|
58
56
|
buttonId?: string;
|
|
59
57
|
button?: ButtonModel;
|
|
60
58
|
styles?: ProductDescStylesModal;
|
|
@@ -119,7 +117,7 @@ export declare class ProductDescComponent extends BaseSection {
|
|
|
119
117
|
getTextColor(color: any): "#000000" | "#ffffff";
|
|
120
118
|
languages: string[];
|
|
121
119
|
selectedLang: string;
|
|
122
|
-
getClass(map: any): "col-
|
|
120
|
+
getClass(map: any): "col-4" | "col-6" | "col-3" | "width-max";
|
|
123
121
|
onFindInStore(id: string): void;
|
|
124
122
|
onBookAppointment(): void;
|
|
125
123
|
isDetails: boolean;
|
|
@@ -12,7 +12,6 @@ import { MatDialog } from '@angular/material/dialog';
|
|
|
12
12
|
import { CartService } from '../../../services/cart.service';
|
|
13
13
|
import { MenuItem, MessageService } from 'primeng/api';
|
|
14
14
|
import { ProductCardTheme } from '../../../styles/index';
|
|
15
|
-
import { AnalyticsService } from '../../../services/analytics.service';
|
|
16
15
|
import * as i0 from "@angular/core";
|
|
17
16
|
interface BaseModel {
|
|
18
17
|
option: string;
|
|
@@ -32,7 +31,6 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
32
31
|
private readonly cartService;
|
|
33
32
|
private readonly messageService;
|
|
34
33
|
private renderer;
|
|
35
|
-
private readonly analyticsService;
|
|
36
34
|
responseData?: Product[];
|
|
37
35
|
data?: ProductListModal;
|
|
38
36
|
index?: number;
|
|
@@ -71,7 +69,6 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
71
69
|
searchTxt: string;
|
|
72
70
|
theme: typeof ProductCardTheme;
|
|
73
71
|
items: MenuItem[] | null;
|
|
74
|
-
latestAnalyicsEvent: string;
|
|
75
72
|
private filterBottomSheetRef;
|
|
76
73
|
private sortingDialogRef;
|
|
77
74
|
categories: BaseModel[];
|
|
@@ -80,7 +77,7 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
80
77
|
listScrollContainer: ElementRef<HTMLDivElement>;
|
|
81
78
|
getScreenSize(): void;
|
|
82
79
|
onWindowScroll(event: Event): void;
|
|
83
|
-
constructor(platformId: Object, _eventService: EventsService, restService: RestService, router: Router, activatedRoute: ActivatedRoute, storageService: StorageServiceService, matBottomSheet: MatBottomSheet, matDialog: MatDialog, cartService: CartService, messageService: MessageService, renderer: Renderer2
|
|
80
|
+
constructor(platformId: Object, _eventService: EventsService, restService: RestService, router: Router, activatedRoute: ActivatedRoute, storageService: StorageServiceService, matBottomSheet: MatBottomSheet, matDialog: MatDialog, cartService: CartService, messageService: MessageService, renderer: Renderer2);
|
|
84
81
|
get stylesLayout(): LayOutModel;
|
|
85
82
|
isOpen: boolean;
|
|
86
83
|
toggleDropdown(): void;
|
|
@@ -106,8 +103,6 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
106
103
|
toShowInJewellery: boolean;
|
|
107
104
|
IsEcommerce: boolean;
|
|
108
105
|
ngOnInit(): void;
|
|
109
|
-
fetchAnalytics(): void;
|
|
110
|
-
getCategoriesAndCollection(): void;
|
|
111
106
|
get selectedCategoryCollectionChips(): {
|
|
112
107
|
id: string;
|
|
113
108
|
name: string;
|
|
@@ -21,7 +21,7 @@ export declare class SchemesComponent extends BaseSection {
|
|
|
21
21
|
get stylesLayout(): LayOutModel;
|
|
22
22
|
get spacingLayout(): SpacingModel;
|
|
23
23
|
getParentClass(): "" | "overflow-scroll flex-nowrap";
|
|
24
|
-
getClass(index: number): "col-
|
|
24
|
+
getClass(index: number): "col-12" | "col-6" | "col-6 mb-2" | "col-12 mb-2";
|
|
25
25
|
showSchemeDetails(scheme: any): void;
|
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<SchemesComponent, never>;
|
|
27
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<SchemesComponent, "simpo-schemes", never, { "data": { "alias": "data"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "index": { "alias": "index"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -25,7 +25,7 @@ export declare class BannerCarouselComponent extends BaseSection implements OnIn
|
|
|
25
25
|
get stylesLayout(): LayOutModel;
|
|
26
26
|
get getBlurValue(): "NONE" | "LIGHT" | "MODERATE" | "STRONG" | "VERY_STRONG" | undefined;
|
|
27
27
|
get getBackgroundColor(): BackgroundModel;
|
|
28
|
-
get getBackgroundOpacity(): "
|
|
28
|
+
get getBackgroundOpacity(): "1" | "0" | "0.7" | "0.5" | "0.6" | "0.8";
|
|
29
29
|
opacityValue(value: OverlayValue): "1" | "0.7" | "0.5" | "0.6" | "0.8";
|
|
30
30
|
editSection(): void;
|
|
31
31
|
getScreenSize(): number;
|
|
@@ -23,7 +23,7 @@ export declare class ImageGridHotspotComponent extends BaseSection {
|
|
|
23
23
|
get headingSpace(): SPACING;
|
|
24
24
|
editSection(): void;
|
|
25
25
|
getLength(): number;
|
|
26
|
-
getJustifyContent(): import("simpo-component-library").ALIGN | "
|
|
26
|
+
getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
|
|
27
27
|
private get scrollStep();
|
|
28
28
|
scrollRight(): void;
|
|
29
29
|
isOverflowing: boolean;
|
|
@@ -23,7 +23,7 @@ export declare class ImageGridSectionComponent extends BaseSection {
|
|
|
23
23
|
get headingSpace(): SPACING;
|
|
24
24
|
editSection(): void;
|
|
25
25
|
getLength(): number;
|
|
26
|
-
getJustifyContent(): import("simpo-component-library").ALIGN | "
|
|
26
|
+
getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
|
|
27
27
|
private get scrollStep();
|
|
28
28
|
scrollRight(): void;
|
|
29
29
|
isOverflowing: boolean;
|
|
@@ -23,7 +23,7 @@ export declare class PricingSectionComponent extends BaseSection {
|
|
|
23
23
|
getButtonId(): string;
|
|
24
24
|
editSection(): void;
|
|
25
25
|
redirectTo(data: any): void;
|
|
26
|
-
getClass(): "col-
|
|
26
|
+
getClass(): "col-4" | "col-12" | "col-6" | "col-3";
|
|
27
27
|
getAlignment(): "justify-content-start" | "justify-content-center" | "justify-content-end";
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<PricingSectionComponent, never>;
|
|
29
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<PricingSectionComponent, "simpo-pricing-section", never, { "data": { "alias": "data"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -2,20 +2,15 @@ import { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';
|
|
|
2
2
|
import { Product } from '../ecommerce/styles/product.modal';
|
|
3
3
|
import { RestService } from './rest.service';
|
|
4
4
|
import { StorageServiceService } from './storage.service';
|
|
5
|
-
import { Router } from '@angular/router';
|
|
6
|
-
import { StorageLike } from '../services/storage-like';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export declare class CartService {
|
|
9
7
|
private readonly storageService;
|
|
10
8
|
private readonly restService;
|
|
11
|
-
|
|
12
|
-
private storage;
|
|
13
|
-
constructor(storageService: StorageServiceService, restService: RestService, router: Router, storage: StorageLike);
|
|
9
|
+
constructor(storageService: StorageServiceService, restService: RestService);
|
|
14
10
|
addItemFromCartPage(product: OrderedItems, userCart: any): import("rxjs").Observable<Object>;
|
|
15
11
|
addItemFromWishlistPage(product: OrderedItems, userWishlist: any): import("rxjs").Observable<Object>;
|
|
16
12
|
removeItemFromWishlistPage(product: OrderedItems, userWishlist: any): import("rxjs").Observable<Object>;
|
|
17
13
|
addItemToCart(product: Product | OrderedItems, varientId?: string): void | IDBRequest<IDBValidKey>;
|
|
18
|
-
captureCartAnalytics(productId: string, type: 'ADD_TO_CART' | 'REMOVE_FROM_CART', variantId?: string): void;
|
|
19
14
|
addItemToFavourite(product: Product, varientId?: string): void;
|
|
20
15
|
addItemToTrial(product: Product, varientId?: string): Promise<boolean>;
|
|
21
16
|
addItemToFavFromCart(product: OrderedItems): void;
|
|
@@ -23,7 +18,6 @@ export declare class CartService {
|
|
|
23
18
|
removeItemFromFavourite(varientId: string): void;
|
|
24
19
|
removeItemFromCart(product: Product | OrderedItems): void;
|
|
25
20
|
private objectMapper;
|
|
26
|
-
trackUser(event: any, eventType: string): void;
|
|
27
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
|
|
28
22
|
static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
|
|
29
23
|
}
|
|
@@ -135,7 +135,6 @@ export declare class RestService implements OnDestroy {
|
|
|
135
135
|
createLead(payload: any): Observable<Object>;
|
|
136
136
|
getAppointmentPaymentStatus(orderId: any): Observable<Object>;
|
|
137
137
|
getOtpForLogin(payload: any): Observable<Object>;
|
|
138
|
-
flush(eventsToSend: any): void;
|
|
139
138
|
static ɵfac: i0.ɵɵFactoryDeclaration<RestService, never>;
|
|
140
139
|
static ɵprov: i0.ɵɵInjectableDeclaration<RestService>;
|
|
141
140
|
}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { interval } from 'rxjs';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
|
-
import { API_URL } from '../tokens/api-token';
|
|
5
|
-
import { LOCAL_STORAGE } from '../services/local-storage.token';
|
|
6
|
-
import { NavigationEnd } from '@angular/router';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common/http";
|
|
9
|
-
import * as i2 from "./storage.service";
|
|
10
|
-
import * as i3 from "@angular/router";
|
|
11
|
-
export class AnalyticsService {
|
|
12
|
-
constructor(http, platformId, document, storageService, API_URL, storage, router) {
|
|
13
|
-
this.http = http;
|
|
14
|
-
this.platformId = platformId;
|
|
15
|
-
this.document = document;
|
|
16
|
-
this.storageService = storageService;
|
|
17
|
-
this.API_URL = API_URL;
|
|
18
|
-
this.storage = storage;
|
|
19
|
-
this.router = router;
|
|
20
|
-
this.eventQueue = [];
|
|
21
|
-
this.BATCH_SIZE = 10;
|
|
22
|
-
this.FLUSH_INTERVAL = 5000; // 5 seconds
|
|
23
|
-
// ===== Duration Tracking =====
|
|
24
|
-
this.currentPage = '';
|
|
25
|
-
this.currentContextMetadata = null;
|
|
26
|
-
this.contextStartTime = null;
|
|
27
|
-
this.contextActiveTime = 0;
|
|
28
|
-
this.currentEvent = '';
|
|
29
|
-
this.startAutoFlush();
|
|
30
|
-
this.listenToUnload();
|
|
31
|
-
this.listenToRouteChange();
|
|
32
|
-
}
|
|
33
|
-
startNewContext(metadata, event) {
|
|
34
|
-
this.closeCurrentContext(); // close previous filter session
|
|
35
|
-
this.currentContextMetadata = metadata;
|
|
36
|
-
this.contextStartTime = Date.now();
|
|
37
|
-
this.contextActiveTime = 0;
|
|
38
|
-
this.currentEvent = event;
|
|
39
|
-
}
|
|
40
|
-
getCurrentContext() {
|
|
41
|
-
return this.currentContextMetadata;
|
|
42
|
-
}
|
|
43
|
-
closeCurrentContext(useBeacon = false) {
|
|
44
|
-
if (!this.currentContextMetadata)
|
|
45
|
-
return;
|
|
46
|
-
if (this.contextStartTime) {
|
|
47
|
-
this.contextActiveTime += Date.now() - this.contextStartTime;
|
|
48
|
-
}
|
|
49
|
-
const user = this.storageService.getUser();
|
|
50
|
-
const requestFrom = this.storage.getItem('REQUEST_FROM');
|
|
51
|
-
if (!user || requestFrom === 'ECOMMERCE')
|
|
52
|
-
return;
|
|
53
|
-
const event = {
|
|
54
|
-
businessId: this.storage.getItem('bId') || '',
|
|
55
|
-
businessName: this.storage.getItem('bName') || '',
|
|
56
|
-
userId: user.userId,
|
|
57
|
-
createdTimeStamp: new Date().toISOString(),
|
|
58
|
-
page: this.currentPage,
|
|
59
|
-
duration: this.contextActiveTime,
|
|
60
|
-
eventType: this.currentEvent,
|
|
61
|
-
metadata: this.currentContextMetadata
|
|
62
|
-
};
|
|
63
|
-
if (useBeacon) {
|
|
64
|
-
fetch(this.API_URL + 'ecommerce/analytics/batch', {
|
|
65
|
-
method: 'POST',
|
|
66
|
-
body: JSON.stringify([event]),
|
|
67
|
-
headers: {
|
|
68
|
-
'Content-Type': 'application/json'
|
|
69
|
-
},
|
|
70
|
-
keepalive: true
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.eventQueue.push(event);
|
|
75
|
-
}
|
|
76
|
-
this.currentContextMetadata = null;
|
|
77
|
-
this.contextStartTime = null;
|
|
78
|
-
this.contextActiveTime = 0;
|
|
79
|
-
this.currentEvent = '';
|
|
80
|
-
}
|
|
81
|
-
// ===============================
|
|
82
|
-
// 🔥 ROUTE CHANGE LISTENER
|
|
83
|
-
// ===============================
|
|
84
|
-
listenToRouteChange() {
|
|
85
|
-
this.router.events.subscribe(event => {
|
|
86
|
-
if (event instanceof NavigationEnd) {
|
|
87
|
-
// Close previous page context
|
|
88
|
-
this.closeCurrentContext();
|
|
89
|
-
this.currentPage = this.router.url.split('?')[0];
|
|
90
|
-
this.contextStartTime = Date.now();
|
|
91
|
-
this.contextActiveTime = 0;
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
trackUser(event, eventType) {
|
|
96
|
-
const user = this.storageService.getUser();
|
|
97
|
-
const requestFrom = this.storage.getItem('REQUEST_FROM');
|
|
98
|
-
if (user === null || requestFrom === 'ECOMMERCE') {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
const page = this.router.url.split('?')[0];
|
|
102
|
-
this.eventQueue.push({
|
|
103
|
-
businessId: this.storage.getItem('bId') || '',
|
|
104
|
-
businessName: this.storage.getItem('bName') || '',
|
|
105
|
-
userId: user?.userId,
|
|
106
|
-
createdTimeStamp: new Date().toISOString(),
|
|
107
|
-
page: page,
|
|
108
|
-
metadata: event,
|
|
109
|
-
eventType: eventType
|
|
110
|
-
});
|
|
111
|
-
if (this.eventQueue.length >= this.BATCH_SIZE) {
|
|
112
|
-
this.flush();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
startAutoFlush() {
|
|
116
|
-
interval(this.FLUSH_INTERVAL).subscribe(() => {
|
|
117
|
-
if (this.eventQueue.length > 0) {
|
|
118
|
-
this.flush();
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
flush() {
|
|
123
|
-
const eventsToSend = [...this.eventQueue];
|
|
124
|
-
this.eventQueue = [];
|
|
125
|
-
this.http.post(this.API_URL + 'ecommerce/analytics/batch', eventsToSend)
|
|
126
|
-
.subscribe({ error: () => { } });
|
|
127
|
-
}
|
|
128
|
-
listenToUnload() {
|
|
129
|
-
this.document.addEventListener('visibilitychange', () => {
|
|
130
|
-
if (this.document.visibilityState === 'visible') {
|
|
131
|
-
this.contextStartTime = Date.now();
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
if (this.contextStartTime) {
|
|
135
|
-
this.contextActiveTime += Date.now() - this.contextStartTime;
|
|
136
|
-
}
|
|
137
|
-
this.closeCurrentContext(true);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i2.StorageServiceService }, { token: API_URL }, { token: LOCAL_STORAGE }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
142
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
|
|
143
|
-
}
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
145
|
-
type: Injectable,
|
|
146
|
-
args: [{ providedIn: 'root' }]
|
|
147
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: Object, decorators: [{
|
|
148
|
-
type: Inject,
|
|
149
|
-
args: [PLATFORM_ID]
|
|
150
|
-
}] }, { type: Document, decorators: [{
|
|
151
|
-
type: Inject,
|
|
152
|
-
args: [DOCUMENT]
|
|
153
|
-
}] }, { type: i2.StorageServiceService }, { type: undefined, decorators: [{
|
|
154
|
-
type: Inject,
|
|
155
|
-
args: [API_URL]
|
|
156
|
-
}] }, { type: undefined, decorators: [{
|
|
157
|
-
type: Inject,
|
|
158
|
-
args: [LOCAL_STORAGE]
|
|
159
|
-
}] }, { type: i3.Router }] });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBR3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFhekIsWUFBb0IsSUFBZ0IsRUFDSCxVQUFrQixFQUNyQixRQUFrQixFQUMzQixjQUFxQyxFQUM3QixPQUFlLEVBQ1QsT0FBb0IsRUFDM0MsTUFBYztRQU5OLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQzNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQmxCLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFFM0MsZ0NBQWdDO1FBQ3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDJCQUFzQixHQUFRLElBQUksQ0FBQztRQUNuQyxx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QUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2pFLENBQUM7Z0JBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBNUpRLGdCQUFnQiw0Q0FjYixXQUFXLGFBQ1gsUUFBUSxrREFFUixPQUFPLGFBQ1AsYUFBYTttSEFsQmhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFlekIsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFFZixNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElfVVJMIH0gZnJvbSAnLi4vdG9rZW5zL2FwaS10b2tlbic7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBTdG9yYWdlTGlrZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N0b3JhZ2UtbGlrZSc7XHJcbmltcG9ydCB7IExPQ0FMX1NUT1JBR0UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnRva2VuJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGV2ZW50UXVldWU6IGFueVtdID0gW107XHJcbiAgICBwcml2YXRlIEJBVENIX1NJWkUgPSAxMDtcclxuICAgIHByaXZhdGUgRkxVU0hfSU5URVJWQUwgPSA1MDAwOyAvLyA1IHNlY29uZHNcclxuXHJcbiAgICAvLyA9PT09PSBEdXJhdGlvbiBUcmFja2luZyA9PT09PVxyXG4gICAgcHJpdmF0ZSBjdXJyZW50UGFnZSA9ICcnO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50Q29udGV4dE1ldGFkYXRhOiBhbnkgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBjb250ZXh0U3RhcnRUaW1lOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAgIHByaXZhdGUgY29udGV4dEFjdGl2ZVRpbWUgPSAwO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50RXZlbnQgPSAnJztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQVBJX1VSTCkgcHJpdmF0ZSBBUElfVVJMOiBzdHJpbmcsXHJcbiAgICAgICAgQEluamVjdChMT0NBTF9TVE9SQUdFKSBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VMaWtlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc3RhcnRBdXRvRmx1c2goKTtcclxuICAgICAgICB0aGlzLmxpc3RlblRvVW5sb2FkKCk7XHJcbiAgICAgICAgdGhpcy5saXN0ZW5Ub1JvdXRlQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnROZXdDb250ZXh0KG1ldGFkYXRhOiBhbnksIGV2ZW50OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNsb3NlQ3VycmVudENvbnRleHQoKTsgICAvLyBjbG9zZSBwcmV2aW91cyBmaWx0ZXIgc2Vzc2lvblxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEgPSBtZXRhZGF0YTtcclxuICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dEFjdGl2ZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEV2ZW50ID0gZXZlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VycmVudENvbnRleHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudENvbnRleHRNZXRhZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlQ3VycmVudENvbnRleHQodXNlQmVhY29uOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dFN0YXJ0VGltZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lICs9IERhdGUubm93KCkgLSB0aGlzLmNvbnRleHRTdGFydFRpbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RGcm9tID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ1JFUVVFU1RfRlJPTScpO1xyXG5cclxuICAgICAgICBpZiAoIXVzZXIgfHwgcmVxdWVzdEZyb20gPT09ICdFQ09NTUVSQ0UnKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICAgICAgICBidXNpbmVzc0lkOiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYklkJykgfHwgJycsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzTmFtZTogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JOYW1lJykgfHwgJycsXHJcbiAgICAgICAgICAgIHVzZXJJZDogdXNlci51c2VySWQsXHJcbiAgICAgICAgICAgIGNyZWF0ZWRUaW1lU3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgICAgICAgZHVyYXRpb246IHRoaXMuY29udGV4dEFjdGl2ZVRpbWUsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogIHRoaXMuY3VycmVudEV2ZW50LFxyXG4gICAgICAgICAgICBtZXRhZGF0YTogdGhpcy5jdXJyZW50Q29udGV4dE1ldGFkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHVzZUJlYWNvbikge1xyXG5cclxuICAgICAgICAgICBmZXRjaCh0aGlzLkFQSV9VUkwgKyAnZWNvbW1lcmNlL2FuYWx5dGljcy9iYXRjaCcsIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoW2V2ZW50XSksXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAga2VlcGFsaXZlOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmV2ZW50UXVldWUucHVzaChldmVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29udGV4dFN0YXJ0VGltZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RXZlbnQgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvLyDwn5SlIFJPVVRFIENIQU5HRSBMSVNURU5FUlxyXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub1JvdXRlQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgcHJldmlvdXMgcGFnZSBjb250ZXh0XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQ3VycmVudENvbnRleHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja1VzZXIoZXZlbnQ6IGFueSwgZXZlbnRUeXBlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RGcm9tID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ1JFUVVFU1RfRlJPTScpXHJcblxyXG4gICAgICAgIGlmICh1c2VyID09PSBudWxsIHx8IHJlcXVlc3RGcm9tID09PSAnRUNPTU1FUkNFJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwYWdlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcblxyXG4gICAgICAgIHRoaXMuZXZlbnRRdWV1ZS5wdXNoKHtcclxuICAgICAgICAgICAgYnVzaW5lc3NJZDogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JJZCcpIHx8ICcnLFxyXG4gICAgICAgICAgICBidXNpbmVzc05hbWU6IHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdiTmFtZScpIHx8ICcnLFxyXG4gICAgICAgICAgICB1c2VySWQ6IHVzZXI/LnVzZXJJZCxcclxuICAgICAgICAgICAgY3JlYXRlZFRpbWVTdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgICBwYWdlOiBwYWdlLFxyXG4gICAgICAgICAgICBtZXRhZGF0YTogZXZlbnQsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogZXZlbnRUeXBlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmV2ZW50UXVldWUubGVuZ3RoID49IHRoaXMuQkFUQ0hfU0laRSkge1xyXG4gICAgICAgICAgICB0aGlzLmZsdXNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhcnRBdXRvRmx1c2goKSB7XHJcbiAgICAgICAgaW50ZXJ2YWwodGhpcy5GTFVTSF9JTlRFUlZBTCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZXZlbnRRdWV1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZsdXNoKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZsdXNoKCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50c1RvU2VuZCA9IFsuLi50aGlzLmV2ZW50UXVldWVdO1xyXG4gICAgICAgIHRoaXMuZXZlbnRRdWV1ZSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLmh0dHAucG9zdCh0aGlzLkFQSV9VUkwgKyAnZWNvbW1lcmNlL2FuYWx5dGljcy9iYXRjaCcsIGV2ZW50c1RvU2VuZClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh7IGVycm9yOiAoKSA9PiB7IH0gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub1VubG9hZCgpIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCAoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0U3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0U3RhcnRUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSArPSBEYXRlLm5vdygpIC0gdGhpcy5jb250ZXh0U3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VDdXJyZW50Q29udGV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { StorageServiceService } from './storage.service';
|
|
3
|
-
import { StorageLike } from '../services/storage-like';
|
|
4
|
-
import { Router } from '@angular/router';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class AnalyticsService {
|
|
7
|
-
private http;
|
|
8
|
-
private platformId;
|
|
9
|
-
private document;
|
|
10
|
-
private readonly storageService;
|
|
11
|
-
private API_URL;
|
|
12
|
-
private storage;
|
|
13
|
-
private router;
|
|
14
|
-
private eventQueue;
|
|
15
|
-
private BATCH_SIZE;
|
|
16
|
-
private FLUSH_INTERVAL;
|
|
17
|
-
private currentPage;
|
|
18
|
-
private currentContextMetadata;
|
|
19
|
-
private contextStartTime;
|
|
20
|
-
private contextActiveTime;
|
|
21
|
-
private currentEvent;
|
|
22
|
-
constructor(http: HttpClient, platformId: Object, document: Document, storageService: StorageServiceService, API_URL: string, storage: StorageLike, router: Router);
|
|
23
|
-
startNewContext(metadata: any, event: string): void;
|
|
24
|
-
getCurrentContext(): any;
|
|
25
|
-
private closeCurrentContext;
|
|
26
|
-
private listenToRouteChange;
|
|
27
|
-
trackUser(event: any, eventType: string): void;
|
|
28
|
-
private startAutoFlush;
|
|
29
|
-
private flush;
|
|
30
|
-
private listenToUnload;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
|
|
32
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
|
|
33
|
-
}
|
|
Binary file
|