@posiwise/common-services 0.1.88 → 0.1.89

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.
Files changed (50) hide show
  1. package/fesm2022/posiwise-common-services.mjs +146 -182
  2. package/fesm2022/posiwise-common-services.mjs.map +1 -1
  3. package/lib/user.service.d.ts +1 -0
  4. package/package.json +8 -10
  5. package/esm2022/index.mjs +0 -47
  6. package/esm2022/lib/ab-test.service.mjs +0 -55
  7. package/esm2022/lib/ahoy.service.mjs +0 -93
  8. package/esm2022/lib/auth.service.mjs +0 -322
  9. package/esm2022/lib/base-http.service.mjs +0 -98
  10. package/esm2022/lib/brain-api-http.service.mjs +0 -26
  11. package/esm2022/lib/brain.service.mjs +0 -21
  12. package/esm2022/lib/common-services.interface.mjs +0 -2
  13. package/esm2022/lib/common-services.module.mjs +0 -23
  14. package/esm2022/lib/common.service.mjs +0 -134
  15. package/esm2022/lib/custom-preloading.service.mjs +0 -38
  16. package/esm2022/lib/dashboard.service.mjs +0 -21
  17. package/esm2022/lib/data.service.mjs +0 -21
  18. package/esm2022/lib/date-formatter.service.mjs +0 -82
  19. package/esm2022/lib/effects/user.effects.mjs +0 -27
  20. package/esm2022/lib/form-helper.service.mjs +0 -27
  21. package/esm2022/lib/geo.service.mjs +0 -40
  22. package/esm2022/lib/google-analytics.service.mjs +0 -121
  23. package/esm2022/lib/group.service.mjs +0 -122
  24. package/esm2022/lib/hopscotch.service.mjs +0 -48
  25. package/esm2022/lib/integrations-api-http.service.mjs +0 -28
  26. package/esm2022/lib/link-loader.service.mjs +0 -50
  27. package/esm2022/lib/local-storage.service.mjs +0 -32
  28. package/esm2022/lib/logo-caching.service.mjs +0 -65
  29. package/esm2022/lib/mailbox.service.mjs +0 -66
  30. package/esm2022/lib/main-api-http.service.mjs +0 -26
  31. package/esm2022/lib/notification.service.mjs +0 -70
  32. package/esm2022/lib/number-picker.service.mjs +0 -43
  33. package/esm2022/lib/permission.service.mjs +0 -252
  34. package/esm2022/lib/primeNgHelper.mjs +0 -18
  35. package/esm2022/lib/product.service.mjs +0 -78
  36. package/esm2022/lib/profile.service.mjs +0 -64
  37. package/esm2022/lib/qualification.service.mjs +0 -29
  38. package/esm2022/lib/script-loader.service.mjs +0 -79
  39. package/esm2022/lib/secure-token-storage.service.mjs +0 -264
  40. package/esm2022/lib/sentry.service.mjs +0 -384
  41. package/esm2022/lib/seo.service.mjs +0 -43
  42. package/esm2022/lib/socket.service.mjs +0 -29
  43. package/esm2022/lib/subscription.service.mjs +0 -129
  44. package/esm2022/lib/tag.service.mjs +0 -101
  45. package/esm2022/lib/tips.service.mjs +0 -38
  46. package/esm2022/lib/toast.service.mjs +0 -85
  47. package/esm2022/lib/user.service.mjs +0 -202
  48. package/esm2022/lib/validation.service.mjs +0 -36
  49. package/esm2022/lib/window.service.mjs +0 -20
  50. package/esm2022/posiwise-common-services.mjs +0 -5
