simpo-component-library 3.6.620 → 3.6.621
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/product-desc/product-desc.component.mjs +24 -25
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +16 -62
- package/fesm2022/simpo-component-library.mjs +26 -212
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +2 -3
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +1 -5
- package/package.json +1 -1
- package/simpo-component-library-3.6.621.tgz +0 -0
- package/esm2022/lib/services/analytics.service.mjs +0 -152
- package/lib/services/analytics.service.d.ts +0 -31
- package/simpo-component-library-3.6.620.tgz +0 -0
|
@@ -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;
|
|
@@ -156,6 +154,7 @@ export declare class ProductDescComponent extends BaseSection {
|
|
|
156
154
|
getRGBA(bgColor: any, opacity: number): any;
|
|
157
155
|
showDetailReview(review: any): void;
|
|
158
156
|
get stylesLayout(): LayOutModel;
|
|
157
|
+
getDateAfterxDays(): Date;
|
|
159
158
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProductDescComponent, never>;
|
|
160
159
|
static ɵcmp: i0.ɵɵComponentDeclaration<ProductDescComponent, "simpo-product-desc", 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>;
|
|
161
160
|
}
|
|
@@ -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;
|
|
@@ -79,7 +77,7 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
79
77
|
listScrollContainer: ElementRef<HTMLDivElement>;
|
|
80
78
|
getScreenSize(): void;
|
|
81
79
|
onWindowScroll(event: Event): void;
|
|
82
|
-
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);
|
|
83
81
|
get stylesLayout(): LayOutModel;
|
|
84
82
|
isOpen: boolean;
|
|
85
83
|
toggleDropdown(): void;
|
|
@@ -105,8 +103,6 @@ export declare class ProductListComponent extends BaseSection {
|
|
|
105
103
|
toShowInJewellery: boolean;
|
|
106
104
|
IsEcommerce: boolean;
|
|
107
105
|
ngOnInit(): void;
|
|
108
|
-
fetchAnalytics(): void;
|
|
109
|
-
getCategoriesAndCollection(): void;
|
|
110
106
|
get selectedCategoryCollectionChips(): {
|
|
111
107
|
id: string;
|
|
112
108
|
name: string;
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -1,152 +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.startAutoFlush();
|
|
29
|
-
this.listenToUnload();
|
|
30
|
-
this.listenToRouteChange();
|
|
31
|
-
}
|
|
32
|
-
startNewContext(metadata) {
|
|
33
|
-
this.closeCurrentContext(); // close previous filter session
|
|
34
|
-
this.currentContextMetadata = metadata;
|
|
35
|
-
this.contextStartTime = Date.now();
|
|
36
|
-
this.contextActiveTime = 0;
|
|
37
|
-
}
|
|
38
|
-
closeCurrentContext(useBeacon = false) {
|
|
39
|
-
if (!this.currentContextMetadata)
|
|
40
|
-
return;
|
|
41
|
-
if (this.contextStartTime) {
|
|
42
|
-
this.contextActiveTime += Date.now() - this.contextStartTime;
|
|
43
|
-
}
|
|
44
|
-
const user = this.storageService.getUser();
|
|
45
|
-
const requestFrom = this.storage.getItem('REQUEST_FROM');
|
|
46
|
-
if (!user || requestFrom === 'ECOMMERCE')
|
|
47
|
-
return;
|
|
48
|
-
const event = {
|
|
49
|
-
businessId: this.storage.getItem('bId') || '',
|
|
50
|
-
businessName: this.storage.getItem('bName') || '',
|
|
51
|
-
userId: user.userId,
|
|
52
|
-
createdTimeStamp: new Date().toISOString(),
|
|
53
|
-
page: this.currentPage,
|
|
54
|
-
duration: this.contextActiveTime,
|
|
55
|
-
metadata: this.currentContextMetadata
|
|
56
|
-
};
|
|
57
|
-
if (useBeacon) {
|
|
58
|
-
fetch(this.API_URL + 'ecommerce/analytics/batch', {
|
|
59
|
-
method: 'POST',
|
|
60
|
-
body: JSON.stringify([event]),
|
|
61
|
-
headers: {
|
|
62
|
-
'Content-Type': 'application/json'
|
|
63
|
-
},
|
|
64
|
-
keepalive: true
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.eventQueue.push(event);
|
|
69
|
-
}
|
|
70
|
-
this.currentContextMetadata = null;
|
|
71
|
-
this.contextStartTime = null;
|
|
72
|
-
this.contextActiveTime = 0;
|
|
73
|
-
}
|
|
74
|
-
// ===============================
|
|
75
|
-
// 🔥 ROUTE CHANGE LISTENER
|
|
76
|
-
// ===============================
|
|
77
|
-
listenToRouteChange() {
|
|
78
|
-
this.router.events.subscribe(event => {
|
|
79
|
-
if (event instanceof NavigationEnd) {
|
|
80
|
-
// Close previous page context
|
|
81
|
-
this.closeCurrentContext();
|
|
82
|
-
this.currentPage = this.router.url.split('?')[0];
|
|
83
|
-
this.contextStartTime = Date.now();
|
|
84
|
-
this.contextActiveTime = 0;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
trackUser(event) {
|
|
89
|
-
const user = this.storageService.getUser();
|
|
90
|
-
const requestFrom = this.storage.getItem('REQUEST_FROM');
|
|
91
|
-
if (user === null || requestFrom === 'ECOMMERCE') {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
const page = this.router.url.split('?')[0];
|
|
95
|
-
this.eventQueue.push({
|
|
96
|
-
businessId: this.storage.getItem('bId') || '',
|
|
97
|
-
businessName: this.storage.getItem('bName') || '',
|
|
98
|
-
userId: user?.userId,
|
|
99
|
-
createdTimeStamp: new Date().toISOString(),
|
|
100
|
-
page: page,
|
|
101
|
-
metadata: event,
|
|
102
|
-
});
|
|
103
|
-
if (this.eventQueue.length >= this.BATCH_SIZE) {
|
|
104
|
-
this.flush();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
startAutoFlush() {
|
|
108
|
-
interval(this.FLUSH_INTERVAL).subscribe(() => {
|
|
109
|
-
if (this.eventQueue.length > 0) {
|
|
110
|
-
this.flush();
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
flush() {
|
|
115
|
-
const eventsToSend = [...this.eventQueue];
|
|
116
|
-
this.eventQueue = [];
|
|
117
|
-
this.http.post(this.API_URL + 'ecommerce/analytics/batch', eventsToSend)
|
|
118
|
-
.subscribe({ error: () => { } });
|
|
119
|
-
}
|
|
120
|
-
listenToUnload() {
|
|
121
|
-
this.document.addEventListener('visibilitychange', () => {
|
|
122
|
-
if (this.document.visibilityState === 'visible') {
|
|
123
|
-
this.contextStartTime = Date.now();
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
if (this.contextStartTime) {
|
|
127
|
-
this.contextActiveTime += Date.now() - this.contextStartTime;
|
|
128
|
-
}
|
|
129
|
-
this.closeCurrentContext(true);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
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 }); }
|
|
134
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
|
|
135
|
-
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
137
|
-
type: Injectable,
|
|
138
|
-
args: [{ providedIn: 'root' }]
|
|
139
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: Object, decorators: [{
|
|
140
|
-
type: Inject,
|
|
141
|
-
args: [PLATFORM_ID]
|
|
142
|
-
}] }, { type: Document, decorators: [{
|
|
143
|
-
type: Inject,
|
|
144
|
-
args: [DOCUMENT]
|
|
145
|
-
}] }, { type: i2.StorageServiceService }, { type: undefined, decorators: [{
|
|
146
|
-
type: Inject,
|
|
147
|
-
args: [API_URL]
|
|
148
|
-
}] }, { type: undefined, decorators: [{
|
|
149
|
-
type: Inject,
|
|
150
|
-
args: [LOCAL_STORAGE]
|
|
151
|
-
}] }, { type: i3.Router }] });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBR3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFZekIsWUFBb0IsSUFBZ0IsRUFDSCxVQUFrQixFQUNyQixRQUFrQixFQUMzQixjQUFxQyxFQUM3QixPQUFlLEVBQ1QsT0FBb0IsRUFDM0MsTUFBYztRQU5OLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQzNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoQmxCLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFFM0MsZ0NBQWdDO1FBQ3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDJCQUFzQixHQUFRLElBQUksQ0FBQztRQUNuQyxx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QWdCLGNBREgsTUFBTTs7NEZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQWN6QixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLE1BQU07MkJBQUMsT0FBTzs7MEJBQ2QsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSV9VUkwgfSBmcm9tICcuLi90b2tlbnMvYXBpLXRva2VuJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VMaWtlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZS1saWtlJztcclxuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UudG9rZW4nO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc1NlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgZXZlbnRRdWV1ZTogYW55W10gPSBbXTtcclxuICAgIHByaXZhdGUgQkFUQ0hfU0laRSA9IDEwO1xyXG4gICAgcHJpdmF0ZSBGTFVTSF9JTlRFUlZBTCA9IDUwMDA7IC8vIDUgc2Vjb25kc1xyXG5cclxuICAgIC8vID09PT09IER1cmF0aW9uIFRyYWNraW5nID09PT09XHJcbiAgICBwcml2YXRlIGN1cnJlbnRQYWdlID0gJyc7XHJcbiAgICBwcml2YXRlIGN1cnJlbnRDb250ZXh0TWV0YWRhdGE6IGFueSA9IG51bGw7XHJcbiAgICBwcml2YXRlIGNvbnRleHRTdGFydFRpbWU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBjb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KEFQSV9VUkwpIHByaXZhdGUgQVBJX1VSTDogc3RyaW5nLFxyXG4gICAgICAgIEBJbmplY3QoTE9DQUxfU1RPUkFHRSkgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlTGlrZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnN0YXJ0QXV0b0ZsdXNoKCk7XHJcbiAgICAgICAgdGhpcy5saXN0ZW5Ub1VubG9hZCgpO1xyXG4gICAgICAgIHRoaXMubGlzdGVuVG9Sb3V0ZUNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0TmV3Q29udGV4dChtZXRhZGF0YTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUN1cnJlbnRDb250ZXh0KCk7ICAgLy8gY2xvc2UgcHJldmlvdXMgZmlsdGVyIHNlc3Npb25cclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dE1ldGFkYXRhID0gbWV0YWRhdGE7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0U3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcclxuICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlQ3VycmVudENvbnRleHQodXNlQmVhY29uOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dFN0YXJ0VGltZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lICs9IERhdGUubm93KCkgLSB0aGlzLmNvbnRleHRTdGFydFRpbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RGcm9tID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ1JFUVVFU1RfRlJPTScpO1xyXG5cclxuICAgICAgICBpZiAoIXVzZXIgfHwgcmVxdWVzdEZyb20gPT09ICdFQ09NTUVSQ0UnKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICAgICAgICBidXNpbmVzc0lkOiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYklkJykgfHwgJycsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzTmFtZTogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JOYW1lJykgfHwgJycsXHJcbiAgICAgICAgICAgIHVzZXJJZDogdXNlci51c2VySWQsXHJcbiAgICAgICAgICAgIGNyZWF0ZWRUaW1lU3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgICAgICAgZHVyYXRpb246IHRoaXMuY29udGV4dEFjdGl2ZVRpbWUsXHJcbiAgICAgICAgICAgIG1ldGFkYXRhOiB0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGFcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBpZiAodXNlQmVhY29uKSB7XHJcblxyXG4gICAgICAgICAgIGZldGNoKHRoaXMuQVBJX1VSTCArICdlY29tbWVyY2UvYW5hbHl0aWNzL2JhdGNoJywge1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShbZXZlbnRdKSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBrZWVwYWxpdmU6IHRydWVcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRRdWV1ZS5wdXNoKGV2ZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudENvbnRleHRNZXRhZGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0U3RhcnRUaW1lID0gbnVsbDtcclxuICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lID0gMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvLyDwn5SlIFJPVVRFIENIQU5HRSBMSVNURU5FUlxyXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub1JvdXRlQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgcHJldmlvdXMgcGFnZSBjb250ZXh0XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQ3VycmVudENvbnRleHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja1VzZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHVzZXI6IFVzZXIgfCBudWxsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdEZyb20gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnUkVRVUVTVF9GUk9NJylcclxuXHJcbiAgICAgICAgaWYgKHVzZXIgPT09IG51bGwgfHwgcmVxdWVzdEZyb20gPT09ICdFQ09NTUVSQ0UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJz8nKVswXTtcclxuXHJcbiAgICAgICAgdGhpcy5ldmVudFF1ZXVlLnB1c2goe1xyXG4gICAgICAgICAgICBidXNpbmVzc0lkOiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYklkJykgfHwgJycsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzTmFtZTogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JOYW1lJykgfHwgJycsXHJcbiAgICAgICAgICAgIHVzZXJJZDogdXNlcj8udXNlcklkLFxyXG4gICAgICAgICAgICBjcmVhdGVkVGltZVN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXHJcbiAgICAgICAgICAgIG1ldGFkYXRhOiBldmVudCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZXZlbnRRdWV1ZS5sZW5ndGggPj0gdGhpcy5CQVRDSF9TSVpFKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmx1c2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydEF1dG9GbHVzaCgpIHtcclxuICAgICAgICBpbnRlcnZhbCh0aGlzLkZMVVNIX0lOVEVSVkFMKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5ldmVudFF1ZXVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmx1c2goKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmx1c2goKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnRzVG9TZW5kID0gWy4uLnRoaXMuZXZlbnRRdWV1ZV07XHJcbiAgICAgICAgdGhpcy5ldmVudFF1ZXVlID0gW107XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0KHRoaXMuQVBJX1VSTCArICdlY29tbWVyY2UvYW5hbHl0aWNzL2JhdGNoJywgZXZlbnRzVG9TZW5kKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHsgZXJyb3I6ICgpID0+IHsgfSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGxpc3RlblRvVW5sb2FkKCkge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsICgpID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHRTdGFydFRpbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lICs9IERhdGUubm93KCkgLSB0aGlzLmNvbnRleHRTdGFydFRpbWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUN1cnJlbnRDb250ZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,31 +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
|
-
constructor(http: HttpClient, platformId: Object, document: Document, storageService: StorageServiceService, API_URL: string, storage: StorageLike, router: Router);
|
|
22
|
-
startNewContext(metadata: any): void;
|
|
23
|
-
private closeCurrentContext;
|
|
24
|
-
private listenToRouteChange;
|
|
25
|
-
trackUser(event: any): void;
|
|
26
|
-
private startAutoFlush;
|
|
27
|
-
private flush;
|
|
28
|
-
private listenToUnload;
|
|
29
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
|
|
30
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
|
|
31
|
-
}
|
|
Binary file
|