@@ -1,134 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ADMIN_FAQS_PATH, CONTACT_US_PATH, CUSTOMER_SUPPORT_PATH, FAQS_PATH, FEEDBACK_QUESTIONS_PATH, GLOBAL_CONFIGS_PATH, GLOBAL_SUBSCRIPTION_CONFIGS_PATH, INCIDENTS_PATH, INCIDENTS_PATH_ADMIN, NEWSLETTER_SUBSCRIPTION_PATH, NEWSLETTER_UNSUBSCRIBE_PATH, NEWSLETTERS_PATH, ORGANIZATIONS_PATH, USER_FEEDBACKS_PATH, USER_LOGIN_NOTIFICATION } from '@posiwise/common-utilities';
3
- import { HelperService } from '@posiwise/helper-service';
4
- import { MainApiHttpService } from './main-api-http.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./main-api-http.service";
7
- export class CommonService {
8
- constructor(api) {
9
- this.api = api;
10
- }
11
- addContactUsMessage(data) {
12
- return this.api.post(CONTACT_US_PATH, data);
13
- }
14
- getIncidents(paging) {
15
- return this.api.getWithParams(`${INCIDENTS_PATH}/get_all`, {
16
- ...HelperService.getPagingParams(paging)
17
- });
18
- }
19
- getIncidentsAdmin(paging, subscriptionId) {
20
- return this.api.getWithParams(`${INCIDENTS_PATH_ADMIN}/get_all`, {
21
- ...HelperService.getPagingParams(paging),
22
- subscription_id: subscriptionId
23
- });
24
- }
25
- addIncident(data) {
26
- return this.api.post(`${INCIDENTS_PATH_ADMIN}`, data);
27
- }
28
- editIncident(id, data) {
29
- return this.api.put(`${INCIDENTS_PATH_ADMIN}/${id}`, data);
30
- }
31
- getIncidentById(id, subscription_id) {
32
- return this.api.get(`${INCIDENTS_PATH_ADMIN}/${id}?subscription_id=${subscription_id}`);
33
- }
34
- deleteIncidentAdmin(id, subscription_id) {
35
- return this.api.delete(`${INCIDENTS_PATH_ADMIN}/${id}?subscription_id=${subscription_id}`);
36
- }
37
- // Newsletters
38
- getAllNewsletter(paging) {
39
- return this.api.getWithParams(`${NEWSLETTERS_PATH}/get_all`, {
40
- visible: true,
41
- ...HelperService.getPagingParams(paging)
42
- });
43
- }
44
- toggleNewsletter(newsletterId, param) {
45
- return this.api.put(`${NEWSLETTER_SUBSCRIPTION_PATH}/${newsletterId}/toggle`, param);
46
- }
47
- unsubscribeNewsletter(token) {
48
- return this.api.get(`/${NEWSLETTER_UNSUBSCRIBE_PATH}?token=${token}`);
49
- }
50
- // FAQ
51
- getFaq(params) {
52
- return this.api.getWithParams(ADMIN_FAQS_PATH, { ...params });
53
- }
54
- getFaqById(id, subscription_id) {
55
- return this.api.getWithParams(`${FAQS_PATH}/${id}`, { subscription_id });
56
- }
57
- getFaqCategories(subscription_id) {
58
- return this.api.getWithParams(`faqs/available_categories`, { subscription_id });
59
- }
60
- getPublicFaq(subscription_id, search_term = '') {
61
- return this.api.getWithParams(`${FAQS_PATH}`, { subscription_id, search_term });
62
- }
63
- getPublicFaqById(id) {
64
- return this.api.get(`${FAQS_PATH}/${id}`);
65
- }
66
- // Organization
67
- getOrganizationSizes(paging) {
68
- return this.api.getWithParams(`${ORGANIZATIONS_PATH}/sizes/get_all`, HelperService.getPagingParams(paging));
69
- }
70
- getOrganizationTypes(paging) {
71
- return this.api.getWithParams(`${ORGANIZATIONS_PATH}/types/get_all`, HelperService.getPagingParams(paging));
72
- }
73
- getOrganizationIndustries(paging) {
74
- return this.api.getWithParams(`${ORGANIZATIONS_PATH}/industries/get_all`, HelperService.getPagingParams(paging));
75
- }
76
- getOrganizationDepartments(paging) {
77
- return this.api.getWithParams(`${ORGANIZATIONS_PATH}/departments/get_all`, HelperService.getPagingParams(paging));
78
- }
79
- // Global Config
80
- getAllGlobalSubscriptionConfigs(paging) {
81
- return this.api.getWithParams(`${GLOBAL_SUBSCRIPTION_CONFIGS_PATH}/get_all?`, HelperService.getPagingParams(paging));
82
- }
83
- postGlobalSubscriptionConfig(data) {
84
- return this.api.post(`${GLOBAL_SUBSCRIPTION_CONFIGS_PATH}`, data);
85
- }
86
- editGlobalSubscriptionConfig(id, data) {
87
- return this.api.post(`${GLOBAL_SUBSCRIPTION_CONFIGS_PATH}/${id}`, data);
88
- }
89
- getAllGlobalConfigs(paging) {
90
- return this.api.getWithParams(`${GLOBAL_CONFIGS_PATH}/get_all?`, HelperService.getPagingParams(paging));
91
- }
92
- // User Login Notification
93
- userLoginNotification(data) {
94
- return this.api.post(`${USER_LOGIN_NOTIFICATION}`, data);
95
- }
96
- // Customer Satisfaction
97
- feedbackQuestions(subscription_id) {
98
- return this.api.get(`${FEEDBACK_QUESTIONS_PATH}?subscription_id=${subscription_id}`);
99
- }
100
- userFeedbacks(data) {
101
- return this.api.post(`${USER_FEEDBACKS_PATH}`, data);
102
- }
103
- getAllUserFeedbacks(subscription_id, paging) {
104
- return this.api.getWithParams(`${USER_FEEDBACKS_PATH}/get_all`, {
105
- ...HelperService.getPagingParams(paging),
106
- subscription_id
107
- });
108
- }
109
- getAllCustomerSupport(subscription_id, paging) {
110
- return this.api.getWithParams(`${CUSTOMER_SUPPORT_PATH}/get_all?`, {
111
- ...HelperService.getPagingParams(paging),
112
- subscription_id
113
- });
114
- }
115
- postCustomerSupport(data) {
116
- const formData = new FormData();
117
- // eslint-disable-next-line no-restricted-syntax
118
- for (const key in data) {
119
- if (key in data) {
120
- formData.append(key, data[key]);
121
- }
122
- }
123
- return this.api.post(`${CUSTOMER_SUPPORT_PATH}`, formData);
124
- }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonService, deps: [{ token: i1.MainApiHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
126
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonService, providedIn: 'root' }); }
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CommonService, decorators: [{
129
- type: Injectable,
130
- args: [{
131
- providedIn: 'root'
132
- }]
133
- }], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2NvbW1vbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUNILGVBQWUsRUFDZixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQzFCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFLN0QsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBNkIsR0FBdUI7UUFBdkIsUUFBRyxHQUFILEdBQUcsQ0FBb0I7SUFBRyxDQUFDO0lBRXhELG1CQUFtQixDQUFDLElBQUk7UUFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLFVBQVUsRUFBRTtZQUN2RCxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQzNDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFlLEVBQUUsY0FBdUI7UUFDdEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxH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LEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDZCxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBdktRLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEFETUlOX0ZBUVNfUEFUSCxcbiAgICBDT05UQUNUX1VTX1BBVEgsXG4gICAgQ1VTVE9NRVJfU1VQUE9SVF9QQVRILFxuICAgIEZBUVNfUEFUSCxcbiAgICBGRUVEQkFDS19RVUVTVElPTlNfUEFUSCxcbiAgICBHTE9CQUxfQ09ORklHU19QQVRILFxuICAgIEdMT0JBTF9TVUJTQ1JJUFRJT05fQ09ORklHU19QQVRILFxuICAgIElOQ0lERU5UU19QQVRILFxuICAgIElOQ0lERU5UU19QQVRIX0FETUlOLFxuICAgIE5FV1NMRVRURVJfU1VCU0NSSVBUSU9OX1BBVEgsXG4gICAgTkVXU0xFVFRFUl9VTlNVQlNDUklCRV9QQVRILFxuICAgIE5FV1NMRVRURVJTX1BBVEgsXG4gICAgT1JHQU5JWkFUSU9OU19QQVRILFxuICAgIFBhZ2luZyxcbiAgICBVU0VSX0ZFRURCQUNLU19QQVRILFxuICAgIFVTRVJfTE9HSU5fTk9USUZJQ0FUSU9OXG59IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBHZXRGYXFQYXJhbXMgfSBmcm9tICcuL2NvbW1vbi1zZXJ2aWNlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWFpbkFwaUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluLWFwaS1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vblNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBpOiBNYWluQXBpSHR0cFNlcnZpY2UpIHt9XG5cbiAgICBhZGRDb250YWN0VXNNZXNzYWdlKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoQ09OVEFDVF9VU19QQVRILCBkYXRhKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAke0lOQ0lERU5UU19QQVRIfS9nZXRfYWxsYCwge1xuICAgICAgICAgICAgLi4uSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHNBZG1pbihwYWdpbmc/OiBQYWdpbmcsIHN1YnNjcmlwdGlvbklkPzogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAke0lOQ0lERU5UU19QQVRIX0FETUlOfS9nZXRfYWxsYCwge1xuICAgICAgICAgICAgLi4uSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkSW5jaWRlbnQoZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgJHtJTkNJREVOVFNfUEFUSF9BRE1JTn1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICBlZGl0SW5jaWRlbnQoaWQsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnB1dChgJHtJTkNJREVOVFNfUEFUSF9BRE1JTn0vJHtpZH1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudEJ5SWQoaWQ6IG51bWJlciwgc3Vic2NyaXB0aW9uX2lkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7SU5DSURFTlRTX1BBVEhfQURNSU59LyR7aWR9P3N1YnNjcmlwdGlvbl9pZD0ke3N1YnNjcmlwdGlvbl9pZH1gKTtcbiAgICB9XG5cbiAgICBkZWxldGVJbmNpZGVudEFkbWluKGlkOiBudW1iZXIsIHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYCR7SU5DSURFTlRTX1BBVEhfQURNSU59LyR7aWR9P3N1YnNjcmlwdGlvbl9pZD0ke3N1YnNjcmlwdGlvbl9pZH1gKTtcbiAgICB9XG4gICAgLy8gTmV3c2xldHRlcnNcblxuICAgIGdldEFsbE5ld3NsZXR0ZXIocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAke05FV1NMRVRURVJTX1BBVEh9L2dldF9hbGxgLCB7XG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgLi4uSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGVOZXdzbGV0dGVyKG5ld3NsZXR0ZXJJZDogbnVtYmVyLCBwYXJhbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucHV0KGAke05FV1NMRVRURVJfU1VCU0NSSVBUSU9OX1BBVEh9LyR7bmV3c2xldHRlcklkfS90b2dnbGVgLCBwYXJhbSk7XG4gICAgfVxuXG4gICAgdW5zdWJzY3JpYmVOZXdzbGV0dGVyKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgLyR7TkVXU0xFVFRFUl9VTlNVQlNDUklCRV9QQVRIfT90b2tlbj0ke3Rva2VufWApO1xuICAgIH1cblxuICAgIC8vIEZBUVxuXG4gICAgZ2V0RmFxKHBhcmFtczogR2V0RmFxUGFyYW1zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKEFETUlOX0ZBUVNfUEFUSCwgeyAuLi5wYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgZ2V0RmFxQnlJZChpZDogbnVtYmVyLCBzdWJzY3JpcHRpb25faWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7RkFRU19QQVRIfS8ke2lkfWAsIHsgc3Vic2NyaXB0aW9uX2lkIH0pO1xuICAgIH1cbiAgICBnZXRGYXFDYXRlZ29yaWVzKHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGBmYXFzL2F2YWlsYWJsZV9jYXRlZ29yaWVzYCwgeyBzdWJzY3JpcHRpb25faWQgfSk7XG4gICAgfVxuICAgIGdldFB1YmxpY0ZhcShzdWJzY3JpcHRpb25faWQ6IG51bWJlciwgc2VhcmNoX3Rlcm0gPSAnJykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhgJHtGQVFTX1BBVEh9YCwgeyBzdWJzY3JpcHRpb25faWQsIHNlYXJjaF90ZXJtIH0pO1xuICAgIH1cblxuICAgIGdldFB1YmxpY0ZhcUJ5SWQoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke0ZBUVNfUEFUSH0vJHtpZH1gKTtcbiAgICB9XG5cbiAgICAvLyBPcmdhbml6YXRpb25cblxuICAgIGdldE9yZ2FuaXphdGlvblNpemVzKHBhZ2luZz86IFBhZ2luZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhcbiAgICAgICAgICAgIGAke09SR0FOSVpBVElPTlNfUEFUSH0vc2l6ZXMvZ2V0X2FsbGAsXG4gICAgICAgICAgICBIZWxwZXJTZXJ2aWNlLmdldFBhZ2luZ1BhcmFtcyhwYWdpbmcpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0T3JnYW5pemF0aW9uVHlwZXMocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKFxuICAgICAgICAgICAgYCR7T1JHQU5JWkFUSU9OU19QQVRIfS90eXBlcy9nZXRfYWxsYCxcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmdhbml6YXRpb25JbmR1c3RyaWVzKHBhZ2luZz86IFBhZ2luZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhcbiAgICAgICAgICAgIGAke09SR0FOSVpBVElPTlNfUEFUSH0vaW5kdXN0cmllcy9nZXRfYWxsYCxcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRPcmdhbml6YXRpb25EZXBhcnRtZW50cyhwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoXG4gICAgICAgICAgICBgJHtPUkdBTklaQVRJT05TX1BBVEh9L2RlcGFydG1lbnRzL2dldF9hbGxgLFxuICAgICAgICAgICAgSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIEdsb2JhbCBDb25maWdcblxuICAgIGdldEFsbEdsb2JhbFN1YnNjcmlwdGlvbkNvbmZpZ3MocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKFxuICAgICAgICAgICAgYCR7R0xPQkFMX1NVQlNDUklQVElPTl9DT05GSUdTX1BBVEh9L2dldF9hbGw/YCxcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb3N0R2xvYmFsU3Vic2NyaXB0aW9uQ29uZmlnKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYCR7R0xPQkFMX1NVQlNDUklQVElPTl9DT05GSUdTX1BBVEh9YCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZWRpdEdsb2JhbFN1YnNjcmlwdGlvbkNvbmZpZyhpZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAke0dMT0JBTF9TVUJTQ1JJUFRJT05fQ09ORklHU19QQVRIfS8ke2lkfWAsIGRhdGEpO1xuICAgIH1cblxuICAgIGdldEFsbEdsb2JhbENvbmZpZ3MocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKFxuICAgICAgICAgICAgYCR7R0xPQkFMX0NPTkZJR1NfUEFUSH0vZ2V0X2FsbD9gLFxuICAgICAgICAgICAgSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFVzZXIgTG9naW4gTm90aWZpY2F0aW9uXG5cbiAgICB1c2VyTG9naW5Ob3RpZmljYXRpb24oZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgJHtVU0VSX0xPR0lOX05PVElGSUNBVElPTn1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBDdXN0b21lciBTYXRpc2ZhY3Rpb25cblxuICAgIGZlZWRiYWNrUXVlc3Rpb25zKHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7RkVFREJBQ0tfUVVFU1RJT05TX1BBVEh9P3N1YnNjcmlwdGlvbl9pZD0ke3N1YnNjcmlwdGlvbl9pZH1gKTtcbiAgICB9XG5cbiAgICB1c2VyRmVlZGJhY2tzKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYCR7VVNFUl9GRUVEQkFDS1NfUEFUSH1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICBnZXRBbGxVc2VyRmVlZGJhY2tzKHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyLCBwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7VVNFUl9GRUVEQkFDS1NfUEFUSH0vZ2V0X2FsbGAsIHtcbiAgICAgICAgICAgIC4uLkhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZyksXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsQ3VzdG9tZXJTdXBwb3J0KHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyLCBwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7Q1VTVE9NRVJfU1VQUE9SVF9QQVRIfS9nZXRfYWxsP2AsIHtcbiAgICAgICAgICAgIC4uLkhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZyksXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcG9zdEN1c3RvbWVyU3VwcG9ydChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICAgIGlmIChrZXkgaW4gZGF0YSkge1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIGRhdGFba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgJHtDVVNUT01FUl9TVVBQT1JUX1BBVEh9YCwgZm9ybURhdGEpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { of, timer } from 'rxjs';
4
- import { mergeMap } from 'rxjs/operators';
5
- import { PermissionService } from './permission.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./permission.service";
8
- import * as i2 from "@angular/router";
9
- export class CustomPreloadingStrategy {
10
- constructor(permission, router) {
11
- this.permission = permission;
12
- this.router = router;
13
- }
14
- preload(route, load) {
15
- // Skip preloading if we're on the landing page (root path)
16
- if (this.router.url === '/' || this.router.url === '') {
17
- console.log('🚫 Skipping preload for route:', route.path, '- on landing page');
18
- return of(null);
19
- }
20
- const loadRoute = delay => (delay ? timer(5000).pipe(mergeMap(_ => load())) : load());
21
- return route.data && this.checkModulePermission(route.data)
22
- ? loadRoute(route.data['delay'])
23
- : of(null);
24
- }
25
- checkModulePermission(routeData) {
26
- const ret = routeData.preload && this.permission.isGranted(routeData.permission);
27
- return ret;
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomPreloadingStrategy, deps: [{ token: i1.PermissionService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomPreloadingStrategy, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CustomPreloadingStrategy, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }], ctorParameters: () => [{ type: i1.PermissionService }, { type: i2.Router }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXByZWxvYWRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvY3VzdG9tLXByZWxvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBNkIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEUsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBS3pELE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsWUFDcUIsVUFBNkIsRUFDN0IsTUFBYztRQURkLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDaEMsQ0FBQztJQUVKLE9BQU8sQ0FBQyxLQUFZLEVBQUUsSUFBOEI7UUFDaEQsMkRBQTJEO1FBQzNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9FLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0RixPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFNBQVM7UUFDbkMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakYsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOytHQXhCUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJlbG9hZGluZ1N0cmF0ZWd5LCBSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tUHJlbG9hZGluZ1N0cmF0ZWd5IGltcGxlbWVudHMgUHJlbG9hZGluZ1N0cmF0ZWd5IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIHByZWxvYWQocm91dGU6IFJvdXRlLCBsb2FkOiAoKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICAvLyBTa2lwIHByZWxvYWRpbmcgaWYgd2UncmUgb24gdGhlIGxhbmRpbmcgcGFnZSAocm9vdCBwYXRoKVxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIudXJsID09PSAnLycgfHwgdGhpcy5yb3V0ZXIudXJsID09PSAnJykge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ/CfmqsgU2tpcHBpbmcgcHJlbG9hZCBmb3Igcm91dGU6Jywgcm91dGUucGF0aCwgJy0gb24gbGFuZGluZyBwYWdlJyk7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2FkUm91dGUgPSBkZWxheSA9PiAoZGVsYXkgPyB0aW1lcig1MDAwKS5waXBlKG1lcmdlTWFwKF8gPT4gbG9hZCgpKSkgOiBsb2FkKCkpO1xuXG4gICAgICAgIHJldHVybiByb3V0ZS5kYXRhICYmIHRoaXMuY2hlY2tNb2R1bGVQZXJtaXNzaW9uKHJvdXRlLmRhdGEpXG4gICAgICAgICAgICA/IGxvYWRSb3V0ZShyb3V0ZS5kYXRhWydkZWxheSddKVxuICAgICAgICAgICAgOiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrTW9kdWxlUGVybWlzc2lvbihyb3V0ZURhdGEpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gcm91dGVEYXRhLnByZWxvYWQgJiYgdGhpcy5wZXJtaXNzaW9uLmlzR3JhbnRlZChyb3V0ZURhdGEucGVybWlzc2lvbik7XG5cbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { MainApiHttpService } from './main-api-http.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./main-api-http.service";
5
- export class DashboardService {
6
- constructor(api) {
7
- this.api = api;
8
- }
9
- search(keyword, subscriptionId) {
10
- return this.api.get(`/search/global_search?search_term=${keyword}&subscription_id=${subscriptionId}`);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DashboardService, deps: [{ token: i1.MainApiHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DashboardService, providedIn: 'root' }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DashboardService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root'
19
- }]
20
- }], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2Rhc2hib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO0lBQUcsQ0FBQztJQUV4RCxNQUFNLENBQUMsT0FBZSxFQUFFLGNBQXNCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQ2YscUNBQXFDLE9BQU8sb0JBQW9CLGNBQWMsRUFBRSxDQUNuRixDQUFDO0lBQ04sQ0FBQzsrR0FQUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1haW5BcGlIdHRwU2VydmljZSB9IGZyb20gJy4vbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwaTogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgc2VhcmNoKGtleXdvcmQ6IHN0cmluZywgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KFxuICAgICAgICAgICAgYC9zZWFyY2gvZ2xvYmFsX3NlYXJjaD9zZWFyY2hfdGVybT0ke2tleXdvcmR9JnN1YnNjcmlwdGlvbl9pZD0ke3N1YnNjcmlwdGlvbklkfWBcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class DataService {
5
- constructor() {
6
- this.messageSource = new BehaviorSubject(0);
7
- this.currentMessage = this.messageSource.asObservable();
8
- }
9
- changeMessage(message) {
10
- this.messageSource.next(message);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, providedIn: 'root' }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root'
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sV0FBVztJQUh4QjtRQUlxQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRWhFLG1CQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQUt0RDtJQUhHLGFBQWEsQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBUFEsV0FBVzttSEFBWCxXQUFXLGNBRlIsTUFBTTs7NEZBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICBjdXJyZW50TWVzc2FnZSA9IHRoaXMubWVzc2FnZVNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIGNoYW5nZU1lc3NhZ2UobWVzc2FnZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNvdXJjZS5uZXh0KG1lc3NhZ2UpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import isNumber from 'lodash/isNumber';
3
- import moment from 'moment';
4
- import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
5
- import * as i0 from "@angular/core";
6
- function padNumber(value) {
7
- if (isNumber(value)) {
8
- return `0${value}`.slice(-2);
9
- }
10
- return '';
11
- }
12
- export class NgbDateCustomParserFormatter extends NgbDateParserFormatter {
13
- constructor() {
14
- super(...arguments);
15
- this.DELIMITER = '-';
16
- }
17
- parse(value) {
18
- if (value) {
19
- const date = value.trim().split(this.DELIMITER);
20
- const hasNumber = /\d/;
21
- if (!date[1]) {
22
- return null;
23
- }
24
- // convert month name to number
25
- const month = date[1] ? moment().month(date[1]).format('M') : '';
26
- // title case
27
- const str = date[1]
28
- .split(' ')
29
- .map(([firstChar, ...rest]) => firstChar.toUpperCase() + rest.join('').toLowerCase())
30
- .join(' ');
31
- if (!month || hasNumber.test(date[1]) || !moment.monthsShort().includes(str)) {
32
- return null;
33
- }
34
- return {
35
- day: Number.parseInt(date[0], 10),
36
- month: Number.parseInt(month, 10),
37
- year: Number.parseInt(date[2], 10)
38
- };
39
- }
40
- return null;
41
- }
42
- format(date) {
43
- const monthNames = [
44
- '',
45
- 'Jan',
46
- 'Feb',
47
- 'Mar',
48
- 'Apr',
49
- 'May',
50
- 'Jun',
51
- 'Jul',
52
- 'Aug',
53
- 'Sep',
54
- 'Oct',
55
- 'Nov',
56
- 'Dec'
57
- ];
58
- if (!date) {
59
- return '';
60
- }
61
- const day = isNumber(date.day) ? padNumber(date.day) : '';
62
- const month = isNumber(date.month) ? monthNames[date.month] : '';
63
- const year = date.year;
64
- return `${day}-${month}-${year}`;
65
- }
66
- dateFormatForPicker(date) {
67
- return {
68
- year: Number(date.substring(0, 4)),
69
- month: Number(date.substring(5, 7)),
70
- day: Number(date.substring(8, 10))
71
- };
72
- }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgbDateCustomParserFormatter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
74
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgbDateCustomParserFormatter, providedIn: 'root' }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgbDateCustomParserFormatter, decorators: [{
77
- type: Injectable,
78
- args: [{
79
- providedIn: 'root'
80
- }]
81
- }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXR0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvZGF0ZS1mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sUUFBUSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsc0JBQXNCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7O0FBRW5GLFNBQVMsU0FBUyxDQUFDLEtBQWE7SUFDNUIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixPQUFPLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUtELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxzQkFBc0I7SUFIeEU7O1FBSXFCLGNBQVMsR0FBRyxHQUFHLENBQUM7S0FpRXBDO0lBL0RHLEtBQUssQ0FBQyxLQUFhO1FBQ2YsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELCtCQUErQjtZQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRSxhQUFhO1lBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDZCxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FDQSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNsRjtpQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNFLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPO2dCQUNILEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDckMsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQW1CO1FBQ3RCLE1BQU0sVUFBVSxHQUFHO1lBQ2YsRUFBRTtZQUNGLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsT0FBTyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDNUIsT0FBTztZQUNILElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDLENBQUM7SUFDTixDQUFDOytHQWpFUSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzs0RkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgaXNOdW1iZXIgZnJvbSAnbG9kYXNoL2lzTnVtYmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgTmdiRGF0ZVN0cnVjdCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuZnVuY3Rpb24gcGFkTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBgMCR7dmFsdWV9YC5zbGljZSgtMik7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5nYkRhdGVDdXN0b21QYXJzZXJGb3JtYXR0ZXIgZXh0ZW5kcyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IERFTElNSVRFUiA9ICctJztcblxuICAgIHBhcnNlKHZhbHVlOiBzdHJpbmcpOiBOZ2JEYXRlU3RydWN0IHwgbnVsbCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHZhbHVlLnRyaW0oKS5zcGxpdCh0aGlzLkRFTElNSVRFUik7XG4gICAgICAgICAgICBjb25zdCBoYXNOdW1iZXIgPSAvXFxkLztcbiAgICAgICAgICAgIGlmICghZGF0ZVsxXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29udmVydCBtb250aCBuYW1lIHRvIG51bWJlclxuICAgICAgICAgICAgY29uc3QgbW9udGggPSBkYXRlWzFdID8gbW9tZW50KCkubW9udGgoZGF0ZVsxXSkuZm9ybWF0KCdNJykgOiAnJztcbiAgICAgICAgICAgIC8vIHRpdGxlIGNhc2VcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGRhdGVbMV1cbiAgICAgICAgICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgIChbZmlyc3RDaGFyLCAuLi5yZXN0XSkgPT4gZmlyc3RDaGFyLnRvVXBwZXJDYXNlKCkgKyByZXN0LmpvaW4oJycpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgICAgICAgIGlmICghbW9udGggfHwgaGFzTnVtYmVyLnRlc3QoZGF0ZVsxXSkgfHwgIW1vbWVudC5tb250aHNTaG9ydCgpLmluY2x1ZGVzKHN0cikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGF5OiBOdW1iZXIucGFyc2VJbnQoZGF0ZVswXSwgMTApLFxuICAgICAgICAgICAgICAgIG1vbnRoOiBOdW1iZXIucGFyc2VJbnQobW9udGgsIDEwKSxcbiAgICAgICAgICAgICAgICB5ZWFyOiBOdW1iZXIucGFyc2VJbnQoZGF0ZVsyXSwgMTApXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZm9ybWF0KGRhdGU6IE5nYkRhdGVTdHJ1Y3QpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtb250aE5hbWVzID0gW1xuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAnSmFuJyxcbiAgICAgICAgICAgICdGZWInLFxuICAgICAgICAgICAgJ01hcicsXG4gICAgICAgICAgICAnQXByJyxcbiAgICAgICAgICAgICdNYXknLFxuICAgICAgICAgICAgJ0p1bicsXG4gICAgICAgICAgICAnSnVsJyxcbiAgICAgICAgICAgICdBdWcnLFxuICAgICAgICAgICAgJ1NlcCcsXG4gICAgICAgICAgICAnT2N0JyxcbiAgICAgICAgICAgICdOb3YnLFxuICAgICAgICAgICAgJ0RlYydcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRheSA9IGlzTnVtYmVyKGRhdGUuZGF5KSA/IHBhZE51bWJlcihkYXRlLmRheSkgOiAnJztcbiAgICAgICAgY29uc3QgbW9udGggPSBpc051bWJlcihkYXRlLm1vbnRoKSA/IG1vbnRoTmFtZXNbZGF0ZS5tb250aF0gOiAnJztcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUueWVhcjtcbiAgICAgICAgcmV0dXJuIGAke2RheX0tJHttb250aH0tJHt5ZWFyfWA7XG4gICAgfVxuXG4gICAgZGF0ZUZvcm1hdEZvclBpY2tlcihkYXRlOiBzdHJpbmcpOiBOZ2JEYXRlU3RydWN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHllYXI6IE51bWJlcihkYXRlLnN1YnN0cmluZygwLCA0KSksXG4gICAgICAgICAgICBtb250aDogTnVtYmVyKGRhdGUuc3Vic3RyaW5nKDUsIDcpKSxcbiAgICAgICAgICAgIGRheTogTnVtYmVyKGRhdGUuc3Vic3RyaW5nKDgsIDEwKSlcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { SetUser, UserActionTypes } from '@posiwise/app-store';
3
- import { map, mergeMap } from 'rxjs/operators';
4
- import { Actions, createEffect, ofType } from '@ngrx/effects';
5
- import { UserService } from '../user.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../user.service";
8
- /* NgRx */
9
- export class UserEffects {
10
- constructor(userService) {
11
- this.userService = userService;
12
- this.actions$ = inject(Actions);
13
- this.loadUser$ = createEffect(() => {
14
- return this.actions$.pipe(ofType(UserActionTypes.GET_USER),
15
- // take(1),
16
- mergeMap(() => this.userService.getUserInfo().pipe(map(response => new SetUser(response))
17
- // catchError(err => of(new userActions.LoadFail(err)))
18
- )));
19
- });
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UserEffects, deps: [{ token: i1.UserService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UserEffects }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UserEffects, decorators: [{
25
- type: Injectable
26
- }], ctorParameters: () => [{ type: i1.UserService }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9lZmZlY3RzL3VzZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRTlDLFVBQVU7QUFFVixNQUFNLE9BQU8sV0FBVztJQUVwQixZQUE2QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQURwQyxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRzVDLGNBQVMsR0FBdUIsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxXQUFXO1lBQ1gsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0Qyx1REFBdUQ7YUFDMUQsQ0FDSixDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQWJxRCxDQUFDOytHQUZoRCxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2V0VXNlciwgVXNlckFjdGlvblR5cGVzIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci5zZXJ2aWNlJztcblxuLyogTmdSeCAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJFZmZlY3RzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7fVxuXG4gICAgbG9hZFVzZXIkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICAgICAgb2ZUeXBlKFVzZXJBY3Rpb25UeXBlcy5HRVRfVVNFUiksXG4gICAgICAgICAgICAvLyB0YWtlKDEpLFxuICAgICAgICAgICAgbWVyZ2VNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXJJbmZvKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IG5ldyBTZXRVc2VyKHJlc3BvbnNlKSlcbiAgICAgICAgICAgICAgICAgICAgLy8gY2F0Y2hFcnJvcihlcnIgPT4gb2YobmV3IHVzZXJBY3Rpb25zLkxvYWRGYWlsKGVycikpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9KTtcbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
2
- export class FormHelperService {
3
- static markFormAsPristine(form) {
4
- form.markAsPristine();
5
- form.markAsUntouched();
6
- }
7
- static markAsTouched(form) {
8
- /* eslint-disable no-restricted-syntax */
9
- /* eslint-disable guard-for-in */
10
- for (const i in form.form.controls) {
11
- form.form.controls[i]['touched'] = true;
12
- }
13
- }
14
- static validateAllFormFields(form) {
15
- Object.keys(form.controls).forEach(field => {
16
- const control = form.get(field);
17
- if (control instanceof UntypedFormControl) {
18
- control.markAsTouched();
19
- control.updateValueAndValidity();
20
- }
21
- else if (control instanceof UntypedFormGroup) {
22
- this.validateAllFormFields(control);
23
- }
24
- });
25
- }
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvZm9ybS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBNkQ7UUFDbkYsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJO1FBQ3JCLHlDQUF5QztRQUN6QyxpQ0FBaUM7UUFDakMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksT0FBTyxZQUFZLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDckMsQ0FBQztpQkFBTSxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtSGVscGVyU2VydmljZSB7XG4gICAgc3RhdGljIG1hcmtGb3JtQXNQcmlzdGluZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgVW50eXBlZEZvcm1Db250cm9sIHwgQWJzdHJhY3RDb250cm9sKSB7XG4gICAgICAgIGZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgZm9ybS5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbWFya0FzVG91Y2hlZChmb3JtKSB7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIGd1YXJkLWZvci1pbiAqL1xuICAgICAgICBmb3IgKGNvbnN0IGkgaW4gZm9ybS5mb3JtLmNvbnRyb2xzKSB7XG4gICAgICAgICAgICBmb3JtLmZvcm0uY29udHJvbHNbaV1bJ3RvdWNoZWQnXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm0pOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQoZmllbGQpO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { GEO_PATH } from '@posiwise/common-utilities';
3
- import { CookieService } from 'ngx-cookie';
4
- import { of } from 'rxjs';
5
- import { tap } from 'rxjs/operators';
6
- import { MainApiHttpService } from './main-api-http.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./main-api-http.service";
9
- import * as i2 from "ngx-cookie";
10
- export class GeoService {
11
- constructor(api, cookieService) {
12
- this.api = api;
13
- this.cookieService = cookieService;
14
- this.url = GEO_PATH;
15
- }
16
- getCountries() {
17
- return this.api.get(`${this.url}/countries`);
18
- }
19
- getRegions(countryId) {
20
- return this.api.get(`${this.url}/regions/${countryId}`);
21
- }
22
- getCountryFromIP() {
23
- // Cache the location details
24
- if (this.cookieService.get('location_from_ip')) {
25
- return of(JSON.parse(this.cookieService.get('location_from_ip')));
26
- }
27
- return this.api.get(`${this.url}/location_from_ip`).pipe(tap((data) => {
28
- return this.cookieService.putObject('location_from_ip', data);
29
- }));
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoService, deps: [{ token: i1.MainApiHttpService }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoService, providedIn: 'root' }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoService, decorators: [{
35
- type: Injectable,
36
- args: [{
37
- providedIn: 'root'
38
- }]
39
- }], ctorParameters: () => [{ type: i1.MainApiHttpService }, { type: i2.CookieService }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2dlby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFLN0QsTUFBTSxPQUFPLFVBQVU7SUFHbkIsWUFDcUIsR0FBdUIsRUFDdkIsYUFBNEI7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBb0I7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFKaEMsUUFBRyxHQUFHLFFBQVEsQ0FBQztJQUs3QixDQUFDO0lBRUosWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLFlBQVksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDcEQsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzsrR0EzQlEsVUFBVTttSEFBVixVQUFVLGNBRlAsTUFBTTs7NEZBRVQsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdFT19QQVRIIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNYWluQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR2VvU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmwgPSBHRU9fUEFUSDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFwaTogTWFpbkFwaUh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBnZXRDb3VudHJpZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7dGhpcy51cmx9L2NvdW50cmllc2ApO1xuICAgIH1cblxuICAgIGdldFJlZ2lvbnMoY291bnRyeUlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7dGhpcy51cmx9L3JlZ2lvbnMvJHtjb3VudHJ5SWR9YCk7XG4gICAgfVxuXG4gICAgZ2V0Q291bnRyeUZyb21JUCgpIHtcbiAgICAgICAgLy8gQ2FjaGUgdGhlIGxvY2F0aW9uIGRldGFpbHNcbiAgICAgICAgaWYgKHRoaXMuY29va2llU2VydmljZS5nZXQoJ2xvY2F0aW9uX2Zyb21faXAnKSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKEpTT04ucGFyc2UodGhpcy5jb29raWVTZXJ2aWNlLmdldCgnbG9jYXRpb25fZnJvbV9pcCcpKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke3RoaXMudXJsfS9sb2NhdGlvbl9mcm9tX2lwYCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoZGF0YTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29va2llU2VydmljZS5wdXRPYmplY3QoJ2xvY2F0aW9uX2Zyb21faXAnLCBkYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1,121 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { AppConfigService } from '@posiwise/app-config-service';
4
- import { ScriptLoaderService } from './script-loader.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "./script-loader.service";
8
- import * as i3 from "@posiwise/app-config-service";
9
- export class GoogleAnalyticsService {
10
- constructor(router, scriptLoader, appConfigService) {
11
- this.router = router;
12
- this.scriptLoader = scriptLoader;
13
- this.appConfigService = appConfigService;
14
- }
15
- isGaAvailable() {
16
- return typeof window.ga !== 'undefined';
17
- }
18
- loadGScript() {
19
- return new Promise((resolve, reject) => {
20
- if (this.isGaAvailable()) {
21
- resolve(); // GA is already loaded, no need to load again.
22
- return;
23
- }
24
- this.appConfigService.appConfig$.subscribe(config => {
25
- this.scriptLoader
26
- .loadScript('head', 'https://www.google-analytics.com/analytics.js', true)
27
- .then(() => {
28
- this.pushArgumentsGA();
29
- window.ga.l = Date.now();
30
- GoogleAnalyticsService.trackingId = config.integrations.google_analytics;
31
- window.ga('create', GoogleAnalyticsService.trackingId, 'auto');
32
- resolve(); // Resolve the promise once the script is loaded and ga is initialized
33
- })
34
- .catch(error => {
35
- console.error('Error loading Google Analytics script:', error);
36
- reject(error instanceof Error ? error : new Error(error));
37
- });
38
- });
39
- });
40
- }
41
- pushArgumentsGA() {
42
- if (typeof window.ga === 'undefined') {
43
- window.ga = function (...args) {
44
- window.ga.q ??= [];
45
- window.ga.q.push(args);
46
- };
47
- window.ga.q = [];
48
- window.ga.l = +new Date();
49
- }
50
- }
51
- addOneTimeTrackingListeners(url) {
52
- const handler = () => {
53
- if (this.isGaAvailable()) {
54
- window.ga('set', 'page', url);
55
- window.ga('send', 'pageview');
56
- }
57
- };
58
- ['mousemove', 'scroll', 'touchstart'].forEach(eventName => {
59
- window.addEventListener(eventName, handler, { once: true });
60
- });
61
- }
62
- subscribe() {
63
- this.subscription ??= this.router.events.subscribe(e => {
64
- if (e instanceof NavigationEnd) {
65
- // Ensure that the Google Analytics script is loaded before using the ga function
66
- this.loadGScript().then(() => {
67
- try {
68
- this.addOneTimeTrackingListeners(e.urlAfterRedirects);
69
- }
70
- catch {
71
- console.error('Tracking not found -- make sure you installed the scripts');
72
- }
73
- });
74
- }
75
- });
76
- }
77
- /**
78
- * Emit google analytics event
79
- * Fire event example:
80
- * this.sendEvent("testCategory", "testAction", "testLabel", 10);
81
- * @param {string} eventCategory
82
- * @param {string} eventAction
83
- * @param {string} eventLabel
84
- * @param {number} eventValue
85
- */
86
- sendEvent(eventCategory, eventAction, eventLabel = null, eventValue = null) {
87
- if (this.isGaAvailable()) {
88
- window.ga('send', 'event', {
89
- eventCategory,
90
- eventAction,
91
- eventLabel,
92
- eventValue
93
- });
94
- }
95
- else {
96
- console.error('Google Analytics tracking not available.');
97
- }
98
- }
99
- /**
100
- * Enable UserId Tracking for Google Analytics
101
- * @param user
102
- */
103
- setUserContext(user) {
104
- if (GoogleAnalyticsService.trackingId) {
105
- if (this.isGaAvailable()) {
106
- window.ga('set', 'userId', user?.id);
107
- }
108
- }
109
- }
110
- unsubscribe() {
111
- if (this.subscription) {
112
- this.subscription.unsubscribe();
113
- }
114
- }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GoogleAnalyticsService, deps: [{ token: i1.Router }, { token: i2.ScriptLoaderService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GoogleAnalyticsService }); }
117
- }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GoogleAnalyticsService, decorators: [{
119
- type: Injectable
120
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ScriptLoaderService }, { type: i3.AppConfigService }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVU5RCxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQ3FCLE1BQWMsRUFDZCxZQUFpQyxFQUNqQyxnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3BELENBQUM7SUFFSSxhQUFhO1FBQ2pCLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7Z0JBQzFELE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxZQUFZO3FCQUNaLFVBQVUsQ0FBQyxNQUFNLEVBQUUsK0NBQStDLEVBQUUsSUFBSSxDQUFDO3FCQUN6RSxJQUFJLENBQUMs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QUFxQixJQUFJO1FBRXpCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFO2dCQUN2QixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsVUFBVTtnQkFDVixVQUFVO2FBQ2IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksc0JBQXNCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4SFEsc0JBQXNCO21IQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1jb25maWctc2VydmljZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY3JpcHRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGdhOiBhbnk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR29vZ2xlQW5hbHl0aWNzU2VydmljZSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgdHJhY2tpbmdJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRMb2FkZXI6IFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIHByaXZhdGUgaXNHYUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cuZ2EgIT09ICd1bmRlZmluZWQnO1xuICAgIH1cblxuICAgIGxvYWRHU2NyaXB0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBHQSBpcyBhbHJlYWR5IGxvYWRlZCwgbm8gbmVlZCB0byBsb2FkIGFnYWluLlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYXBwQ29uZmlnU2VydmljZS5hcHBDb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkU2NyaXB0KCdoZWFkJywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsIHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHVzaEFyZ3VtZW50c0dBKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2EubCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBHb29nbGVBbmFseXRpY3NTZXJ2aWNlLnRyYWNraW5nSWQgPSBjb25maWcuaW50ZWdyYXRpb25zLmdvb2dsZV9hbmFseXRpY3M7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2EoJ2NyZWF0ZScsIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UudHJhY2tpbmdJZCwgJ2F1dG8nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsgLy8gUmVzb2x2ZSB0aGUgcHJvbWlzZSBvbmNlIHRoZSBzY3JpcHQgaXMgbG9hZGVkIGFuZCBnYSBpcyBpbml0aWFsaXplZFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBHb29nbGUgQW5hbHl0aWNzIHNjcmlwdDonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1c2hBcmd1bWVudHNHQSgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZ2EgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB3aW5kb3cuZ2EgPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYS5xID8/PSBbXTtcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2EucS5wdXNoKGFyZ3MpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHdpbmRvdy5nYS5xID0gW107XG4gICAgICAgICAgICB3aW5kb3cuZ2EubCA9ICtuZXcgRGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRPbmVUaW1lVHJhY2tpbmdMaXN0ZW5lcnModXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2V0JywgJ3BhZ2UnLCB1cmwpO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2VuZCcsICdwYWdldmlldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIFsnbW91c2Vtb3ZlJywgJ3Njcm9sbCcsICd0b3VjaHN0YXJ0J10uZm9yRWFjaChldmVudE5hbWUgPT4ge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPz89IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgR29vZ2xlIEFuYWx5dGljcyBzY3JpcHQgaXMgbG9hZGVkIGJlZm9yZSB1c2luZyB0aGUgZ2EgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRHU2NyaXB0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE9uZVRpbWVUcmFja2luZ0xpc3RlbmVycyhlLnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUcmFja2luZyBub3QgZm91bmQgLS0gbWFrZSBzdXJlIHlvdSBpbnN0YWxsZWQgdGhlIHNjcmlwdHMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbWl0IGdvb2dsZSBhbmFseXRpY3MgZXZlbnRcbiAgICAgKiBGaXJlIGV2ZW50IGV4YW1wbGU6XG4gICAgICogdGhpcy5zZW5kRXZlbnQoXCJ0ZXN0Q2F0ZWdvcnlcIiwgXCJ0ZXN0QWN0aW9uXCIsIFwidGVzdExhYmVsXCIsIDEwKTtcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRDYXRlZ29yeVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudEFjdGlvblxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudExhYmVsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGV2ZW50VmFsdWVcbiAgICAgKi9cbiAgICBzZW5kRXZlbnQoXG4gICAgICAgIGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgICAgZXZlbnRBY3Rpb246IHN0cmluZyxcbiAgICAgICAgZXZlbnRMYWJlbDogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgZXZlbnRWYWx1ZTogbnVtYmVyID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgIHdpbmRvdy5nYSgnc2VuZCcsICdldmVudCcsIHtcbiAgICAgICAgICAgICAgICBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgICAgIGV2ZW50QWN0aW9uLFxuICAgICAgICAgICAgICAgIGV2ZW50TGFiZWwsXG4gICAgICAgICAgICAgICAgZXZlbnRWYWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdHb29nbGUgQW5hbHl0aWNzIHRyYWNraW5nIG5vdCBhdmFpbGFibGUuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgVXNlcklkIFRyYWNraW5nIGZvciBHb29nbGUgQW5hbHl0aWNzXG4gICAgICogQHBhcmFtIHVzZXJcbiAgICAgKi9cbiAgICBzZXRVc2VyQ29udGV4dCh1c2VyKSB7XG4gICAgICAgIGlmIChHb29nbGVBbmFseXRpY3NTZXJ2aWNlLnRyYWNraW5nSWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2V0JywgJ3VzZXJJZCcsIHVzZXI/LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=