@igo2/core 21.0.0-next.29 → 21.0.0-next.30
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/fesm2022/igo2-core-activity.mjs +10 -10
- package/fesm2022/igo2-core-activity.mjs.map +1 -1
- package/fesm2022/igo2-core-analytics.mjs +3 -3
- package/fesm2022/igo2-core-analytics.mjs.map +1 -1
- package/fesm2022/igo2-core-auth.mjs.map +1 -1
- package/fesm2022/igo2-core-config.mjs +9 -9
- package/fesm2022/igo2-core-config.mjs.map +1 -1
- package/fesm2022/igo2-core-language.mjs +7 -7
- package/fesm2022/igo2-core-language.mjs.map +1 -1
- package/fesm2022/igo2-core-media.mjs +3 -3
- package/fesm2022/igo2-core-media.mjs.map +1 -1
- package/fesm2022/igo2-core-message.mjs +12 -12
- package/fesm2022/igo2-core-message.mjs.map +1 -1
- package/fesm2022/igo2-core-monitoring.mjs.map +1 -1
- package/fesm2022/igo2-core-network.mjs +3 -3
- package/fesm2022/igo2-core-network.mjs.map +1 -1
- package/fesm2022/igo2-core-regex.mjs +3 -3
- package/fesm2022/igo2-core-regex.mjs.map +1 -1
- package/fesm2022/igo2-core-request.mjs +14 -14
- package/fesm2022/igo2-core-request.mjs.map +1 -1
- package/fesm2022/igo2-core-route.mjs +3 -3
- package/fesm2022/igo2-core-route.mjs.map +1 -1
- package/fesm2022/igo2-core-storage.mjs +3 -3
- package/fesm2022/igo2-core-storage.mjs.map +1 -1
- package/fesm2022/igo2-core.mjs +4 -4
- package/fesm2022/igo2-core.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -22,10 +22,10 @@ class ActivityService {
|
|
|
22
22
|
this.ids.splice(index, 1);
|
|
23
23
|
this.counter$.next(this.ids.length);
|
|
24
24
|
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
26
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityService, providedIn: 'root' });
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityService, decorators: [{
|
|
29
29
|
type: Injectable,
|
|
30
30
|
args: [{
|
|
31
31
|
providedIn: 'root'
|
|
@@ -49,10 +49,10 @@ class ActivityInterceptor {
|
|
|
49
49
|
this.activityService.unregister(id);
|
|
50
50
|
}));
|
|
51
51
|
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
53
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityInterceptor });
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ActivityInterceptor, decorators: [{
|
|
56
56
|
type: Injectable
|
|
57
57
|
}] });
|
|
58
58
|
|
|
@@ -69,11 +69,11 @@ class IgoActivityModule {
|
|
|
69
69
|
]
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
73
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
74
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoActivityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
73
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoActivityModule });
|
|
74
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoActivityModule });
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoActivityModule, decorators: [{
|
|
77
77
|
type: NgModule,
|
|
78
78
|
args: [{
|
|
79
79
|
imports: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-activity.mjs","sources":["../../../packages/core/activity/src/activity.service.ts","../../../packages/core/activity/src/activity.interceptor.ts","../../../packages/core/activity/src/activity.module.ts","../../../packages/core/activity/src/igo2-core-activity.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { uuid } from '@igo2/utils';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActivityService {\n public counter$ = new BehaviorSubject<number>(0);\n\n private ids: string[] = [];\n\n register(): string {\n const id = uuid();\n this.ids.push(id);\n this.counter$.next(this.ids.length);\n\n return id;\n }\n\n unregister(id: string) {\n const index = this.ids.indexOf(id);\n if (index === -1) {\n return;\n }\n this.ids.splice(index, 1);\n\n this.counter$.next(this.ids.length);\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nimport { ActivityService } from './activity.service';\n\n@Injectable()\nexport class ActivityInterceptor implements HttpInterceptor {\n private activityService = inject(ActivityService);\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const activity = req.headers.get('activityInterceptor');\n if (activity) {\n const actReq = req.clone({\n headers: req.headers.delete('activityInterceptor')\n });\n if (activity === 'false') {\n return next.handle(actReq);\n }\n }\n\n const id = this.activityService.register();\n\n return next.handle(req).pipe(\n finalize(() => {\n this.activityService.unregister(id);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ActivityInterceptor } from './activity.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoActivityModule {\n static forRoot(): ModuleWithProviders<IgoActivityModule> {\n return {\n ngModule: IgoActivityModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ActivityInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-activity.mjs","sources":["../../../packages/core/activity/src/activity.service.ts","../../../packages/core/activity/src/activity.interceptor.ts","../../../packages/core/activity/src/activity.module.ts","../../../packages/core/activity/src/igo2-core-activity.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { uuid } from '@igo2/utils';\n\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActivityService {\n public counter$ = new BehaviorSubject<number>(0);\n\n private ids: string[] = [];\n\n register(): string {\n const id = uuid();\n this.ids.push(id);\n this.counter$.next(this.ids.length);\n\n return id;\n }\n\n unregister(id: string) {\n const index = this.ids.indexOf(id);\n if (index === -1) {\n return;\n }\n this.ids.splice(index, 1);\n\n this.counter$.next(this.ids.length);\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nimport { ActivityService } from './activity.service';\n\n@Injectable()\nexport class ActivityInterceptor implements HttpInterceptor {\n private activityService = inject(ActivityService);\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const activity = req.headers.get('activityInterceptor');\n if (activity) {\n const actReq = req.clone({\n headers: req.headers.delete('activityInterceptor')\n });\n if (activity === 'false') {\n return next.handle(actReq);\n }\n }\n\n const id = this.activityService.register();\n\n return next.handle(req).pipe(\n finalize(() => {\n this.activityService.unregister(id);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ActivityInterceptor } from './activity.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoActivityModule {\n static forRoot(): ModuleWithProviders<IgoActivityModule> {\n return {\n ngModule: IgoActivityModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ActivityInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -75,10 +75,10 @@ class AnalyticsService {
|
|
|
75
75
|
if (this.options.provider === 'matomo')
|
|
76
76
|
this.paq.push(['trackEvent', category, action, parameters]);
|
|
77
77
|
}
|
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
79
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsService, providedIn: 'root' });
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{
|
|
84
84
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-analytics.mjs","sources":["../../../packages/core/analytics/src/analytics.service.ts","../../../packages/core/analytics/src/igo2-core-analytics.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { AnalyticsBaseUser, AnalyticsOptions } from './analytics.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsService {\n private config = inject(ConfigService);\n\n private options: AnalyticsOptions;\n\n get paq() {\n return ((window as any)._paq = (window as any)._paq || []);\n }\n\n constructor() {\n this.options = this.config.getConfig('analytics') || {};\n\n if (this.options.provider === 'matomo') {\n this.initMatomo();\n }\n }\n\n private initMatomo() {\n if (!this.options.url || !this.options.id) {\n return;\n }\n const url =\n this.options.url.substr(-1) === '/'\n ? this.options.url + 'matomo'\n : this.options.url;\n\n // this.paq.push(['trackPageView']);\n // this.paq.push(['enableLinkTracking']);\n (() => {\n this.paq.push(['setTrackerUrl', url + '.php']);\n this.paq.push(['setSiteId', this.options.id]);\n this.paq.push(['setSecureCookie', location.protocol === 'https:']);\n const g = document.createElement('script');\n const s = document.getElementsByTagName('script')[0];\n g.type = 'text/javascript';\n g.async = true;\n g.defer = true;\n g.src = url + '.js';\n s.parentNode?.insertBefore(g, s);\n })();\n }\n\n /**\n * Pass `null` to unset the user.\n */\n public setUser(user: AnalyticsBaseUser | null, profils?: string[]) {\n if (this.options.provider === 'matomo') {\n if (!user) {\n this.paq.push(['resetUserId']);\n this.paq.push(['deleteCustomVariable', 1, 'user']);\n this.paq.push(['deleteCustomVariable', 2, 'name']);\n this.paq.push(['deleteCustomVariable', 3, 'profils']);\n } else {\n this.paq.push(['setUserId', user.id]);\n\n const name = `${user.firstName} ${user.lastName}`;\n this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);\n this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);\n this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);\n }\n\n this.paq.push(['trackPageView']);\n this.paq.push(['enableLinkTracking']);\n }\n }\n\n public trackSearch(term: string, nbResults: number) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackSiteSearch', term, false, nbResults]);\n }\n }\n\n public trackEvent(category: string, action: string, name: string) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackEvent', category, action, name]);\n }\n }\n\n /**\n * Function that tracks layers added to the map\n */\n public trackLayer(category: string, action: string, parameters: any) {\n if (this.options.provider === 'matomo')\n this.paq.push(['trackEvent', category, action, parameters]);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-analytics.mjs","sources":["../../../packages/core/analytics/src/analytics.service.ts","../../../packages/core/analytics/src/igo2-core-analytics.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { AnalyticsBaseUser, AnalyticsOptions } from './analytics.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsService {\n private config = inject(ConfigService);\n\n private options: AnalyticsOptions;\n\n get paq() {\n return ((window as any)._paq = (window as any)._paq || []);\n }\n\n constructor() {\n this.options = this.config.getConfig('analytics') || {};\n\n if (this.options.provider === 'matomo') {\n this.initMatomo();\n }\n }\n\n private initMatomo() {\n if (!this.options.url || !this.options.id) {\n return;\n }\n const url =\n this.options.url.substr(-1) === '/'\n ? this.options.url + 'matomo'\n : this.options.url;\n\n // this.paq.push(['trackPageView']);\n // this.paq.push(['enableLinkTracking']);\n (() => {\n this.paq.push(['setTrackerUrl', url + '.php']);\n this.paq.push(['setSiteId', this.options.id]);\n this.paq.push(['setSecureCookie', location.protocol === 'https:']);\n const g = document.createElement('script');\n const s = document.getElementsByTagName('script')[0];\n g.type = 'text/javascript';\n g.async = true;\n g.defer = true;\n g.src = url + '.js';\n s.parentNode?.insertBefore(g, s);\n })();\n }\n\n /**\n * Pass `null` to unset the user.\n */\n public setUser(user: AnalyticsBaseUser | null, profils?: string[]) {\n if (this.options.provider === 'matomo') {\n if (!user) {\n this.paq.push(['resetUserId']);\n this.paq.push(['deleteCustomVariable', 1, 'user']);\n this.paq.push(['deleteCustomVariable', 2, 'name']);\n this.paq.push(['deleteCustomVariable', 3, 'profils']);\n } else {\n this.paq.push(['setUserId', user.id]);\n\n const name = `${user.firstName} ${user.lastName}`;\n this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);\n this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);\n this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);\n }\n\n this.paq.push(['trackPageView']);\n this.paq.push(['enableLinkTracking']);\n }\n }\n\n public trackSearch(term: string, nbResults: number) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackSiteSearch', term, false, nbResults]);\n }\n }\n\n public trackEvent(category: string, action: string, name: string) {\n if (this.options.provider === 'matomo') {\n this.paq.push(['trackEvent', category, action, name]);\n }\n }\n\n /**\n * Function that tracks layers added to the map\n */\n public trackLayer(category: string, action: string, parameters: any) {\n if (this.options.provider === 'matomo')\n this.paq.push(['trackEvent', category, action, parameters]);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MASa,gBAAgB,CAAA;AACnB,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAE9B,IAAA,OAAO;AAEf,IAAA,IAAI,GAAG,GAAA;QACL,QAAS,MAAc,CAAC,IAAI,GAAI,MAAc,CAAC,IAAI,IAAI,EAAE;IAC3D;AAEA,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,UAAU,EAAE;QACnB;IACF;IAEQ,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACzC;QACF;AACA,QAAA,MAAM,GAAG,GACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;AAC9B,cAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG;AACrB,cAAE,IAAI,CAAC,OAAO,CAAC,GAAG;;;AAItB,QAAA,CAAC,MAAK;AACJ,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7C,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAClE,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpD,YAAA,CAAC,CAAC,IAAI,GAAG,iBAAiB;AAC1B,YAAA,CAAC,CAAC,KAAK,GAAG,IAAI;AACd,YAAA,CAAC,CAAC,KAAK,GAAG,IAAI;AACd,YAAA,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK;YACnB,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,GAAG;IACN;AAEA;;AAEG;IACI,OAAO,CAAC,IAA8B,EAAE,OAAkB,EAAA;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAClD,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAClD,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD;iBAAO;AACL,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAErC,MAAM,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;AACjD,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvE,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9D,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE;YAEA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACvC;IACF;IAEO,WAAW,CAAC,IAAY,EAAE,SAAiB,EAAA;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5D;IACF;AAEO,IAAA,UAAU,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAY,EAAA;QAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD;IACF;AAEA;;AAEG;AACI,IAAA,UAAU,CAAC,QAAgB,EAAE,MAAc,EAAE,UAAe,EAAA;AACjE,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;AACpC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/D;wGApFW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;4FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACRD;;AAEG;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-auth.mjs","sources":["../../../packages/core/auth/src/xhr-interceptor.interface.ts","../../../packages/core/auth/src/public_api.ts","../../../packages/core/auth/src/igo2-core-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Abstraction over an XHR interceptor used to authenticate raw XHR requests\n * (e.g. OpenLayers tile/feature loaders), which bypass Angular's\n * `HttpClient` and `HTTP_INTERCEPTORS`.\n */\nexport interface IXhrInterceptor {\n interceptXhr(xhr: XMLHttpRequest, url: string): boolean;\n alterUrlWithKeyAuth(url: string): string | undefined;\n}\n\nexport const XHR_INTERCEPTOR = new InjectionToken<IXhrInterceptor>(\n 'XHR_INTERCEPTOR'\n);\n","/*\n * Public API Surface of core/auth\n */\n\nexport * from './xhr-interceptor.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;MAYa,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB;;ACbnB;;AAEG;;ACFH;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-core-auth.mjs","sources":["../../../packages/core/auth/src/xhr-interceptor.interface.ts","../../../packages/core/auth/src/public_api.ts","../../../packages/core/auth/src/igo2-core-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\n/**\n * Abstraction over an XHR interceptor used to authenticate raw XHR requests\n * (e.g. OpenLayers tile/feature loaders), which bypass Angular's\n * `HttpClient` and `HTTP_INTERCEPTORS`.\n */\nexport interface IXhrInterceptor {\n interceptXhr(xhr: XMLHttpRequest, url: string): boolean;\n alterUrlWithKeyAuth(url: string): string | undefined;\n}\n\nexport const XHR_INTERCEPTOR = new InjectionToken<IXhrInterceptor>(\n 'XHR_INTERCEPTOR'\n);\n","/*\n * Public API Surface of core/auth\n */\n\nexport * from './xhr-interceptor.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;MAYa,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB;;ACbnB;;AAEG;;ACFH;;AAEG;;"}
|
|
@@ -15,8 +15,8 @@ const ALTERNATE_CONFIG_FROM_DEPRECATION = new Map(Object.entries(CONFIG_DEPRECAT
|
|
|
15
15
|
]));
|
|
16
16
|
|
|
17
17
|
const version = {
|
|
18
|
-
lib: '21.0.0-next.
|
|
19
|
-
releaseDate:
|
|
18
|
+
lib: '21.0.0-next.30',
|
|
19
|
+
releaseDate: 1790093669381
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
class ConfigService {
|
|
@@ -100,10 +100,10 @@ class ConfigService {
|
|
|
100
100
|
});
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
104
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
103
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ConfigService, providedIn: 'root' });
|
|
105
105
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ConfigService, decorators: [{
|
|
107
107
|
type: Injectable,
|
|
108
108
|
args: [{
|
|
109
109
|
providedIn: 'root'
|
|
@@ -135,11 +135,11 @@ class IgoConfigModule {
|
|
|
135
135
|
providers: [provideConfig({})]
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
139
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
140
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
138
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
139
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoConfigModule });
|
|
140
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoConfigModule });
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoConfigModule, decorators: [{
|
|
143
143
|
type: NgModule,
|
|
144
144
|
args: [{
|
|
145
145
|
imports: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-config.mjs","sources":["../../../packages/core/config/src/config-deprecated.ts","../../../packages/core/config/src/version.ts","../../../packages/core/config/src/config.service.ts","../../../packages/core/config/src/config.provider.ts","../../../packages/core/config/src/config.module.ts","../../../packages/core/config/src/igo2-core-config.ts"],"sourcesContent":["import { AlternateConfigOptions, DeprecatedOptions } from './config.interface';\n\nexport const CONFIG_DEPRECATED: Record<string, DeprecatedOptions> = {};\n\nexport const ALTERNATE_CONFIG_FROM_DEPRECATION = new Map<\n string,\n AlternateConfigOptions\n>(\n Object.entries(CONFIG_DEPRECATED)\n .filter(([_, options]) => options.alternativeKey)\n .map(\n ([key, options]) =>\n [\n options.alternativeKey!,\n {\n deprecatedKey: key\n } satisfies AlternateConfigOptions\n ] as const\n )\n);\n","export interface Version {\n app?: string;\n lib?: string;\n releaseDateApp?: number;\n releaseDate?: number;\n}\n\nexport const version: Version = {\n lib: '21.0.0-next.29',\n releaseDate: 1789052168272\n};\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { BehaviorSubject, throwError } from 'rxjs';\n\nimport {\n ALTERNATE_CONFIG_FROM_DEPRECATION,\n CONFIG_DEPRECATED\n} from './config-deprecated';\nimport { ConfigOptions } from './config.interface';\nimport { version } from './version';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService<T extends object = Record<string, any>> {\n private config!: T | undefined;\n private httpClient: HttpClient;\n private configDeprecated = new Map(Object.entries(CONFIG_DEPRECATED));\n\n private _isLoaded$ = new BehaviorSubject(false);\n isLoaded$ = this._isLoaded$.asObservable();\n\n constructor() {\n const handler = inject(HttpBackend);\n\n this.httpClient = new HttpClient(handler);\n }\n\n /**\n * Use to get the all config file (merge from environnement.ts and config.json)\n */\n public getConfigs(): any {\n Array.from(this.configDeprecated.keys()).map((deprecatedKey) => {\n const deprecatedValue = ObjectUtils.resolve(\n this.config ?? {},\n deprecatedKey\n );\n if (deprecatedValue !== undefined) {\n this.handleDeprecatedConfig(deprecatedKey);\n }\n });\n return this.config;\n }\n\n /**\n * Use to get the data found in config file\n */\n public getConfig<T = any>(key: string, defaultValue?: unknown): T {\n let value = ObjectUtils.resolve(this.config ?? {}, key);\n\n const isDeprecated = this.configDeprecated.get(key);\n if (isDeprecated && value !== undefined) {\n this.handleDeprecatedConfig(key);\n } else if (value === undefined) {\n value = this.handleDeprecationPossibility(key);\n }\n\n return (value ?? defaultValue) as T;\n }\n\n private handleDeprecatedConfig(key: string): void {\n const options = this.configDeprecated.get(key);\n\n let message = `This config (${key}) is deprecated and will be removed shortly`;\n if (options?.alternativeKey) {\n message += ` You should use this key (${options.alternativeKey}) as an alternate solution`;\n }\n\n const currentDate = new Date();\n options?.mayBeRemoveIn && currentDate >= options.mayBeRemoveIn\n ? console.error(message)\n : console.warn(message);\n }\n\n private handleDeprecationPossibility(key: string): any {\n const options = ALTERNATE_CONFIG_FROM_DEPRECATION.get(key);\n if (!options) {\n return;\n }\n\n return this.getConfig(options.deprecatedKey);\n }\n\n /**\n * This method loads \"[path]\" to get all config's variables\n */\n public load(options: ConfigOptions<T>): void | Promise<unknown> {\n const baseConfig = options.default;\n const path = options.path;\n if (!path) {\n this.config = baseConfig;\n this._isLoaded$.next(true);\n return;\n }\n\n return new Promise((resolve) => {\n this.httpClient.get<Record<string, unknown>>(path).subscribe({\n next: (configResponse) => {\n this.config = ObjectUtils.mergeDeep(\n ObjectUtils.mergeDeep({ version }, baseConfig ?? {}),\n configResponse\n ) as T;\n this._isLoaded$.next(true);\n resolve(true);\n },\n error: (error) => {\n console.log(`Configuration file ${path} could not be read`);\n this._isLoaded$.next(false);\n resolve(true);\n return throwError(() => error.error || 'Server error');\n }\n });\n });\n }\n}\n","import {\n EnvironmentProviders,\n InjectionToken,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ConfigOptions } from './config.interface';\nimport { ConfigService } from './config.service';\n\nexport const CONFIG_OPTIONS = new InjectionToken<ConfigOptions>(\n 'configOptions'\n);\n\nexport function provideConfig(options: ConfigOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: CONFIG_OPTIONS,\n useValue: options\n },\n provideAppInitializer(async () => {\n const configService = inject(ConfigService);\n const options = inject(CONFIG_OPTIONS);\n return configService.load(options);\n })\n ]);\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { provideConfig } from './config.provider';\n\n/**\n * @deprecated import the provideConfig directly\n */\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoConfigModule {\n static forRoot(): ModuleWithProviders<IgoConfigModule> {\n return {\n ngModule: IgoConfigModule,\n providers: [provideConfig({})]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-core-config.mjs","sources":["../../../packages/core/config/src/config-deprecated.ts","../../../packages/core/config/src/version.ts","../../../packages/core/config/src/config.service.ts","../../../packages/core/config/src/config.provider.ts","../../../packages/core/config/src/config.module.ts","../../../packages/core/config/src/igo2-core-config.ts"],"sourcesContent":["import { AlternateConfigOptions, DeprecatedOptions } from './config.interface';\n\nexport const CONFIG_DEPRECATED: Record<string, DeprecatedOptions> = {};\n\nexport const ALTERNATE_CONFIG_FROM_DEPRECATION = new Map<\n string,\n AlternateConfigOptions\n>(\n Object.entries(CONFIG_DEPRECATED)\n .filter(([_, options]) => options.alternativeKey)\n .map(\n ([key, options]) =>\n [\n options.alternativeKey!,\n {\n deprecatedKey: key\n } satisfies AlternateConfigOptions\n ] as const\n )\n);\n","export interface Version {\n app?: string;\n lib?: string;\n releaseDateApp?: number;\n releaseDate?: number;\n}\n\nexport const version: Version = {\n lib: '21.0.0-next.30',\n releaseDate: 1790093669381\n};\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { BehaviorSubject, throwError } from 'rxjs';\n\nimport {\n ALTERNATE_CONFIG_FROM_DEPRECATION,\n CONFIG_DEPRECATED\n} from './config-deprecated';\nimport { ConfigOptions } from './config.interface';\nimport { version } from './version';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService<T extends object = Record<string, any>> {\n private config!: T | undefined;\n private httpClient: HttpClient;\n private configDeprecated = new Map(Object.entries(CONFIG_DEPRECATED));\n\n private _isLoaded$ = new BehaviorSubject(false);\n isLoaded$ = this._isLoaded$.asObservable();\n\n constructor() {\n const handler = inject(HttpBackend);\n\n this.httpClient = new HttpClient(handler);\n }\n\n /**\n * Use to get the all config file (merge from environnement.ts and config.json)\n */\n public getConfigs(): any {\n Array.from(this.configDeprecated.keys()).map((deprecatedKey) => {\n const deprecatedValue = ObjectUtils.resolve(\n this.config ?? {},\n deprecatedKey\n );\n if (deprecatedValue !== undefined) {\n this.handleDeprecatedConfig(deprecatedKey);\n }\n });\n return this.config;\n }\n\n /**\n * Use to get the data found in config file\n */\n public getConfig<T = any>(key: string, defaultValue?: unknown): T {\n let value = ObjectUtils.resolve(this.config ?? {}, key);\n\n const isDeprecated = this.configDeprecated.get(key);\n if (isDeprecated && value !== undefined) {\n this.handleDeprecatedConfig(key);\n } else if (value === undefined) {\n value = this.handleDeprecationPossibility(key);\n }\n\n return (value ?? defaultValue) as T;\n }\n\n private handleDeprecatedConfig(key: string): void {\n const options = this.configDeprecated.get(key);\n\n let message = `This config (${key}) is deprecated and will be removed shortly`;\n if (options?.alternativeKey) {\n message += ` You should use this key (${options.alternativeKey}) as an alternate solution`;\n }\n\n const currentDate = new Date();\n options?.mayBeRemoveIn && currentDate >= options.mayBeRemoveIn\n ? console.error(message)\n : console.warn(message);\n }\n\n private handleDeprecationPossibility(key: string): any {\n const options = ALTERNATE_CONFIG_FROM_DEPRECATION.get(key);\n if (!options) {\n return;\n }\n\n return this.getConfig(options.deprecatedKey);\n }\n\n /**\n * This method loads \"[path]\" to get all config's variables\n */\n public load(options: ConfigOptions<T>): void | Promise<unknown> {\n const baseConfig = options.default;\n const path = options.path;\n if (!path) {\n this.config = baseConfig;\n this._isLoaded$.next(true);\n return;\n }\n\n return new Promise((resolve) => {\n this.httpClient.get<Record<string, unknown>>(path).subscribe({\n next: (configResponse) => {\n this.config = ObjectUtils.mergeDeep(\n ObjectUtils.mergeDeep({ version }, baseConfig ?? {}),\n configResponse\n ) as T;\n this._isLoaded$.next(true);\n resolve(true);\n },\n error: (error) => {\n console.log(`Configuration file ${path} could not be read`);\n this._isLoaded$.next(false);\n resolve(true);\n return throwError(() => error.error || 'Server error');\n }\n });\n });\n }\n}\n","import {\n EnvironmentProviders,\n InjectionToken,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ConfigOptions } from './config.interface';\nimport { ConfigService } from './config.service';\n\nexport const CONFIG_OPTIONS = new InjectionToken<ConfigOptions>(\n 'configOptions'\n);\n\nexport function provideConfig(options: ConfigOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: CONFIG_OPTIONS,\n useValue: options\n },\n provideAppInitializer(async () => {\n const configService = inject(ConfigService);\n const options = inject(CONFIG_OPTIONS);\n return configService.load(options);\n })\n ]);\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { provideConfig } from './config.provider';\n\n/**\n * @deprecated import the provideConfig directly\n */\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoConfigModule {\n static forRoot(): ModuleWithProviders<IgoConfigModule> {\n return {\n ngModule: IgoConfigModule,\n providers: [provideConfig({})]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,iBAAiB,GAAsC,EAAE;AAE/D,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAItD,MAAM,CAAC,OAAO,CAAC,iBAAiB;AAC7B,KAAA,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc;KAC/C,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KACb;AACE,IAAA,OAAO,CAAC,cAAe;AACvB,IAAA;AACE,QAAA,aAAa,EAAE;AACiB;AAC1B,CAAA,CACb,CACJ;;ACZM,MAAM,OAAO,GAAY;AAC9B,IAAA,GAAG,EAAE,gBAAgB;AACrB,IAAA,WAAW,EAAE;;;MCQF,aAAa,CAAA;AAChB,IAAA,MAAM;AACN,IAAA,UAAU;IACV,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE7D,IAAA,UAAU,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC;AAC/C,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;AAE1C,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;IAC3C;AAEA;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,KAAI;AAC7D,YAAA,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CACzC,IAAI,CAAC,MAAM,IAAI,EAAE,EACjB,aAAa,CACd;AACD,YAAA,IAAI,eAAe,KAAK,SAAS,EAAE;AACjC,gBAAA,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;YAC5C;AACF,QAAA,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;AAEG;IACI,SAAS,CAAU,GAAW,EAAE,YAAsB,EAAA;AAC3D,QAAA,IAAI,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC;QAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AACnD,QAAA,IAAI,YAAY,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;QAClC;AAAO,aAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC;QAChD;AAEA,QAAA,QAAQ,KAAK,IAAI,YAAY;IAC/B;AAEQ,IAAA,sBAAsB,CAAC,GAAW,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAE9C,QAAA,IAAI,OAAO,GAAG,CAAA,aAAA,EAAgB,GAAG,6CAA6C;AAC9E,QAAA,IAAI,OAAO,EAAE,cAAc,EAAE;AAC3B,YAAA,OAAO,IAAI,CAAA,0BAAA,EAA6B,OAAO,CAAC,cAAc,4BAA4B;QAC5F;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;AAC9B,QAAA,OAAO,EAAE,aAAa,IAAI,WAAW,IAAI,OAAO,CAAC;AAC/C,cAAE,OAAO,CAAC,KAAK,CAAC,OAAO;AACvB,cAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B;AAEQ,IAAA,4BAA4B,CAAC,GAAW,EAAA;QAC9C,MAAM,OAAO,GAAG,iCAAiC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE;YACZ;QACF;QAEA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9C;AAEA;;AAEG;AACI,IAAA,IAAI,CAAC,OAAyB,EAAA;AACnC,QAAA,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO;AAClC,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;QACzB,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,MAAM,GAAG,UAAU;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B;QACF;AAEA,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAA0B,IAAI,CAAC,CAAC,SAAS,CAAC;AAC3D,gBAAA,IAAI,EAAE,CAAC,cAAc,KAAI;oBACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CACjC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,EACpD,cAAc,CACV;AACN,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC;gBACf,CAAC;AACD,gBAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACf,oBAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAA,kBAAA,CAAoB,CAAC;AAC3D,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC;oBACb,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC;gBACxD;AACD,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;wGAnGW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCLY,cAAc,GAAG,IAAI,cAAc,CAC9C,eAAe;AAGX,SAAU,aAAa,CAAC,OAAsB,EAAA;AAClD,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA;AACE,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,QAAQ,EAAE;AACX,SAAA;QACD,qBAAqB,CAAC,YAAW;AAC/B,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC3C,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,YAAA,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,QAAA,CAAC;AACF,KAAA,CAAC;AACJ;;ACvBA;;AAEG;MAMU,eAAe,CAAA;AAC1B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;SAC9B;IACH;wGANW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAf,eAAe,EAAA,CAAA;yGAAf,eAAe,EAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACXD;;AAEG;;"}
|
|
@@ -9,11 +9,11 @@ import { ConfigService } from '@igo2/core/config';
|
|
|
9
9
|
import { timeout, catchError } from 'rxjs/operators';
|
|
10
10
|
|
|
11
11
|
class IgoLanguageModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
14
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoLanguageModule, exports: [TranslateModule] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLanguageModule, imports: [TranslateModule] });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLanguageModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
exports: [TranslateModule]
|
|
@@ -120,10 +120,10 @@ class LanguageService {
|
|
|
120
120
|
this.language$.next(this.language);
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LanguageService, providedIn: 'root' });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LanguageService, decorators: [{
|
|
127
127
|
type: Injectable,
|
|
128
128
|
args: [{
|
|
129
129
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-language.mjs","sources":["../../../packages/core/language/src/language.module.ts","../../../packages/core/language/src/shared/language.interface.ts","../../../packages/core/language/src/shared/language.loader.ts","../../../packages/core/language/src/shared/language.service.ts","../../../packages/core/language/src/shared/missing-translation.guard.ts","../../../packages/core/language/src/shared/language.provider.ts","../../../packages/core/language/src/shared/language-mock.provider.ts","../../../packages/core/language/src/utils/coercion.ts","../../../packages/core/language/src/igo2-core-language.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n exports: [TranslateModule]\n})\nexport class IgoLanguageModule {}\n","import { TranslateLoader } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\n\nexport interface LanguageOptions {\n prefix?: string | string[];\n ignoreLibsLocale?: boolean;\n}\n\nexport abstract class LanguageLoaderBase implements TranslateLoader {\n abstract isLoaded$: Observable<boolean>;\n abstract getTranslation(lang: string): Observable<any>;\n}\n\nexport type Translation =\n | string\n | Translation[]\n | TranslationObject\n\n // required to prevent error \"Type instantiation is excessively deep and possibly infinite.\"\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any;\n\n// using Record<> does not work because TS does not support recursive definitions\nexport interface TranslationObject {\n [key: string]: Translation;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { HttpBackend, HttpClient } from '@angular/common/http';\nimport { DOCUMENT, PLATFORM_ID, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { ObjectUtils } from '@igo2/utils';\n\nimport {\n BehaviorSubject,\n Observable,\n first,\n forkJoin,\n map,\n of,\n switchMap,\n tap\n} from 'rxjs';\n\nimport {\n LanguageLoaderBase,\n LanguageOptions,\n TranslationObject\n} from './language.interface';\n\nexport class LanguageLoader implements LanguageLoaderBase {\n private httpClient: HttpClient;\n\n private _isLoaded$ = new BehaviorSubject(false);\n isLoaded$ = this._isLoaded$.asObservable();\n\n suffix = '.json';\n prefix?: string | string[];\n options: LanguageOptions;\n\n baseUrl: string;\n\n constructor(handler: HttpBackend, options: LanguageOptions) {\n this.httpClient = new HttpClient(handler);\n this.options = options;\n\n const document = inject(DOCUMENT);\n const platformId = inject(PLATFORM_ID);\n this.baseUrl = isPlatformServer(platformId)\n ? this.getServerUrl(document)\n : '';\n }\n\n private getServerUrl(document: Document): string {\n const origin = document.location.origin;\n return origin.endsWith('/') ? origin : origin + '/';\n }\n\n public getTranslation(\n lang: string\n ): Observable<TranslationObject | undefined> {\n const igoLocale$ = this.httpClient.get<Record<string, unknown>>(\n `${this.baseUrl}locale/libs_locale/${lang}.json`\n );\n if (!this.prefix) {\n const prefix = this.options.prefix;\n this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];\n }\n\n if (!this.prefix || this.prefix.length === 0) {\n this._isLoaded$.next(true);\n return this.options.ignoreLibsLocale ? of(undefined) : igoLocale$;\n }\n\n const appLocale$ = (this.prefix as string[]).map((prefix) =>\n this.httpClient.get<Record<string, unknown>>(\n `${this.baseUrl}${prefix}${lang}${this.suffix}`\n )\n );\n\n const locale$ = [...appLocale$];\n\n if (!this.options.ignoreLibsLocale) {\n locale$.unshift(igoLocale$);\n }\n\n return forkJoin(locale$).pipe(\n map((translations) => {\n return translations.reduce(\n (acc, current) => ObjectUtils.mergeDeep(acc, current),\n {}\n );\n }),\n tap(() => {\n this._isLoaded$.next(true);\n })\n );\n }\n}\n\nexport class LanguageLoaderWithAsyncConfig extends LanguageLoader {\n constructor(\n handler: HttpBackend,\n private configService: ConfigService,\n prefix?: string | string[],\n suffix = '.json'\n ) {\n super(handler, {});\n this.prefix = prefix;\n this.suffix = suffix;\n }\n\n public getTranslation(lang: string): Observable<any> {\n return this.configService.isLoaded$.pipe(\n first((isLoaded) => isLoaded),\n switchMap(() => {\n this.options =\n this.configService.getConfig<LanguageOptions>('language');\n\n return super.getTranslation(lang);\n })\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n translate = inject(TranslateService);\n\n private language: string | undefined;\n readonly language$ = new BehaviorSubject<string | undefined>(undefined);\n\n constructor() {\n const defaultLang = this.translate.defaultLang;\n if (defaultLang && this.matchLanguage(defaultLang)) {\n this.language = defaultLang;\n this.language$.next(defaultLang);\n } else {\n this.setBrowserLanguage();\n }\n }\n private setBrowserLanguage() {\n this.language = this.translate.getBrowserLang();\n const lang = this.getLanguage();\n this.translate.setDefaultLang(lang);\n this.language$.next(lang);\n }\n\n public getLanguage(): string {\n return this.language && this.matchLanguage(this.language)\n ? this.language\n : 'en';\n }\n\n private matchLanguage(lang: string): boolean {\n return !!lang.match(/en|fr/);\n }\n\n public setLanguage(language: string) {\n this.language = this.matchLanguage(language) ? language : 'en';\n combineLatest([\n this.translate.use(this.language),\n this.translate.reloadLang(this.language)\n ]).subscribe(() => {\n this.language$.next(this.language);\n });\n }\n}\n","import {\n MissingTranslationHandler,\n MissingTranslationHandlerParams\n} from '@ngx-translate/core';\n\nexport class IgoMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n if (!params.translateService.langs.length) {\n const error =\n 'Translations are not yet loaded. \\\n Check that the LanguageService is injected.';\n throw new Error(error);\n }\n\n if (params.key.substr(0, 4) === 'igo.') {\n throw new Error(`The Key \"${params.key}\" is missing in locale file.`);\n } else {\n return params.key;\n }\n }\n}\n","import { HttpBackend } from '@angular/common/http';\nimport {\n DOCUMENT,\n EnvironmentProviders,\n Provider,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport {\n Language,\n MissingTranslationHandler,\n TRANSLATE_SERVICE_CONFIG,\n TranslateLoader,\n TranslateModuleConfig,\n TranslateServiceConfig,\n provideTranslateService\n} from '@ngx-translate/core';\nimport { first } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\nimport { LanguageLoaderBase, LanguageOptions } from './language.interface';\nimport {\n LanguageLoader,\n LanguageLoaderWithAsyncConfig\n} from './language.loader';\nimport { LanguageService } from './language.service';\nimport { IgoMissingTranslationHandler } from './missing-translation.guard';\n\n// 5 seconds\nconst TIMEOUT_DURATION = 5000;\n\nexport interface TranslationFeature<KindT extends TranslationFeatureKind> {\n kind: KindT;\n providers: (Provider | EnvironmentProviders)[];\n}\n\nexport enum TranslationFeatureKind {\n Translation = 0,\n DefaultLanguage = 1\n}\n\n/**\n * Make sure you only call this method in the root module of your application, most of the time called AppModule.\n */\nexport function provideTranslation(\n featureConfig: TranslationFeature<TranslationFeatureKind.Translation>\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n ...featureConfig.providers,\n provideAppInitializer(() => {\n const languageService = inject(LanguageService);\n return (\n languageService.translate.currentLoader as LanguageLoaderBase\n ).isLoaded$?.pipe(\n timeout(TIMEOUT_DURATION),\n first((isLoaded) => isLoaded === true),\n catchError((error) => {\n error.message += ` - Request timed out for language loader after: ${TIMEOUT_DURATION}`;\n throw error;\n })\n );\n })\n ]);\n}\n\nexport function withStaticConfig(\n options: LanguageOptions,\n defaultLanguage?: string | undefined\n): TranslationFeature<TranslationFeatureKind.Translation> {\n const loader: Provider = {\n provide: TranslateLoader,\n useFactory: (http: HttpBackend) => languageLoaderWithStatic(http, options),\n deps: [HttpBackend]\n };\n return {\n kind: TranslationFeatureKind.Translation,\n providers: [\n provideTranslateService(setTranslationConfig(loader, defaultLanguage))\n ]\n };\n}\n\nexport function withAsyncConfig(\n defaultLanguage?: string | undefined\n): TranslationFeature<TranslationFeatureKind.Translation> {\n const loader: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n };\n return {\n kind: TranslationFeatureKind.Translation,\n providers: [\n provideTranslateService(setTranslationConfig(loader, defaultLanguage))\n ]\n };\n}\n\n/**\n * Get the first segment of the path (e.g., '/en/alerts' => 'en')\n * @param allowedLanguages default to ['fr', 'en']\n */\nexport function withUrlDefaultLanguage(\n fallbackLang?: Language,\n allowedLanguages: Language[] = ['fr', 'en']\n): TranslationFeature<TranslationFeatureKind.DefaultLanguage> {\n return {\n kind: TranslationFeatureKind.DefaultLanguage,\n providers: [\n {\n provide: TRANSLATE_SERVICE_CONFIG,\n useFactory: defaultLanguageSegmentFactory(\n allowedLanguages,\n fallbackLang\n )\n }\n ]\n };\n}\n\nfunction defaultLanguageSegmentFactory(\n allowedLanguages: Language[],\n fallbackLang?: Language\n): () => TranslateServiceConfig {\n return () => {\n const doc = inject(DOCUMENT);\n const url = new URL(doc.location.href);\n\n const firstSegment = url.pathname.split('/').filter(Boolean)[0];\n if (allowedLanguages.includes(firstSegment)) {\n return {\n extend: true,\n lang: firstSegment\n } satisfies TranslateServiceConfig;\n }\n\n return {\n extend: true,\n lang: fallbackLang,\n fallbackLang: fallbackLang ?? 'fr'\n } satisfies TranslateServiceConfig;\n };\n}\n\nexport const setTranslationConfig = (\n loader?: Provider,\n defaultLanguage?: string\n): TranslateModuleConfig => ({\n defaultLanguage: defaultLanguage,\n loader: loader ?? DEFAULT_LANGUAGE_LOADER,\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: IgoMissingTranslationHandler\n }\n});\n\nfunction languageLoaderWithStatic(\n http: HttpBackend,\n options?: LanguageOptions\n) {\n return new LanguageLoader(http, options ?? {});\n}\n\nexport const LANGUAGE_LOADER: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n};\n\nfunction languageLoaderWithAsync(http: HttpBackend, config: ConfigService) {\n return new LanguageLoaderWithAsyncConfig(http, config, undefined, undefined);\n}\n\nexport const DEFAULT_LANGUAGE_LOADER: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n};\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { provideTranslateService } from '@ngx-translate/core';\n\nexport function provideMockTranslation(): EnvironmentProviders {\n return makeEnvironmentProviders([provideTranslateService()]);\n}\n","import { Translation, TranslationObject } from '../shared/language.interface';\n\nexport function labelAttribute(\n value: Translation | TranslationObject | undefined,\n defaultValue: Translation | TranslationObject = {}\n): Translation | TranslationObject {\n return { ...defaultValue, ...(value ?? {}) };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-core-language.mjs","sources":["../../../packages/core/language/src/language.module.ts","../../../packages/core/language/src/shared/language.interface.ts","../../../packages/core/language/src/shared/language.loader.ts","../../../packages/core/language/src/shared/language.service.ts","../../../packages/core/language/src/shared/missing-translation.guard.ts","../../../packages/core/language/src/shared/language.provider.ts","../../../packages/core/language/src/shared/language-mock.provider.ts","../../../packages/core/language/src/utils/coercion.ts","../../../packages/core/language/src/igo2-core-language.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n exports: [TranslateModule]\n})\nexport class IgoLanguageModule {}\n","import { TranslateLoader } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\n\nexport interface LanguageOptions {\n prefix?: string | string[];\n ignoreLibsLocale?: boolean;\n}\n\nexport abstract class LanguageLoaderBase implements TranslateLoader {\n abstract isLoaded$: Observable<boolean>;\n abstract getTranslation(lang: string): Observable<any>;\n}\n\nexport type Translation =\n | string\n | Translation[]\n | TranslationObject\n\n // required to prevent error \"Type instantiation is excessively deep and possibly infinite.\"\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any;\n\n// using Record<> does not work because TS does not support recursive definitions\nexport interface TranslationObject {\n [key: string]: Translation;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { HttpBackend, HttpClient } from '@angular/common/http';\nimport { DOCUMENT, PLATFORM_ID, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { ObjectUtils } from '@igo2/utils';\n\nimport {\n BehaviorSubject,\n Observable,\n first,\n forkJoin,\n map,\n of,\n switchMap,\n tap\n} from 'rxjs';\n\nimport {\n LanguageLoaderBase,\n LanguageOptions,\n TranslationObject\n} from './language.interface';\n\nexport class LanguageLoader implements LanguageLoaderBase {\n private httpClient: HttpClient;\n\n private _isLoaded$ = new BehaviorSubject(false);\n isLoaded$ = this._isLoaded$.asObservable();\n\n suffix = '.json';\n prefix?: string | string[];\n options: LanguageOptions;\n\n baseUrl: string;\n\n constructor(handler: HttpBackend, options: LanguageOptions) {\n this.httpClient = new HttpClient(handler);\n this.options = options;\n\n const document = inject(DOCUMENT);\n const platformId = inject(PLATFORM_ID);\n this.baseUrl = isPlatformServer(platformId)\n ? this.getServerUrl(document)\n : '';\n }\n\n private getServerUrl(document: Document): string {\n const origin = document.location.origin;\n return origin.endsWith('/') ? origin : origin + '/';\n }\n\n public getTranslation(\n lang: string\n ): Observable<TranslationObject | undefined> {\n const igoLocale$ = this.httpClient.get<Record<string, unknown>>(\n `${this.baseUrl}locale/libs_locale/${lang}.json`\n );\n if (!this.prefix) {\n const prefix = this.options.prefix;\n this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];\n }\n\n if (!this.prefix || this.prefix.length === 0) {\n this._isLoaded$.next(true);\n return this.options.ignoreLibsLocale ? of(undefined) : igoLocale$;\n }\n\n const appLocale$ = (this.prefix as string[]).map((prefix) =>\n this.httpClient.get<Record<string, unknown>>(\n `${this.baseUrl}${prefix}${lang}${this.suffix}`\n )\n );\n\n const locale$ = [...appLocale$];\n\n if (!this.options.ignoreLibsLocale) {\n locale$.unshift(igoLocale$);\n }\n\n return forkJoin(locale$).pipe(\n map((translations) => {\n return translations.reduce(\n (acc, current) => ObjectUtils.mergeDeep(acc, current),\n {}\n );\n }),\n tap(() => {\n this._isLoaded$.next(true);\n })\n );\n }\n}\n\nexport class LanguageLoaderWithAsyncConfig extends LanguageLoader {\n constructor(\n handler: HttpBackend,\n private configService: ConfigService,\n prefix?: string | string[],\n suffix = '.json'\n ) {\n super(handler, {});\n this.prefix = prefix;\n this.suffix = suffix;\n }\n\n public getTranslation(lang: string): Observable<any> {\n return this.configService.isLoaded$.pipe(\n first((isLoaded) => isLoaded),\n switchMap(() => {\n this.options =\n this.configService.getConfig<LanguageOptions>('language');\n\n return super.getTranslation(lang);\n })\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n translate = inject(TranslateService);\n\n private language: string | undefined;\n readonly language$ = new BehaviorSubject<string | undefined>(undefined);\n\n constructor() {\n const defaultLang = this.translate.defaultLang;\n if (defaultLang && this.matchLanguage(defaultLang)) {\n this.language = defaultLang;\n this.language$.next(defaultLang);\n } else {\n this.setBrowserLanguage();\n }\n }\n private setBrowserLanguage() {\n this.language = this.translate.getBrowserLang();\n const lang = this.getLanguage();\n this.translate.setDefaultLang(lang);\n this.language$.next(lang);\n }\n\n public getLanguage(): string {\n return this.language && this.matchLanguage(this.language)\n ? this.language\n : 'en';\n }\n\n private matchLanguage(lang: string): boolean {\n return !!lang.match(/en|fr/);\n }\n\n public setLanguage(language: string) {\n this.language = this.matchLanguage(language) ? language : 'en';\n combineLatest([\n this.translate.use(this.language),\n this.translate.reloadLang(this.language)\n ]).subscribe(() => {\n this.language$.next(this.language);\n });\n }\n}\n","import {\n MissingTranslationHandler,\n MissingTranslationHandlerParams\n} from '@ngx-translate/core';\n\nexport class IgoMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n if (!params.translateService.langs.length) {\n const error =\n 'Translations are not yet loaded. \\\n Check that the LanguageService is injected.';\n throw new Error(error);\n }\n\n if (params.key.substr(0, 4) === 'igo.') {\n throw new Error(`The Key \"${params.key}\" is missing in locale file.`);\n } else {\n return params.key;\n }\n }\n}\n","import { HttpBackend } from '@angular/common/http';\nimport {\n DOCUMENT,\n EnvironmentProviders,\n Provider,\n inject,\n makeEnvironmentProviders,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport {\n Language,\n MissingTranslationHandler,\n TRANSLATE_SERVICE_CONFIG,\n TranslateLoader,\n TranslateModuleConfig,\n TranslateServiceConfig,\n provideTranslateService\n} from '@ngx-translate/core';\nimport { first } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\nimport { LanguageLoaderBase, LanguageOptions } from './language.interface';\nimport {\n LanguageLoader,\n LanguageLoaderWithAsyncConfig\n} from './language.loader';\nimport { LanguageService } from './language.service';\nimport { IgoMissingTranslationHandler } from './missing-translation.guard';\n\n// 5 seconds\nconst TIMEOUT_DURATION = 5000;\n\nexport interface TranslationFeature<KindT extends TranslationFeatureKind> {\n kind: KindT;\n providers: (Provider | EnvironmentProviders)[];\n}\n\nexport enum TranslationFeatureKind {\n Translation = 0,\n DefaultLanguage = 1\n}\n\n/**\n * Make sure you only call this method in the root module of your application, most of the time called AppModule.\n */\nexport function provideTranslation(\n featureConfig: TranslationFeature<TranslationFeatureKind.Translation>\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n ...featureConfig.providers,\n provideAppInitializer(() => {\n const languageService = inject(LanguageService);\n return (\n languageService.translate.currentLoader as LanguageLoaderBase\n ).isLoaded$?.pipe(\n timeout(TIMEOUT_DURATION),\n first((isLoaded) => isLoaded === true),\n catchError((error) => {\n error.message += ` - Request timed out for language loader after: ${TIMEOUT_DURATION}`;\n throw error;\n })\n );\n })\n ]);\n}\n\nexport function withStaticConfig(\n options: LanguageOptions,\n defaultLanguage?: string | undefined\n): TranslationFeature<TranslationFeatureKind.Translation> {\n const loader: Provider = {\n provide: TranslateLoader,\n useFactory: (http: HttpBackend) => languageLoaderWithStatic(http, options),\n deps: [HttpBackend]\n };\n return {\n kind: TranslationFeatureKind.Translation,\n providers: [\n provideTranslateService(setTranslationConfig(loader, defaultLanguage))\n ]\n };\n}\n\nexport function withAsyncConfig(\n defaultLanguage?: string | undefined\n): TranslationFeature<TranslationFeatureKind.Translation> {\n const loader: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n };\n return {\n kind: TranslationFeatureKind.Translation,\n providers: [\n provideTranslateService(setTranslationConfig(loader, defaultLanguage))\n ]\n };\n}\n\n/**\n * Get the first segment of the path (e.g., '/en/alerts' => 'en')\n * @param allowedLanguages default to ['fr', 'en']\n */\nexport function withUrlDefaultLanguage(\n fallbackLang?: Language,\n allowedLanguages: Language[] = ['fr', 'en']\n): TranslationFeature<TranslationFeatureKind.DefaultLanguage> {\n return {\n kind: TranslationFeatureKind.DefaultLanguage,\n providers: [\n {\n provide: TRANSLATE_SERVICE_CONFIG,\n useFactory: defaultLanguageSegmentFactory(\n allowedLanguages,\n fallbackLang\n )\n }\n ]\n };\n}\n\nfunction defaultLanguageSegmentFactory(\n allowedLanguages: Language[],\n fallbackLang?: Language\n): () => TranslateServiceConfig {\n return () => {\n const doc = inject(DOCUMENT);\n const url = new URL(doc.location.href);\n\n const firstSegment = url.pathname.split('/').filter(Boolean)[0];\n if (allowedLanguages.includes(firstSegment)) {\n return {\n extend: true,\n lang: firstSegment\n } satisfies TranslateServiceConfig;\n }\n\n return {\n extend: true,\n lang: fallbackLang,\n fallbackLang: fallbackLang ?? 'fr'\n } satisfies TranslateServiceConfig;\n };\n}\n\nexport const setTranslationConfig = (\n loader?: Provider,\n defaultLanguage?: string\n): TranslateModuleConfig => ({\n defaultLanguage: defaultLanguage,\n loader: loader ?? DEFAULT_LANGUAGE_LOADER,\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: IgoMissingTranslationHandler\n }\n});\n\nfunction languageLoaderWithStatic(\n http: HttpBackend,\n options?: LanguageOptions\n) {\n return new LanguageLoader(http, options ?? {});\n}\n\nexport const LANGUAGE_LOADER: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n};\n\nfunction languageLoaderWithAsync(http: HttpBackend, config: ConfigService) {\n return new LanguageLoaderWithAsyncConfig(http, config, undefined, undefined);\n}\n\nexport const DEFAULT_LANGUAGE_LOADER: Provider = {\n provide: TranslateLoader,\n useFactory: languageLoaderWithAsync,\n deps: [HttpBackend, ConfigService]\n};\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { provideTranslateService } from '@ngx-translate/core';\n\nexport function provideMockTranslation(): EnvironmentProviders {\n return makeEnvironmentProviders([provideTranslateService()]);\n}\n","import { Translation, TranslationObject } from '../shared/language.interface';\n\nexport function labelAttribute(\n value: Translation | TranslationObject | undefined,\n defaultValue: Translation | TranslationObject = {}\n): Translation | TranslationObject {\n return { ...defaultValue, ...(value ?? {}) };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -83,10 +83,10 @@ class MediaService {
|
|
|
83
83
|
isDesktop() {
|
|
84
84
|
return this.getMedia() === Media.Desktop;
|
|
85
85
|
}
|
|
86
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
87
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MediaService, providedIn: 'root' });
|
|
88
88
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MediaService, decorators: [{
|
|
90
90
|
type: Injectable,
|
|
91
91
|
args: [{
|
|
92
92
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-media.mjs","sources":["../../../packages/core/media/src/media.enum.ts","../../../packages/core/media/src/media.service.ts","../../../packages/core/media/src/igo2-core-media.ts"],"sourcesContent":["export enum Media {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop'\n}\n\nexport enum MediaOrientation {\n Portrait = 'portrait',\n Landscape = 'landscape'\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable, inject } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Media, MediaOrientation } from './media.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediaService {\n public media$ = new BehaviorSubject<Media | undefined>(undefined);\n public orientation$ = new BehaviorSubject<MediaOrientation | undefined>(\n undefined\n );\n\n constructor() {\n const breakpointObserver = inject(BreakpointObserver);\n\n breakpointObserver\n .observe([Breakpoints.HandsetLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.HandsetPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n }\n\n getMedia(): Media | undefined {\n return this.media$.value;\n }\n\n getOrientation(): MediaOrientation | undefined {\n return this.orientation$.value;\n }\n\n isTouchScreen(): boolean {\n return 'ontouchstart' in document.documentElement ? true : false;\n }\n\n isMobile(): boolean {\n return this.getMedia() === Media.Mobile;\n }\n\n isTablet(): boolean {\n return this.getMedia() === Media.Tablet;\n }\n\n isDesktop(): boolean {\n return this.getMedia() === Media.Desktop;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-media.mjs","sources":["../../../packages/core/media/src/media.enum.ts","../../../packages/core/media/src/media.service.ts","../../../packages/core/media/src/igo2-core-media.ts"],"sourcesContent":["export enum Media {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop'\n}\n\nexport enum MediaOrientation {\n Portrait = 'portrait',\n Landscape = 'landscape'\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable, inject } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { Media, MediaOrientation } from './media.enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediaService {\n public media$ = new BehaviorSubject<Media | undefined>(undefined);\n public orientation$ = new BehaviorSubject<MediaOrientation | undefined>(\n undefined\n );\n\n constructor() {\n const breakpointObserver = inject(BreakpointObserver);\n\n breakpointObserver\n .observe([Breakpoints.HandsetLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.HandsetPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Mobile);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletLandscape])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver\n .observe([Breakpoints.TabletPortrait])\n .subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Tablet);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Landscape);\n }\n });\n\n breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe((res) => {\n if (res.matches) {\n this.media$.next(Media.Desktop);\n this.orientation$.next(MediaOrientation.Portrait);\n }\n });\n }\n\n getMedia(): Media | undefined {\n return this.media$.value;\n }\n\n getOrientation(): MediaOrientation | undefined {\n return this.orientation$.value;\n }\n\n isTouchScreen(): boolean {\n return 'ontouchstart' in document.documentElement ? true : false;\n }\n\n isMobile(): boolean {\n return this.getMedia() === Media.Mobile;\n }\n\n isTablet(): boolean {\n return this.getMedia() === Media.Tablet;\n }\n\n isDesktop(): boolean {\n return this.getMedia() === Media.Desktop;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -112,10 +112,10 @@ class ToastComponent {
|
|
|
112
112
|
this.progressIntervalId = null;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
116
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: ToastComponent, isStandalone: true, selector: "igo-toast", outputs: { removed: "removed" }, host: { listeners: { "mouseenter": "onEnter()", "mouseleave": "onLeave()", "touchstart": "onEnter()", "touchend": "onLeave()" }, properties: { "class": "animationState()" } }, ngImport: i0, template: "<div\n class=\"igo-toast\"\n [ngClass]=\"'toast-' + type\"\n [attr.tabindex]=\"config.tapToDismiss ? '0' : null\"\n (click)=\"onTap()\"\n (keydown.enter)=\"onTap()\"\n>\n @if (showIcon) {\n <mat-icon class=\"toast-icon\">\n @switch (type) {\n @case ('success') {\n check_circle\n }\n @case ('error') {\n error\n }\n @case ('warning') {\n warning\n }\n @default {\n info\n }\n }\n </mat-icon>\n }\n <div class=\"toast-content\">\n @if (title) {\n <header class=\"toast-title\">{{ title }}</header>\n }\n @if (!enableHtml) {\n <p class=\"toast-message\">{{ message }}</p>\n } @else {\n <p class=\"toast-message\" [innerHTML]=\"safeMessage\"></p>\n }\n </div>\n @if (config.closeButton) {\n <button matIconButton class=\"toast-close-button\" (click)=\"close($event)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n @if (config.progressBar && !config.disableTimeOut) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\" />\n }\n</div>\n", styles: [":host{display:block;pointer-events:all;opacity:0;transition:opacity .3s ease-out}:host.active{opacity:1;transition:opacity .3s ease-in}:host.inactive,:host.removed{opacity:0}:host ::ng-deep .mdc-linear-progress__bar{transition:transform .15s 0ms cubic-bezier(.4,0,.6,1)}.igo-toast{position:relative;overflow:hidden;padding:12px 16px;border-radius:4px;box-shadow:0 3px 6px -1px #0000001f,0 10px 36px -4px #4d60e84d;color:#fff;min-width:300px;max-width:400px;cursor:pointer;display:flex;align-items:flex-start;gap:12px}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-show{background-color:#2f96b4}.toast-icon{flex-shrink:0;font-size:22px;width:22px;height:22px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:700;font-size:var(--sdg-font-size-h5, 19px);line-height:24px}.toast-message{color:inherit;font-size:13px;word-wrap:break-word;margin-bottom:0!important}.toast-close-button{position:absolute;top:4px;right:4px;opacity:.8;color:inherit}.toast-close-button:hover{opacity:1}mat-progress-bar{position:absolute;bottom:0;left:0;width:100%;--mdc-linear-progress-active-indicator-transition-duration: 0ms;--mdc-linear-progress-active-indicator-color: rgba( 255, 255, 255, .7 ) !important;--mdc-linear-progress-track-color: rgba(255, 255, 255, .3) !important;--mat-progress-bar-active-indicator-color: rgba(255, 255, 255, .7);--mat-progress-bar-track-color: rgba(255, 255, 255, .3);--mdc-linear-progress-track-height: 3px;--mdc-linear-progress-active-indicator-height: 3px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ selector: 'igo-toast', standalone: true, imports: [NgClass, MatIconModule, MatIconButton, MatProgressBar], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
121
121
|
'[class]': 'animationState()',
|
|
@@ -127,10 +127,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
127
127
|
}], propDecorators: { removed: [{ type: i0.Output, args: ["removed"] }] } });
|
|
128
128
|
|
|
129
129
|
class ToastContainerComponent {
|
|
130
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
130
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: ToastContainerComponent, isStandalone: true, selector: "igo-toast-container", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{position:fixed;pointer-events:none;z-index:10000;display:flex;flex-direction:column;row-gap:8px}:host.toast-bottom-right{bottom:12px;right:12px;align-items:flex-end}:host.toast-bottom-left{bottom:12px;left:12px;align-items:flex-start}:host.toast-top-right{top:12px;right:12px;align-items:flex-end}:host.toast-top-left{top:12px;left:12px;align-items:flex-start}:host.toast-top-center{top:12px;left:50%;transform:translate(-50%);align-items:center}:host.toast-bottom-center{bottom:12px;left:50%;transform:translate(-50%);align-items:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
132
132
|
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastContainerComponent, decorators: [{
|
|
134
134
|
type: Component,
|
|
135
135
|
args: [{ selector: 'igo-toast-container', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content></ng-content>`, styles: [":host{position:fixed;pointer-events:none;z-index:10000;display:flex;flex-direction:column;row-gap:8px}:host.toast-bottom-right{bottom:12px;right:12px;align-items:flex-end}:host.toast-bottom-left{bottom:12px;left:12px;align-items:flex-start}:host.toast-top-right{top:12px;right:12px;align-items:flex-end}:host.toast-top-left{top:12px;left:12px;align-items:flex-start}:host.toast-top-center{top:12px;left:50%;transform:translate(-50%);align-items:center}:host.toast-bottom-center{bottom:12px;left:50%;transform:translate(-50%);align-items:center}\n"] }]
|
|
136
136
|
}] });
|
|
@@ -262,10 +262,10 @@ class ToastService {
|
|
|
262
262
|
this.document.body.appendChild(el);
|
|
263
263
|
return this.containerRef;
|
|
264
264
|
}
|
|
265
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
266
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
265
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
266
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
267
267
|
}
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToastService, decorators: [{
|
|
269
269
|
type: Injectable,
|
|
270
270
|
args: [{ providedIn: 'root' }]
|
|
271
271
|
}] });
|
|
@@ -432,10 +432,10 @@ class MessageService {
|
|
|
432
432
|
message.title = undefined;
|
|
433
433
|
return message;
|
|
434
434
|
}
|
|
435
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
436
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
435
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
436
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
437
437
|
}
|
|
438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: MessageService, decorators: [{
|
|
439
439
|
type: Injectable,
|
|
440
440
|
args: [{
|
|
441
441
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-message.mjs","sources":["../../../packages/core/message/src/message.enum.ts","../../../packages/core/message/src/toast/toast/toast.component.ts","../../../packages/core/message/src/toast/toast/toast.component.html","../../../packages/core/message/src/toast/toast-container.component.ts","../../../packages/core/message/src/toast/toast.interface.ts","../../../packages/core/message/src/toast/toast.service.ts","../../../packages/core/message/src/message.provider.ts","../../../packages/core/message/src/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning',\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success',\n SHOW = 'show'\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n inject,\n output,\n signal\n} from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { ToastConfig, ToastType } from '../toast.interface';\n\n@Component({\n selector: 'igo-toast',\n standalone: true,\n imports: [NgClass, MatIconModule, MatIconButton, MatProgressBar],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.scss',\n host: {\n '[class]': 'animationState()',\n '(mouseenter)': 'onEnter()',\n '(mouseleave)': 'onLeave()',\n '(touchstart)': 'onEnter()',\n '(touchend)': 'onLeave()'\n }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n private sanitizer = inject(DomSanitizer);\n\n readonly removed = output<number>();\n toastId!: number;\n type!: ToastType;\n title = '';\n config!: ToastConfig;\n enableHtml = false;\n showIcon = false;\n\n private _message = '';\n safeMessage: SafeHtml = '';\n\n get message(): string {\n return this._message;\n }\n\n set message(value: string) {\n this._message = value;\n this.safeMessage = this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n progress = signal(100);\n animationState = signal<'inactive' | 'active' | 'removed'>('inactive');\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n private progressIntervalId: ReturnType<typeof setInterval> | null = null;\n private startTime = 0;\n private remainingTime = 0;\n private totalTimeOut = 0;\n\n ngOnInit() {\n this.animationState.set('active');\n if (!this.config.disableTimeOut) {\n this.remainingTime = this.config.timeOut ?? 10000;\n this.totalTimeOut = this.remainingTime;\n this.startTimer();\n }\n }\n\n ngOnDestroy() {\n this.clearTimers();\n }\n\n onEnter() {\n if (!this.config.disableTimeOut) {\n this.remainingTime = (this.progress() / 100) * this.totalTimeOut;\n this.clearTimers();\n }\n }\n\n onLeave() {\n if (!this.config.disableTimeOut) {\n if (!this.config.freezeProgressOnHover) {\n const extendedTimeOut = this.config.extendedTimeOut ?? 10000;\n this.remainingTime = extendedTimeOut;\n this.totalTimeOut = extendedTimeOut;\n }\n this.startTimer();\n }\n }\n\n onTap() {\n if (this.config.tapToDismiss) {\n this.remove();\n }\n }\n\n close(event: Event) {\n event.stopPropagation();\n this.remove();\n }\n\n remove() {\n this.clearTimers();\n this.animationState.set('removed');\n setTimeout(() => {\n this.removed.emit(this.toastId);\n }, 300);\n }\n\n private startTimer() {\n this.startTime = Date.now();\n const duration = this.remainingTime;\n this.progress.set((duration / this.totalTimeOut) * 100);\n\n this.progressIntervalId = setInterval(() => {\n const elapsed = Date.now() - this.startTime;\n const remaining = Math.max(0, duration - elapsed);\n this.progress.set((remaining / this.totalTimeOut) * 100);\n }, 50);\n\n this.timeoutId = setTimeout(() => {\n this.remove();\n }, duration);\n }\n\n private clearTimers() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n if (this.progressIntervalId) {\n clearInterval(this.progressIntervalId);\n this.progressIntervalId = null;\n }\n }\n}\n","<div\n class=\"igo-toast\"\n [ngClass]=\"'toast-' + type\"\n [attr.tabindex]=\"config.tapToDismiss ? '0' : null\"\n (click)=\"onTap()\"\n (keydown.enter)=\"onTap()\"\n>\n @if (showIcon) {\n <mat-icon class=\"toast-icon\">\n @switch (type) {\n @case ('success') {\n check_circle\n }\n @case ('error') {\n error\n }\n @case ('warning') {\n warning\n }\n @default {\n info\n }\n }\n </mat-icon>\n }\n <div class=\"toast-content\">\n @if (title) {\n <header class=\"toast-title\">{{ title }}</header>\n }\n @if (!enableHtml) {\n <p class=\"toast-message\">{{ message }}</p>\n } @else {\n <p class=\"toast-message\" [innerHTML]=\"safeMessage\"></p>\n }\n </div>\n @if (config.closeButton) {\n <button matIconButton class=\"toast-close-button\" (click)=\"close($event)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n @if (config.progressBar && !config.disableTimeOut) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\" />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'igo-toast-container',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n styles: [\n `\n :host {\n position: fixed;\n pointer-events: none;\n z-index: 10000;\n display: flex;\n flex-direction: column;\n row-gap: 8px;\n }\n\n :host.toast-bottom-right {\n bottom: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-right {\n top: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-top-left {\n top: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-center {\n top: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n\n :host.toast-bottom-center {\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n `\n ]\n})\nexport class ToastContainerComponent {}\n","export interface ToastConfig {\n timeOut: number;\n extendedTimeOut: number;\n closeButton: boolean;\n progressBar: boolean;\n tapToDismiss: boolean;\n positionClass: string;\n maxOpened: number;\n preventDuplicates: boolean;\n enableHtml: boolean;\n disableTimeOut: boolean;\n showIcon: boolean;\n freezeProgressOnHover: boolean;\n}\n\nexport type IndividualToastConfig = Partial<ToastConfig>;\n\nexport interface ToastRef {\n toastId: number;\n message: string;\n title: string;\n type: ToastType;\n config: ToastConfig;\n}\n\nexport type ToastType = 'success' | 'error' | 'info' | 'warning' | 'show';\n\nexport const DEFAULT_TOAST_CONFIG: ToastConfig = {\n timeOut: 10000,\n extendedTimeOut: 10000,\n closeButton: true,\n progressBar: true,\n tapToDismiss: true,\n positionClass: 'toast-bottom-right',\n maxOpened: 4,\n preventDuplicates: true,\n enableHtml: true,\n disableTimeOut: false,\n showIcon: false,\n freezeProgressOnHover: true\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n Injectable,\n createComponent,\n inject\n} from '@angular/core';\n\nimport { ToastContainerComponent } from './toast-container.component';\nimport {\n DEFAULT_TOAST_CONFIG,\n IndividualToastConfig,\n ToastConfig,\n ToastRef,\n ToastType\n} from './toast.interface';\nimport { ToastComponent } from './toast/toast.component';\n\nexport interface ActiveToast {\n toastId: number;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private appRef = inject(ApplicationRef);\n private document = inject(DOCUMENT);\n\n private toastIdCounter = 0;\n private toasts: Map<number, ComponentRef<ToastComponent>> = new Map();\n private containerRef: ComponentRef<ToastContainerComponent> | null = null;\n private config: ToastConfig = { ...DEFAULT_TOAST_CONFIG };\n private lastMessage = '';\n private lastTitle = '';\n\n configure(config: Partial<ToastConfig>) {\n this.config = { ...this.config, ...config };\n }\n\n success(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('success', message, title, options);\n }\n\n error(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('error', message, title, options);\n }\n\n info(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('info', message, title, options);\n }\n\n warning(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('warning', message, title, options);\n }\n\n remove(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.remove();\n }\n }\n\n /** Called by ToastComponent when removal animation completes */\n removeToast(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n this.appRef.detachView(ref.hostView);\n ref.destroy();\n this.toasts.delete(toastId);\n }\n if (this.toasts.size === 0 && this.containerRef) {\n this.appRef.detachView(this.containerRef.hostView);\n this.containerRef.destroy();\n this.containerRef = null;\n }\n }\n\n getActiveToasts(): ToastRef[] {\n return Array.from(this.toasts.entries()).map(([id, ref]) => ({\n toastId: id,\n message: ref.instance.message,\n title: ref.instance.title,\n type: ref.instance.type,\n config: ref.instance.config as ToastConfig\n }));\n }\n\n updateToast(toastId: number, message: string, title: string) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.message = message;\n ref.instance.title = title;\n }\n }\n\n private show(\n type: ToastType,\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n const mergedConfig = { ...this.config, ...options };\n\n // Prevent duplicates\n if (mergedConfig.preventDuplicates) {\n if (this.lastMessage === message && this.lastTitle === title) {\n // Return last toast id\n const lastEntry = Array.from(this.toasts.entries()).pop();\n if (lastEntry) {\n return { toastId: lastEntry[0] };\n }\n }\n }\n\n // Enforce max opened\n if (mergedConfig.maxOpened && this.toasts.size >= mergedConfig.maxOpened) {\n const firstKey = this.toasts.keys().next().value!;\n this.remove(firstKey);\n }\n\n this.lastMessage = message;\n this.lastTitle = title;\n\n const toastId = ++this.toastIdCounter;\n const container = this.getOrCreateContainer(\n mergedConfig.positionClass || 'toast-bottom-right'\n );\n\n const toastRef = createComponent(ToastComponent, {\n environmentInjector: this.appRef.injector\n });\n\n toastRef.instance.toastId = toastId;\n toastRef.instance.type = type;\n toastRef.instance.message = message;\n toastRef.instance.title = title;\n toastRef.instance.config = mergedConfig;\n toastRef.instance.enableHtml = mergedConfig.enableHtml ?? true;\n toastRef.instance.showIcon = mergedConfig.showIcon ?? false;\n toastRef.instance.removed.subscribe((removedToastId) => {\n this.removeToast(removedToastId);\n });\n\n this.toasts.set(toastId, toastRef);\n this.appRef.attachView(toastRef.hostView);\n container.location.nativeElement.appendChild(\n toastRef.location.nativeElement\n );\n\n return { toastId };\n }\n\n private getOrCreateContainer(\n positionClass: string\n ): ComponentRef<ToastContainerComponent> {\n if (this.containerRef) {\n return this.containerRef;\n }\n\n this.containerRef = createComponent(ToastContainerComponent, {\n environmentInjector: this.appRef.injector\n });\n\n this.appRef.attachView(this.containerRef.hostView);\n const el = this.containerRef.location.nativeElement as HTMLElement;\n el.classList.add(positionClass);\n this.document.body.appendChild(el);\n return this.containerRef;\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ToastConfig, ToastService } from './toast';\n\n/**\n * Provides the message service with custom toast configuration.\n * Since ToastService is providedIn: 'root', this simply configures it.\n */\nexport function provideMessage(\n config?: Partial<ToastConfig>\n): EnvironmentProviders {\n return provideAppInitializer(() => {\n if (!config) {\n return;\n }\n inject(ToastService).configure(config);\n });\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\nimport { ActiveToast, IndividualToastConfig, ToastService } from './toast';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n private configService = inject(ConfigService);\n private languageService = inject(LanguageService);\n private toastService = inject(ToastService);\n\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n\n constructor() {\n this.options = this.configService.getConfig('message');\n }\n\n showError(httpError: HttpErrorResponse) {\n const errorPayload = httpError.error as\n { caught?: boolean; message?: string; title?: string } | undefined;\n\n if (errorPayload && typeof errorPayload === 'object') {\n errorPayload.caught = true;\n }\n\n const message =\n typeof errorPayload?.message === 'string'\n ? errorPayload.message\n : httpError.message;\n const title =\n typeof errorPayload?.title === 'string'\n ? errorPayload.title\n : 'igo.core.message.error';\n\n return this.error(message, title);\n }\n\n message(message: Message) {\n this.messages$.next(this.messages$.value.concat([message]));\n\n const options = { ...(message.options ?? {}) } as MessageOptions;\n const currentDate = new Date();\n const fromDate = this.parseDate(options.from, new Date('1 jan 1900'));\n const toDate = this.parseDate(options.to, new Date('1 jan 3000'));\n\n options.from = fromDate;\n options.to = toDate;\n\n if (message.showIcon !== undefined) {\n options.showIcon = message.showIcon;\n }\n\n if (currentDate >= fromDate && currentDate <= toDate) {\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ERROR:\n messageShown = this.error(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n case MessageType.SHOW:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ALERT:\n case MessageType.WARNING:\n messageShown = this.alert(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n options.id = messageShown.toastId;\n message.options = options;\n }\n }\n }\n\n success(\n text: string,\n title = 'igo.core.message.success',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'success',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n error(\n text: string,\n title = 'igo.core.message.error',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'error',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n info(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n alert(\n text: string,\n title = 'igo.core.message.alert',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'warning',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n show(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleToast(\n type: 'warning' | 'info' | 'error' | 'success',\n text: string,\n title: string,\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n const translatedTextInterpolateParams = this.translateInterpolateParams(\n textInterpolateParams\n );\n const translatedTitleInterpolateParams = this.translateInterpolateParams(\n titleInterpolateParams\n );\n\n const translatedMessage = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitleInterpolateParams\n );\n\n let activeToast: ActiveToast;\n switch (type) {\n case 'success':\n activeToast = this.toastService.success(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'error':\n activeToast = this.toastService.error(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'info':\n activeToast = this.toastService.info(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'warning':\n activeToast = this.toastService.warning(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n }\n\n return activeToast;\n }\n\n private parseDate(value: Date | string | undefined, fallback: Date): Date {\n if (!value) {\n return fallback;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n const directParse = new Date(value);\n if (!Number.isNaN(directParse.getTime())) {\n return directParse;\n }\n\n const normalizedParse = new Date(Date.parse(value.replace(/-/g, ' ')));\n return Number.isNaN(normalizedParse.getTime()) ? fallback : normalizedParse;\n }\n\n private translateInterpolateParams(\n params?: Record<string, unknown>\n ): Record<string, unknown> {\n if (!params) {\n return {};\n }\n\n return Object.keys(params).reduce(\n (acc, key) => {\n const value = params[key];\n acc[key] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n return acc;\n },\n {} as Record<string, unknown>\n );\n }\n\n remove(id: number) {\n this.toastService.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (mess.options?.id && mess.type !== MessageType.ERROR) {\n this.remove(mess.options.id);\n }\n }\n }\n\n private handleTemplate(message: Message): Message {\n if (!this.options?.template || message.html) {\n return message;\n }\n\n let html = this.options?.template;\n html = html.replace('${text}', message.text);\n if (message.title) {\n html = html.replace('${title}', message.title);\n }\n\n message.html = undefined;\n message.text = html;\n message.title = undefined;\n return message;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-core-message.mjs","sources":["../../../packages/core/message/src/message.enum.ts","../../../packages/core/message/src/toast/toast/toast.component.ts","../../../packages/core/message/src/toast/toast/toast.component.html","../../../packages/core/message/src/toast/toast-container.component.ts","../../../packages/core/message/src/toast/toast.interface.ts","../../../packages/core/message/src/toast/toast.service.ts","../../../packages/core/message/src/message.provider.ts","../../../packages/core/message/src/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning',\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success',\n SHOW = 'show'\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n inject,\n output,\n signal\n} from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { ToastConfig, ToastType } from '../toast.interface';\n\n@Component({\n selector: 'igo-toast',\n standalone: true,\n imports: [NgClass, MatIconModule, MatIconButton, MatProgressBar],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.scss',\n host: {\n '[class]': 'animationState()',\n '(mouseenter)': 'onEnter()',\n '(mouseleave)': 'onLeave()',\n '(touchstart)': 'onEnter()',\n '(touchend)': 'onLeave()'\n }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n private sanitizer = inject(DomSanitizer);\n\n readonly removed = output<number>();\n toastId!: number;\n type!: ToastType;\n title = '';\n config!: ToastConfig;\n enableHtml = false;\n showIcon = false;\n\n private _message = '';\n safeMessage: SafeHtml = '';\n\n get message(): string {\n return this._message;\n }\n\n set message(value: string) {\n this._message = value;\n this.safeMessage = this.sanitizer.bypassSecurityTrustHtml(value);\n }\n\n progress = signal(100);\n animationState = signal<'inactive' | 'active' | 'removed'>('inactive');\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n private progressIntervalId: ReturnType<typeof setInterval> | null = null;\n private startTime = 0;\n private remainingTime = 0;\n private totalTimeOut = 0;\n\n ngOnInit() {\n this.animationState.set('active');\n if (!this.config.disableTimeOut) {\n this.remainingTime = this.config.timeOut ?? 10000;\n this.totalTimeOut = this.remainingTime;\n this.startTimer();\n }\n }\n\n ngOnDestroy() {\n this.clearTimers();\n }\n\n onEnter() {\n if (!this.config.disableTimeOut) {\n this.remainingTime = (this.progress() / 100) * this.totalTimeOut;\n this.clearTimers();\n }\n }\n\n onLeave() {\n if (!this.config.disableTimeOut) {\n if (!this.config.freezeProgressOnHover) {\n const extendedTimeOut = this.config.extendedTimeOut ?? 10000;\n this.remainingTime = extendedTimeOut;\n this.totalTimeOut = extendedTimeOut;\n }\n this.startTimer();\n }\n }\n\n onTap() {\n if (this.config.tapToDismiss) {\n this.remove();\n }\n }\n\n close(event: Event) {\n event.stopPropagation();\n this.remove();\n }\n\n remove() {\n this.clearTimers();\n this.animationState.set('removed');\n setTimeout(() => {\n this.removed.emit(this.toastId);\n }, 300);\n }\n\n private startTimer() {\n this.startTime = Date.now();\n const duration = this.remainingTime;\n this.progress.set((duration / this.totalTimeOut) * 100);\n\n this.progressIntervalId = setInterval(() => {\n const elapsed = Date.now() - this.startTime;\n const remaining = Math.max(0, duration - elapsed);\n this.progress.set((remaining / this.totalTimeOut) * 100);\n }, 50);\n\n this.timeoutId = setTimeout(() => {\n this.remove();\n }, duration);\n }\n\n private clearTimers() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n if (this.progressIntervalId) {\n clearInterval(this.progressIntervalId);\n this.progressIntervalId = null;\n }\n }\n}\n","<div\n class=\"igo-toast\"\n [ngClass]=\"'toast-' + type\"\n [attr.tabindex]=\"config.tapToDismiss ? '0' : null\"\n (click)=\"onTap()\"\n (keydown.enter)=\"onTap()\"\n>\n @if (showIcon) {\n <mat-icon class=\"toast-icon\">\n @switch (type) {\n @case ('success') {\n check_circle\n }\n @case ('error') {\n error\n }\n @case ('warning') {\n warning\n }\n @default {\n info\n }\n }\n </mat-icon>\n }\n <div class=\"toast-content\">\n @if (title) {\n <header class=\"toast-title\">{{ title }}</header>\n }\n @if (!enableHtml) {\n <p class=\"toast-message\">{{ message }}</p>\n } @else {\n <p class=\"toast-message\" [innerHTML]=\"safeMessage\"></p>\n }\n </div>\n @if (config.closeButton) {\n <button matIconButton class=\"toast-close-button\" (click)=\"close($event)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n @if (config.progressBar && !config.disableTimeOut) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\" />\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'igo-toast-container',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content></ng-content>`,\n styles: [\n `\n :host {\n position: fixed;\n pointer-events: none;\n z-index: 10000;\n display: flex;\n flex-direction: column;\n row-gap: 8px;\n }\n\n :host.toast-bottom-right {\n bottom: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-right {\n top: 12px;\n right: 12px;\n align-items: flex-end;\n }\n\n :host.toast-top-left {\n top: 12px;\n left: 12px;\n align-items: flex-start;\n }\n\n :host.toast-top-center {\n top: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n\n :host.toast-bottom-center {\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n }\n `\n ]\n})\nexport class ToastContainerComponent {}\n","export interface ToastConfig {\n timeOut: number;\n extendedTimeOut: number;\n closeButton: boolean;\n progressBar: boolean;\n tapToDismiss: boolean;\n positionClass: string;\n maxOpened: number;\n preventDuplicates: boolean;\n enableHtml: boolean;\n disableTimeOut: boolean;\n showIcon: boolean;\n freezeProgressOnHover: boolean;\n}\n\nexport type IndividualToastConfig = Partial<ToastConfig>;\n\nexport interface ToastRef {\n toastId: number;\n message: string;\n title: string;\n type: ToastType;\n config: ToastConfig;\n}\n\nexport type ToastType = 'success' | 'error' | 'info' | 'warning' | 'show';\n\nexport const DEFAULT_TOAST_CONFIG: ToastConfig = {\n timeOut: 10000,\n extendedTimeOut: 10000,\n closeButton: true,\n progressBar: true,\n tapToDismiss: true,\n positionClass: 'toast-bottom-right',\n maxOpened: 4,\n preventDuplicates: true,\n enableHtml: true,\n disableTimeOut: false,\n showIcon: false,\n freezeProgressOnHover: true\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentRef,\n Injectable,\n createComponent,\n inject\n} from '@angular/core';\n\nimport { ToastContainerComponent } from './toast-container.component';\nimport {\n DEFAULT_TOAST_CONFIG,\n IndividualToastConfig,\n ToastConfig,\n ToastRef,\n ToastType\n} from './toast.interface';\nimport { ToastComponent } from './toast/toast.component';\n\nexport interface ActiveToast {\n toastId: number;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private appRef = inject(ApplicationRef);\n private document = inject(DOCUMENT);\n\n private toastIdCounter = 0;\n private toasts: Map<number, ComponentRef<ToastComponent>> = new Map();\n private containerRef: ComponentRef<ToastContainerComponent> | null = null;\n private config: ToastConfig = { ...DEFAULT_TOAST_CONFIG };\n private lastMessage = '';\n private lastTitle = '';\n\n configure(config: Partial<ToastConfig>) {\n this.config = { ...this.config, ...config };\n }\n\n success(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('success', message, title, options);\n }\n\n error(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('error', message, title, options);\n }\n\n info(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('info', message, title, options);\n }\n\n warning(\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n return this.show('warning', message, title, options);\n }\n\n remove(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.remove();\n }\n }\n\n /** Called by ToastComponent when removal animation completes */\n removeToast(toastId: number) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n this.appRef.detachView(ref.hostView);\n ref.destroy();\n this.toasts.delete(toastId);\n }\n if (this.toasts.size === 0 && this.containerRef) {\n this.appRef.detachView(this.containerRef.hostView);\n this.containerRef.destroy();\n this.containerRef = null;\n }\n }\n\n getActiveToasts(): ToastRef[] {\n return Array.from(this.toasts.entries()).map(([id, ref]) => ({\n toastId: id,\n message: ref.instance.message,\n title: ref.instance.title,\n type: ref.instance.type,\n config: ref.instance.config as ToastConfig\n }));\n }\n\n updateToast(toastId: number, message: string, title: string) {\n const ref = this.toasts.get(toastId);\n if (ref) {\n ref.instance.message = message;\n ref.instance.title = title;\n }\n }\n\n private show(\n type: ToastType,\n message: string,\n title: string,\n options?: IndividualToastConfig\n ): ActiveToast {\n const mergedConfig = { ...this.config, ...options };\n\n // Prevent duplicates\n if (mergedConfig.preventDuplicates) {\n if (this.lastMessage === message && this.lastTitle === title) {\n // Return last toast id\n const lastEntry = Array.from(this.toasts.entries()).pop();\n if (lastEntry) {\n return { toastId: lastEntry[0] };\n }\n }\n }\n\n // Enforce max opened\n if (mergedConfig.maxOpened && this.toasts.size >= mergedConfig.maxOpened) {\n const firstKey = this.toasts.keys().next().value!;\n this.remove(firstKey);\n }\n\n this.lastMessage = message;\n this.lastTitle = title;\n\n const toastId = ++this.toastIdCounter;\n const container = this.getOrCreateContainer(\n mergedConfig.positionClass || 'toast-bottom-right'\n );\n\n const toastRef = createComponent(ToastComponent, {\n environmentInjector: this.appRef.injector\n });\n\n toastRef.instance.toastId = toastId;\n toastRef.instance.type = type;\n toastRef.instance.message = message;\n toastRef.instance.title = title;\n toastRef.instance.config = mergedConfig;\n toastRef.instance.enableHtml = mergedConfig.enableHtml ?? true;\n toastRef.instance.showIcon = mergedConfig.showIcon ?? false;\n toastRef.instance.removed.subscribe((removedToastId) => {\n this.removeToast(removedToastId);\n });\n\n this.toasts.set(toastId, toastRef);\n this.appRef.attachView(toastRef.hostView);\n container.location.nativeElement.appendChild(\n toastRef.location.nativeElement\n );\n\n return { toastId };\n }\n\n private getOrCreateContainer(\n positionClass: string\n ): ComponentRef<ToastContainerComponent> {\n if (this.containerRef) {\n return this.containerRef;\n }\n\n this.containerRef = createComponent(ToastContainerComponent, {\n environmentInjector: this.appRef.injector\n });\n\n this.appRef.attachView(this.containerRef.hostView);\n const el = this.containerRef.location.nativeElement as HTMLElement;\n el.classList.add(positionClass);\n this.document.body.appendChild(el);\n return this.containerRef;\n }\n}\n","import {\n EnvironmentProviders,\n inject,\n provideAppInitializer\n} from '@angular/core';\n\nimport { ToastConfig, ToastService } from './toast';\n\n/**\n * Provides the message service with custom toast configuration.\n * Since ToastService is providedIn: 'root', this simply configures it.\n */\nexport function provideMessage(\n config?: Partial<ToastConfig>\n): EnvironmentProviders {\n return provideAppInitializer(() => {\n if (!config) {\n return;\n }\n inject(ToastService).configure(config);\n });\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\nimport { ActiveToast, IndividualToastConfig, ToastService } from './toast';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n private configService = inject(ConfigService);\n private languageService = inject(LanguageService);\n private toastService = inject(ToastService);\n\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n\n constructor() {\n this.options = this.configService.getConfig('message');\n }\n\n showError(httpError: HttpErrorResponse) {\n const errorPayload = httpError.error as\n { caught?: boolean; message?: string; title?: string } | undefined;\n\n if (errorPayload && typeof errorPayload === 'object') {\n errorPayload.caught = true;\n }\n\n const message =\n typeof errorPayload?.message === 'string'\n ? errorPayload.message\n : httpError.message;\n const title =\n typeof errorPayload?.title === 'string'\n ? errorPayload.title\n : 'igo.core.message.error';\n\n return this.error(message, title);\n }\n\n message(message: Message) {\n this.messages$.next(this.messages$.value.concat([message]));\n\n const options = { ...(message.options ?? {}) } as MessageOptions;\n const currentDate = new Date();\n const fromDate = this.parseDate(options.from, new Date('1 jan 1900'));\n const toDate = this.parseDate(options.to, new Date('1 jan 3000'));\n\n options.from = fromDate;\n options.to = toDate;\n\n if (message.showIcon !== undefined) {\n options.showIcon = message.showIcon;\n }\n\n if (currentDate >= fromDate && currentDate <= toDate) {\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ERROR:\n messageShown = this.error(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n case MessageType.SHOW:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.ALERT:\n case MessageType.WARNING:\n messageShown = this.alert(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n options.id = messageShown.toastId;\n message.options = options;\n }\n }\n }\n\n success(\n text: string,\n title = 'igo.core.message.success',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'success',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n error(\n text: string,\n title = 'igo.core.message.error',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'error',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n info(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n alert(\n text: string,\n title = 'igo.core.message.alert',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'warning',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n show(\n text: string,\n title = 'igo.core.message.info',\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n return this.handleToast(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleToast(\n type: 'warning' | 'info' | 'error' | 'success',\n text: string,\n title: string,\n options: IndividualToastConfig = {},\n textInterpolateParams?: Record<string, unknown>,\n titleInterpolateParams?: Record<string, unknown>\n ): ActiveToast {\n const translatedTextInterpolateParams = this.translateInterpolateParams(\n textInterpolateParams\n );\n const translatedTitleInterpolateParams = this.translateInterpolateParams(\n titleInterpolateParams\n );\n\n const translatedMessage = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitleInterpolateParams\n );\n\n let activeToast: ActiveToast;\n switch (type) {\n case 'success':\n activeToast = this.toastService.success(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'error':\n activeToast = this.toastService.error(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'info':\n activeToast = this.toastService.info(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n case 'warning':\n activeToast = this.toastService.warning(\n translatedMessage,\n translatedTitle,\n options\n );\n break;\n }\n\n return activeToast;\n }\n\n private parseDate(value: Date | string | undefined, fallback: Date): Date {\n if (!value) {\n return fallback;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n const directParse = new Date(value);\n if (!Number.isNaN(directParse.getTime())) {\n return directParse;\n }\n\n const normalizedParse = new Date(Date.parse(value.replace(/-/g, ' ')));\n return Number.isNaN(normalizedParse.getTime()) ? fallback : normalizedParse;\n }\n\n private translateInterpolateParams(\n params?: Record<string, unknown>\n ): Record<string, unknown> {\n if (!params) {\n return {};\n }\n\n return Object.keys(params).reduce(\n (acc, key) => {\n const value = params[key];\n acc[key] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n return acc;\n },\n {} as Record<string, unknown>\n );\n }\n\n remove(id: number) {\n this.toastService.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (mess.options?.id && mess.type !== MessageType.ERROR) {\n this.remove(mess.options.id);\n }\n }\n }\n\n private handleTemplate(message: Message): Message {\n if (!this.options?.template || message.html) {\n return message;\n }\n\n let html = this.options?.template;\n html = html.replace('${text}', message.text);\n if (message.title) {\n html = html.replace('${title}', message.title);\n }\n\n message.html = undefined;\n message.text = html;\n message.title = undefined;\n return message;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-monitoring.mjs","sources":["../../../packages/core/monitoring/src/shared/monitoring.ts","../../../packages/core/monitoring/src/sentry/sentry.ts","../../../packages/core/monitoring/src/sentry/sentry.provider.ts","../../../packages/core/monitoring/src/sentry/sentry.utils.ts","../../../packages/core/monitoring/src/__mocks__/monitoring-mock.ts","../../../packages/core/monitoring/src/igo2-core-monitoring.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { MonitoringOptions } from './monitoring.interface';\n\nexport const MONITORING_OPTIONS = new InjectionToken<MonitoringOptions | null>(\n 'monitoring.options'\n);\n","import {\n BrowserOptions,\n SentryErrorHandler,\n createErrorHandler,\n getClient,\n init\n} from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const createSentryErrorHandler = (\n options: SentryMonitoringOptions\n): SentryErrorHandler => {\n return createErrorHandler({\n logErrors: options.logErrors,\n ...(options.errorHandlerOptions ?? {})\n });\n};\n\nexport const initSentry = (\n options: SentryMonitoringOptions,\n force?: boolean\n): void => {\n const client = getClient();\n if (!force && client) {\n return;\n }\n\n init(options as unknown as BrowserOptions);\n};\n","import {\n EnvironmentProviders,\n ErrorHandler,\n Provider,\n inject,\n provideAppInitializer\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TraceService, browserTracingIntegration } from '@sentry/angular';\n\nimport { MONITORING_OPTIONS } from '../shared';\nimport { createSentryErrorHandler, initSentry } from './sentry';\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const provideSentryMonitoring = (\n options: SentryMonitoringOptions,\n integrations?: SentryIntegrationFactory<SentryIntegrationKind>[]\n): (Provider | EnvironmentProviders)[] => {\n const isEnabled = options.enabled !== undefined ? options.enabled : true;\n if (!isEnabled) {\n return [];\n }\n\n const providers: (Provider | EnvironmentProviders)[] = [\n { provide: MONITORING_OPTIONS, useValue: options },\n {\n provide: ErrorHandler,\n useFactory: () => createSentryErrorHandler(options)\n }\n ];\n\n if (integrations) {\n for (const integration of integrations) {\n const value = integration(options);\n providers.push(...value.providers);\n }\n }\n\n initSentry(options);\n\n return providers;\n};\n\nexport interface SentryIntegration<KindT extends SentryIntegrationKind> {\n kind: KindT;\n providers: (Provider | EnvironmentProviders)[];\n}\n\ntype SentryIntegrationFactory<KindT extends SentryIntegrationKind> = (\n sentryOptions: SentryMonitoringOptions\n) => SentryIntegration<KindT>;\n\nexport enum SentryIntegrationKind {\n Tracing = 0,\n Replay = 1\n}\n\nexport function withTracingIntegration(\n options: Parameters<typeof browserTracingIntegration>[0]\n): SentryIntegrationFactory<SentryIntegrationKind.Tracing> {\n return (sentryOptions: SentryMonitoringOptions) => {\n sentryOptions.integrations = [\n ...(sentryOptions.integrations ?? []),\n browserTracingIntegration(options)\n ];\n\n return {\n kind: SentryIntegrationKind.Tracing,\n providers: [\n {\n provide: TraceService,\n deps: [Router]\n },\n // Force instantiate TraceService to avoid require it in any constructor.\n provideAppInitializer(() => {\n inject(TraceService);\n return;\n })\n ]\n };\n };\n}\n","import { BaseUser } from '@igo2/core/user';\n\nimport { setUser } from '@sentry/angular';\n\nexport const identifySentryUser = (user: BaseUser | null): void => {\n setUser(\n user\n ? {\n id: user.id,\n username: `${user.firstName} ${user.lastName}`,\n email: user.email\n }\n : null\n );\n};\n","import { SentryMonitoringOptions } from '../sentry';\nimport { AnyMonitoringOptions } from '../shared';\n\nexport const MOCK_SENTRY_OPTIONS: SentryMonitoringOptions = {\n provider: 'sentry',\n dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',\n identifyUser: true\n};\n\nexport const MOCK_MONITORING_OPTIONS: AnyMonitoringOptions =\n MOCK_SENTRY_OPTIONS;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MAIa,kBAAkB,GAAG,IAAI,cAAc,CAClD,oBAAoB;;ACKf,MAAM,wBAAwB,GAAG,CACtC,OAAgC,KACV;AACtB,IAAA,OAAO,kBAAkB,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;AAC5B,QAAA,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE;AACtC,KAAA,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,CACxB,OAAgC,EAChC,KAAe,KACP;AACR,IAAA,MAAM,MAAM,GAAG,SAAS,EAAE;AAC1B,IAAA,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;QACpB;IACF;IAEA,IAAI,CAAC,OAAoC,CAAC;AAC5C,CAAC;;MCdY,uBAAuB,GAAG,CACrC,OAAgC,EAChC,YAAgE,KACzB;AACvC,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI;IACxE,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,MAAM,SAAS,GAAwC;AACrD,QAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE;AAClD,QAAA;AACE,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,UAAU,EAAE,MAAM,wBAAwB,CAAC,OAAO;AACnD;KACF;IAED,IAAI,YAAY,EAAE;AAChB,QAAA,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;AACtC,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC;IACF;IAEA,UAAU,CAAC,OAAO,CAAC;AAEnB,IAAA,OAAO,SAAS;AAClB;IAWY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,qBAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACZ,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAK3B,SAAU,sBAAsB,CACpC,OAAwD,EAAA;IAExD,OAAO,CAAC,aAAsC,KAAI;QAChD,aAAa,CAAC,YAAY,GAAG;AAC3B,YAAA,IAAI,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC;YACrC,yBAAyB,CAAC,OAAO;SAClC;QAED,OAAO;YACL,IAAI,EAAE,qBAAqB,CAAC,OAAO;AACnC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,CAAC,MAAM;AACd,iBAAA;;gBAED,qBAAqB,CAAC,MAAK;oBACzB,MAAM,CAAC,YAAY,CAAC;oBACpB;AACF,gBAAA,CAAC;AACF;SACF;AACH,IAAA,CAAC;AACH;;AC9EO,MAAM,kBAAkB,GAAG,CAAC,IAAqB,KAAU;AAChE,IAAA,OAAO,CACL;AACE,UAAE;YACE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;YAC9C,KAAK,EAAE,IAAI,CAAC;AACb;UACD,IAAI,CACT;AACH;;ACXO,MAAM,mBAAmB,GAA4B;AAC1D,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,GAAG,EAAE,gDAAgD;AACrD,IAAA,YAAY,EAAE;;AAGT,MAAM,uBAAuB,GAClC;;ACVF;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-core-monitoring.mjs","sources":["../../../packages/core/monitoring/src/shared/monitoring.ts","../../../packages/core/monitoring/src/sentry/sentry.ts","../../../packages/core/monitoring/src/sentry/sentry.provider.ts","../../../packages/core/monitoring/src/sentry/sentry.utils.ts","../../../packages/core/monitoring/src/__mocks__/monitoring-mock.ts","../../../packages/core/monitoring/src/igo2-core-monitoring.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nimport { MonitoringOptions } from './monitoring.interface';\n\nexport const MONITORING_OPTIONS = new InjectionToken<MonitoringOptions | null>(\n 'monitoring.options'\n);\n","import {\n BrowserOptions,\n SentryErrorHandler,\n createErrorHandler,\n getClient,\n init\n} from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const createSentryErrorHandler = (\n options: SentryMonitoringOptions\n): SentryErrorHandler => {\n return createErrorHandler({\n logErrors: options.logErrors,\n ...(options.errorHandlerOptions ?? {})\n });\n};\n\nexport const initSentry = (\n options: SentryMonitoringOptions,\n force?: boolean\n): void => {\n const client = getClient();\n if (!force && client) {\n return;\n }\n\n init(options as unknown as BrowserOptions);\n};\n","import {\n EnvironmentProviders,\n ErrorHandler,\n Provider,\n inject,\n provideAppInitializer\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TraceService, browserTracingIntegration } from '@sentry/angular';\n\nimport { MONITORING_OPTIONS } from '../shared';\nimport { createSentryErrorHandler, initSentry } from './sentry';\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const provideSentryMonitoring = (\n options: SentryMonitoringOptions,\n integrations?: SentryIntegrationFactory<SentryIntegrationKind>[]\n): (Provider | EnvironmentProviders)[] => {\n const isEnabled = options.enabled !== undefined ? options.enabled : true;\n if (!isEnabled) {\n return [];\n }\n\n const providers: (Provider | EnvironmentProviders)[] = [\n { provide: MONITORING_OPTIONS, useValue: options },\n {\n provide: ErrorHandler,\n useFactory: () => createSentryErrorHandler(options)\n }\n ];\n\n if (integrations) {\n for (const integration of integrations) {\n const value = integration(options);\n providers.push(...value.providers);\n }\n }\n\n initSentry(options);\n\n return providers;\n};\n\nexport interface SentryIntegration<KindT extends SentryIntegrationKind> {\n kind: KindT;\n providers: (Provider | EnvironmentProviders)[];\n}\n\ntype SentryIntegrationFactory<KindT extends SentryIntegrationKind> = (\n sentryOptions: SentryMonitoringOptions\n) => SentryIntegration<KindT>;\n\nexport enum SentryIntegrationKind {\n Tracing = 0,\n Replay = 1\n}\n\nexport function withTracingIntegration(\n options: Parameters<typeof browserTracingIntegration>[0]\n): SentryIntegrationFactory<SentryIntegrationKind.Tracing> {\n return (sentryOptions: SentryMonitoringOptions) => {\n sentryOptions.integrations = [\n ...(sentryOptions.integrations ?? []),\n browserTracingIntegration(options)\n ];\n\n return {\n kind: SentryIntegrationKind.Tracing,\n providers: [\n {\n provide: TraceService,\n deps: [Router]\n },\n // Force instantiate TraceService to avoid require it in any constructor.\n provideAppInitializer(() => {\n inject(TraceService);\n return;\n })\n ]\n };\n };\n}\n","import { BaseUser } from '@igo2/core/user';\n\nimport { setUser } from '@sentry/angular';\n\nexport const identifySentryUser = (user: BaseUser | null): void => {\n setUser(\n user\n ? {\n id: user.id,\n username: `${user.firstName} ${user.lastName}`,\n email: user.email\n }\n : null\n );\n};\n","import { SentryMonitoringOptions } from '../sentry';\nimport { AnyMonitoringOptions } from '../shared';\n\nexport const MOCK_SENTRY_OPTIONS: SentryMonitoringOptions = {\n provider: 'sentry',\n dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',\n identifyUser: true\n};\n\nexport const MOCK_MONITORING_OPTIONS: AnyMonitoringOptions =\n MOCK_SENTRY_OPTIONS;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MAIa,kBAAkB,GAAG,IAAI,cAAc,CAClD,oBAAoB;;ACKf,MAAM,wBAAwB,GAAG,CACtC,OAAgC,KACV;AACtB,IAAA,OAAO,kBAAkB,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;AAC5B,QAAA,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE;AACtC,KAAA,CAAC;AACJ,CAAC;AAEM,MAAM,UAAU,GAAG,CACxB,OAAgC,EAChC,KAAe,KACP;AACR,IAAA,MAAM,MAAM,GAAG,SAAS,EAAE;AAC1B,IAAA,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;QACpB;IACF;IAEA,IAAI,CAAC,OAAoC,CAAC;AAC5C,CAAC;;MCdY,uBAAuB,GAAG,CACrC,OAAgC,EAChC,YAAgE,KACzB;AACvC,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI;IACxE,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,MAAM,SAAS,GAAwC;AACrD,QAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE;AAClD,QAAA;AACE,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,UAAU,EAAE,MAAM,wBAAwB,CAAC,OAAO;AACnD;KACF;IAED,IAAI,YAAY,EAAE;AAChB,QAAA,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;AACtC,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC;IACF;IAEA,UAAU,CAAC,OAAO,CAAC;AAEnB,IAAA,OAAO,SAAS;AAClB;IAWY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,qBAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACZ,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAK3B,SAAU,sBAAsB,CACpC,OAAwD,EAAA;IAExD,OAAO,CAAC,aAAsC,KAAI;QAChD,aAAa,CAAC,YAAY,GAAG;AAC3B,YAAA,IAAI,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC;YACrC,yBAAyB,CAAC,OAAO;SAClC;QAED,OAAO;YACL,IAAI,EAAE,qBAAqB,CAAC,OAAO;AACnC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,CAAC,MAAM;AACd,iBAAA;;gBAED,qBAAqB,CAAC,MAAK;oBACzB,MAAM,CAAC,YAAY,CAAC;oBACpB;AACF,gBAAA,CAAC;AACF;SACF;AACH,IAAA,CAAC;AACH;;AC9EO,MAAM,kBAAkB,GAAG,CAAC,IAAqB,KAAU;AAChE,IAAA,OAAO,CACL;AACE,UAAE;YACE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;YAC9C,KAAK,EAAE,IAAI,CAAC;AACb;UACD,IAAI,CACT;AACH;;ACXO,MAAM,mBAAmB,GAA4B;AAC1D,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,GAAG,EAAE,gDAAgD;AACrD,IAAA,YAAY,EAAE;;AAGT,MAAM,uBAAuB,GAClC;;ACVF;;AAEG;;"}
|
|
@@ -48,10 +48,10 @@ class NetworkService {
|
|
|
48
48
|
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
49
49
|
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
50
50
|
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
52
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: NetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: NetworkService, providedIn: 'root' });
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: NetworkService, decorators: [{
|
|
55
55
|
type: Injectable,
|
|
56
56
|
args: [{
|
|
57
57
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-network.mjs","sources":["../../../packages/core/network/src/network.service.ts","../../../packages/core/network/src/igo2-core-network.ts"],"sourcesContent":["import { EventEmitter, Injectable, OnDestroy, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { ConnectionState } from './network.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService implements OnDestroy {\n private messageService = inject(MessageService);\n\n private stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription?: Subscription;\n private offlineSubscription?: Subscription;\n private previousMessageId?: number;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor() {\n this.checkNetworkState();\n }\n\n private checkNetworkState() {\n this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.online.message',\n 'igo.core.network.online.title'\n );\n this.previousMessageId = messageObj.toastId;\n this.state.connection = true;\n this.emitEvent();\n });\n\n this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.offline.message',\n 'igo.core.network.offline.title'\n );\n this.previousMessageId = messageObj.toastId;\n this.state.connection = false;\n this.emitEvent();\n });\n }\n\n private emitEvent() {\n this.stateChangeEventEmitter.emit(this.state);\n }\n\n ngOnDestroy(): void {\n this.offlineSubscription?.unsubscribe();\n this.onlineSubscription?.unsubscribe();\n }\n\n currentState(reportState = true): Observable<ConnectionState> {\n return reportState\n ? this.stateChangeEventEmitter.pipe(\n debounceTime(300),\n startWith(this.state)\n )\n : this.stateChangeEventEmitter.pipe(debounceTime(300));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAYa,cAAc,CAAA;AACjB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAEvC,IAAA,uBAAuB,GAAG,IAAI,YAAY,EAAmB;AAC7D,IAAA,kBAAkB;AAClB,IAAA,mBAAmB;AACnB,IAAA,iBAAiB;AAEjB,IAAA,KAAK,GAAoB;AAC/B,QAAA,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;KAC9B;AAED,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AACnE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,iCAAiC,EACjC,+BAA+B,CAChC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;YAC5B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,MAAK;AACrE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,kCAAkC,EAClC,gCAAgC,CACjC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK;YAC7B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;IACJ;IAEQ,SAAS,GAAA;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE;AACvC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;IAEA,YAAY,CAAC,WAAW,GAAG,IAAI,EAAA;AAC7B,QAAA,OAAO;AACL,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC/B,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAEzB,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1D;wGA5DW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACXD;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-core-network.mjs","sources":["../../../packages/core/network/src/network.service.ts","../../../packages/core/network/src/igo2-core-network.ts"],"sourcesContent":["import { EventEmitter, Injectable, OnDestroy, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { ConnectionState } from './network.interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService implements OnDestroy {\n private messageService = inject(MessageService);\n\n private stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription?: Subscription;\n private offlineSubscription?: Subscription;\n private previousMessageId?: number;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor() {\n this.checkNetworkState();\n }\n\n private checkNetworkState() {\n this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.online.message',\n 'igo.core.network.online.title'\n );\n this.previousMessageId = messageObj.toastId;\n this.state.connection = true;\n this.emitEvent();\n });\n\n this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {\n if (this.previousMessageId) {\n this.messageService.remove(this.previousMessageId);\n }\n const messageObj = this.messageService.info(\n 'igo.core.network.offline.message',\n 'igo.core.network.offline.title'\n );\n this.previousMessageId = messageObj.toastId;\n this.state.connection = false;\n this.emitEvent();\n });\n }\n\n private emitEvent() {\n this.stateChangeEventEmitter.emit(this.state);\n }\n\n ngOnDestroy(): void {\n this.offlineSubscription?.unsubscribe();\n this.onlineSubscription?.unsubscribe();\n }\n\n currentState(reportState = true): Observable<ConnectionState> {\n return reportState\n ? this.stateChangeEventEmitter.pipe(\n debounceTime(300),\n startWith(this.state)\n )\n : this.stateChangeEventEmitter.pipe(debounceTime(300));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAYa,cAAc,CAAA;AACjB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAEvC,IAAA,uBAAuB,GAAG,IAAI,YAAY,EAAmB;AAC7D,IAAA,kBAAkB;AAClB,IAAA,mBAAmB;AACnB,IAAA,iBAAiB;AAEjB,IAAA,KAAK,GAAoB;AAC/B,QAAA,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;KAC9B;AAED,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AACnE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,iCAAiC,EACjC,+BAA+B,CAChC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;YAC5B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,MAAK;AACrE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD;AACA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,kCAAkC,EAClC,gCAAgC,CACjC;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK;YAC7B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC,CAAC;IACJ;IAEQ,SAAS,GAAA;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE;AACvC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;IAEA,YAAY,CAAC,WAAW,GAAG,IAAI,EAAA;AAC7B,QAAA,OAAO;AACL,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC/B,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAEzB,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC1D;wGA5DW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACXD;;AAEG;;"}
|
|
@@ -17,10 +17,10 @@ class RegexService {
|
|
|
17
17
|
}
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
21
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RegexService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RegexService, providedIn: 'root' });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RegexService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-regex.mjs","sources":["../../../packages/core/regex/src/regex.service.ts","../../../packages/core/regex/src/igo2-core-regex.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { RegexOptions } from './regex.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegexService {\n private config = inject(ConfigService);\n\n protected options: RegexOptions;\n\n constructor() {\n this.options = this.config.getConfig('regex');\n }\n\n getAll() {\n return this.options;\n }\n\n get(key: string) {\n if (this.options) {\n return this.options[key];\n }\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAE5B,IAAA,OAAO;AAEjB,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C;IAEA,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,GAAG,CAAC,GAAW,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B;QACA;IACF;wGAlBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACRD;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-core-regex.mjs","sources":["../../../packages/core/regex/src/regex.service.ts","../../../packages/core/regex/src/igo2-core-regex.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { RegexOptions } from './regex.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegexService {\n private config = inject(ConfigService);\n\n protected options: RegexOptions;\n\n constructor() {\n this.options = this.config.getConfig('regex');\n }\n\n getAll() {\n return this.options;\n }\n\n get(key: string) {\n if (this.options) {\n return this.options[key];\n }\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MASa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAE5B,IAAA,OAAO;AAEjB,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IAC/C;IAEA,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,GAAG,CAAC,GAAW,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B;QACA;IACF;wGAlBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACRD;;AAEG;;"}
|
|
@@ -57,10 +57,10 @@ class ErrorInterceptor {
|
|
|
57
57
|
progressBar: false
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
61
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ErrorInterceptor, providedIn: 'root' });
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
64
64
|
type: Injectable,
|
|
65
65
|
args: [{
|
|
66
66
|
providedIn: 'root'
|
|
@@ -89,11 +89,11 @@ class IgoErrorModule {
|
|
|
89
89
|
throw new Error('IgoErrorModule is already loaded. Import it in the AppModule only');
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
93
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
94
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
93
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoErrorModule });
|
|
94
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoErrorModule });
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoErrorModule, decorators: [{
|
|
97
97
|
type: NgModule,
|
|
98
98
|
args: [{
|
|
99
99
|
imports: [],
|
|
@@ -120,10 +120,10 @@ class LoggingInterceptor {
|
|
|
120
120
|
console.log(msg);
|
|
121
121
|
}));
|
|
122
122
|
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LoggingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LoggingInterceptor });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: LoggingInterceptor, decorators: [{
|
|
127
127
|
type: Injectable
|
|
128
128
|
}] });
|
|
129
129
|
|
|
@@ -140,11 +140,11 @@ class IgoLoggingModule {
|
|
|
140
140
|
]
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
144
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
145
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
143
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLoggingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
144
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoLoggingModule });
|
|
145
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLoggingModule });
|
|
146
146
|
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoLoggingModule, decorators: [{
|
|
148
148
|
type: NgModule,
|
|
149
149
|
args: [{
|
|
150
150
|
imports: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-request.mjs","sources":["../../../packages/core/request/src/error.interceptor.ts","../../../packages/core/request/src/error.module.ts","../../../packages/core/request/src/logging.interceptor.ts","../../../packages/core/request/src/logging.module.ts","../../../packages/core/request/src/igo2-core-request.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\n\ntype ErrorContainer = { httpError?: HttpErrorResponse };\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n private messageService = inject(MessageService);\n\n intercept(\n originalReq: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const interceptError = originalReq.headers.get('interceptError');\n const req = originalReq.clone({\n headers: originalReq.headers.delete('interceptError')\n });\n if (interceptError === 'false') {\n return next.handle(req);\n }\n const errorContainer: ErrorContainer = { httpError: undefined };\n return next.handle(req).pipe(\n catchError((error) => this.handleError(error, errorContainer)),\n finalize(() => {\n const httpError = errorContainer.httpError;\n if (!httpError) {\n return;\n }\n\n if (httpError.error.toDisplay) {\n this.handleCaughtError(httpError);\n } else if (!httpError.error.caught) {\n this.handleUncaughtError(httpError);\n }\n })\n );\n }\n\n private handleError(\n httpError: HttpErrorResponse,\n errorContainer: ErrorContainer\n ) {\n if (httpError instanceof HttpErrorResponse) {\n const errorObj = httpError.error === 'object' ? httpError.error : {};\n errorObj.message = httpError.error?.message || httpError.statusText;\n errorObj.caught = false;\n\n httpError = new HttpErrorResponse({\n error: errorObj,\n headers: httpError.headers,\n status: httpError.status,\n statusText: httpError.statusText,\n url: httpError.url!\n });\n }\n\n errorContainer.httpError = httpError;\n return throwError(httpError);\n }\n\n private handleCaughtError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(httpError.error.message, httpError.error.title, {\n progressBar: false\n });\n }\n\n private handleUncaughtError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(\n 'igo.core.errors.uncaught.message',\n 'igo.core.errors.uncaught.title',\n {\n progressBar: false\n }\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule, inject } from '@angular/core';\n\nimport { ErrorInterceptor } from './error.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoErrorModule {\n static forRoot(): ModuleWithProviders<IgoErrorModule> {\n return {\n ngModule: IgoErrorModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n }\n ]\n };\n }\n\n constructor() {\n const parentModule = inject(IgoErrorModule, {\n optional: true,\n skipSelf: true\n });\n\n if (parentModule) {\n throw new Error(\n 'IgoErrorModule is already loaded. Import it in the AppModule only'\n );\n }\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { finalize, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class LoggingInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const started = Date.now();\n let ok: string;\n\n // extend server response observable with logging\n return next.handle(req).pipe(\n tap(\n // Succeeds when there is a response; ignore other events\n (event) => (ok = event instanceof HttpResponse ? 'succeeded' : ''),\n // Operation failed; error is an HttpErrorResponse\n () => (ok = 'failed')\n ),\n // Log when response observable either completes or errors\n finalize(() => {\n const elapsed = Date.now() - started;\n const msg = `${req.method} \"${req.urlWithParams}\"\n ${ok} in ${elapsed} ms.`;\n\n console.log(msg);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LoggingInterceptor } from './logging.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoLoggingModule {\n static forRoot(): ModuleWithProviders<IgoLoggingModule> {\n return {\n ngModule: IgoLoggingModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: LoggingInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-request.mjs","sources":["../../../packages/core/request/src/error.interceptor.ts","../../../packages/core/request/src/error.module.ts","../../../packages/core/request/src/logging.interceptor.ts","../../../packages/core/request/src/logging.module.ts","../../../packages/core/request/src/igo2-core-request.ts"],"sourcesContent":["import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { MessageService } from '@igo2/core/message';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\n\ntype ErrorContainer = { httpError?: HttpErrorResponse };\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n private messageService = inject(MessageService);\n\n intercept(\n originalReq: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const interceptError = originalReq.headers.get('interceptError');\n const req = originalReq.clone({\n headers: originalReq.headers.delete('interceptError')\n });\n if (interceptError === 'false') {\n return next.handle(req);\n }\n const errorContainer: ErrorContainer = { httpError: undefined };\n return next.handle(req).pipe(\n catchError((error) => this.handleError(error, errorContainer)),\n finalize(() => {\n const httpError = errorContainer.httpError;\n if (!httpError) {\n return;\n }\n\n if (httpError.error.toDisplay) {\n this.handleCaughtError(httpError);\n } else if (!httpError.error.caught) {\n this.handleUncaughtError(httpError);\n }\n })\n );\n }\n\n private handleError(\n httpError: HttpErrorResponse,\n errorContainer: ErrorContainer\n ) {\n if (httpError instanceof HttpErrorResponse) {\n const errorObj = httpError.error === 'object' ? httpError.error : {};\n errorObj.message = httpError.error?.message || httpError.statusText;\n errorObj.caught = false;\n\n httpError = new HttpErrorResponse({\n error: errorObj,\n headers: httpError.headers,\n status: httpError.status,\n statusText: httpError.statusText,\n url: httpError.url!\n });\n }\n\n errorContainer.httpError = httpError;\n return throwError(httpError);\n }\n\n private handleCaughtError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(httpError.error.message, httpError.error.title, {\n progressBar: false\n });\n }\n\n private handleUncaughtError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n this.messageService.error(\n 'igo.core.errors.uncaught.message',\n 'igo.core.errors.uncaught.title',\n {\n progressBar: false\n }\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule, inject } from '@angular/core';\n\nimport { ErrorInterceptor } from './error.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoErrorModule {\n static forRoot(): ModuleWithProviders<IgoErrorModule> {\n return {\n ngModule: IgoErrorModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n }\n ]\n };\n }\n\n constructor() {\n const parentModule = inject(IgoErrorModule, {\n optional: true,\n skipSelf: true\n });\n\n if (parentModule) {\n throw new Error(\n 'IgoErrorModule is already loaded. Import it in the AppModule only'\n );\n }\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { finalize, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class LoggingInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n const started = Date.now();\n let ok: string;\n\n // extend server response observable with logging\n return next.handle(req).pipe(\n tap(\n // Succeeds when there is a response; ignore other events\n (event) => (ok = event instanceof HttpResponse ? 'succeeded' : ''),\n // Operation failed; error is an HttpErrorResponse\n () => (ok = 'failed')\n ),\n // Log when response observable either completes or errors\n finalize(() => {\n const elapsed = Date.now() - started;\n const msg = `${req.method} \"${req.urlWithParams}\"\n ${ok} in ${elapsed} ms.`;\n\n console.log(msg);\n })\n );\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { LoggingInterceptor } from './logging.interceptor';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoLoggingModule {\n static forRoot(): ModuleWithProviders<IgoLoggingModule> {\n return {\n ngModule: IgoLoggingModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: LoggingInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -75,10 +75,10 @@ class RouteService {
|
|
|
75
75
|
}
|
|
76
76
|
return this.route.queryParams;
|
|
77
77
|
}
|
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
79
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RouteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RouteService, providedIn: 'root' });
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: RouteService, decorators: [{
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{
|
|
84
84
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-route.mjs","sources":["../../../packages/core/route/src/route.interface.ts","../../../packages/core/route/src/route.service.ts","../../../packages/core/route/src/igo2-core-route.ts"],"sourcesContent":["export interface RouteServiceOptions {\n centerKey?: string;\n zoomKey?: string;\n projectionKey?: string;\n contextKey?: string;\n searchKey?: string;\n visibleOnLayersKey?: string;\n visibleOffLayersKey?: string;\n directionsCoordKey?: string;\n directionsOptionsKey?: string;\n toolKey?: string;\n wmsUrlKey?: string;\n wmsLayersKey?: string;\n wmtsUrlKey?: string;\n wmtsLayersKey?: string;\n arcgisUrlKey?: string;\n arcgisLayersKey?: string;\n iarcgisUrlKey?: string;\n iarcgisLayersKey?: string;\n tarcgisUrlKey?: string;\n tarcgisLayersKey?: string;\n vectorKey?: string;\n zoomExtentKey?: string;\n exactMatchKey?: string;\n focusFirstResultKey?: string;\n searchGeomKey?: string;\n sidenavKey?: string;\n urlsKey?: string;\n languageKey?: string;\n positionKey?: string;\n layersKey?: string;\n groupsKey?: string;\n rotationKey?: string;\n}\n\nexport const ROUTE_OPTIONS: RouteServiceOptions = {\n languageKey: 'lang',\n searchKey: 'search',\n searchGeomKey: 'searchGeom',\n exactMatchKey: 'exactMatch',\n zoomExtentKey: 'zoomExtent',\n focusFirstResultKey: 'sf',\n toolKey: 'tool',\n directionsCoordKey: 'routing',\n directionsOptionsKey: 'routingOptions',\n sidenavKey: 'sidenav',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n vectorKey: 'vector'\n};\n\nexport const LEGACY_ROUTE_OPTIONS: RouteServiceOptions = {\n projectionKey: 'projection',\n rotationKey: 'rotation',\n zoomKey: 'zoom',\n centerKey: 'center',\n contextKey: 'context',\n layersKey: 'layers',\n wmsUrlKey: 'wmsUrl',\n wmsLayersKey: 'wmsLayers',\n wmtsUrlKey: 'wmtsUrl',\n wmtsLayersKey: 'wmtsLayers',\n arcgisUrlKey: 'arcgisUrl',\n arcgisLayersKey: 'arcgisLayers',\n iarcgisUrlKey: 'iarcgisUrl',\n iarcgisLayersKey: 'iarcgisLayers',\n tarcgisUrlKey: 'tarcgisUrl',\n tarcgisLayersKey: 'tarcgisLayers'\n};\n","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport {\n LEGACY_ROUTE_OPTIONS,\n ROUTE_OPTIONS,\n RouteServiceOptions\n} from './route.interface';\n\nexport const ROUTE_SERVICE_OPTIONS = new InjectionToken<RouteServiceOptions>(\n 'routeServiceOptions'\n);\n\nexport function provideRouteServiceOptions(options: RouteServiceOptions) {\n return {\n provide: ROUTE_SERVICE_OPTIONS,\n useValue: options\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService {\n private router = inject(Router);\n route = inject(ActivatedRoute);\n\n public options: RouteServiceOptions;\n\n /**\n * @deprecated use the new option of context-service\n */\n public legacyOptions: RouteServiceOptions;\n\n constructor() {\n const configs = inject<RouteServiceOptions>(ROUTE_SERVICE_OPTIONS, {\n optional: true\n });\n\n this.options = { ...ROUTE_OPTIONS, ...configs };\n this.legacyOptions = LEGACY_ROUTE_OPTIONS;\n }\n\n get queryParams(): Observable<Params> {\n let url = decodeURIComponent(location.search);\n if (url.includes('¢er=')) {\n url = url.replace('¢er', '¢er');\n const queryParams: any = url\n .slice(1)\n .split('&')\n .map((p) => p.split('='))\n .reduce(\n (obj, pair) => {\n const [key, value] = pair.map(decodeURIComponent);\n obj[key] = value;\n return obj;\n },\n {} as Record<string, string>\n );\n this.router.navigate([], { queryParams });\n }\n return this.route.queryParams;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-route.mjs","sources":["../../../packages/core/route/src/route.interface.ts","../../../packages/core/route/src/route.service.ts","../../../packages/core/route/src/igo2-core-route.ts"],"sourcesContent":["export interface RouteServiceOptions {\n centerKey?: string;\n zoomKey?: string;\n projectionKey?: string;\n contextKey?: string;\n searchKey?: string;\n visibleOnLayersKey?: string;\n visibleOffLayersKey?: string;\n directionsCoordKey?: string;\n directionsOptionsKey?: string;\n toolKey?: string;\n wmsUrlKey?: string;\n wmsLayersKey?: string;\n wmtsUrlKey?: string;\n wmtsLayersKey?: string;\n arcgisUrlKey?: string;\n arcgisLayersKey?: string;\n iarcgisUrlKey?: string;\n iarcgisLayersKey?: string;\n tarcgisUrlKey?: string;\n tarcgisLayersKey?: string;\n vectorKey?: string;\n zoomExtentKey?: string;\n exactMatchKey?: string;\n focusFirstResultKey?: string;\n searchGeomKey?: string;\n sidenavKey?: string;\n urlsKey?: string;\n languageKey?: string;\n positionKey?: string;\n layersKey?: string;\n groupsKey?: string;\n rotationKey?: string;\n}\n\nexport const ROUTE_OPTIONS: RouteServiceOptions = {\n languageKey: 'lang',\n searchKey: 'search',\n searchGeomKey: 'searchGeom',\n exactMatchKey: 'exactMatch',\n zoomExtentKey: 'zoomExtent',\n focusFirstResultKey: 'sf',\n toolKey: 'tool',\n directionsCoordKey: 'routing',\n directionsOptionsKey: 'routingOptions',\n sidenavKey: 'sidenav',\n visibleOnLayersKey: 'visiblelayers',\n visibleOffLayersKey: 'invisiblelayers',\n vectorKey: 'vector'\n};\n\nexport const LEGACY_ROUTE_OPTIONS: RouteServiceOptions = {\n projectionKey: 'projection',\n rotationKey: 'rotation',\n zoomKey: 'zoom',\n centerKey: 'center',\n contextKey: 'context',\n layersKey: 'layers',\n wmsUrlKey: 'wmsUrl',\n wmsLayersKey: 'wmsLayers',\n wmtsUrlKey: 'wmtsUrl',\n wmtsLayersKey: 'wmtsLayers',\n arcgisUrlKey: 'arcgisUrl',\n arcgisLayersKey: 'arcgisLayers',\n iarcgisUrlKey: 'iarcgisUrl',\n iarcgisLayersKey: 'iarcgisLayers',\n tarcgisUrlKey: 'tarcgisUrl',\n tarcgisLayersKey: 'tarcgisLayers'\n};\n","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport {\n LEGACY_ROUTE_OPTIONS,\n ROUTE_OPTIONS,\n RouteServiceOptions\n} from './route.interface';\n\nexport const ROUTE_SERVICE_OPTIONS = new InjectionToken<RouteServiceOptions>(\n 'routeServiceOptions'\n);\n\nexport function provideRouteServiceOptions(options: RouteServiceOptions) {\n return {\n provide: ROUTE_SERVICE_OPTIONS,\n useValue: options\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService {\n private router = inject(Router);\n route = inject(ActivatedRoute);\n\n public options: RouteServiceOptions;\n\n /**\n * @deprecated use the new option of context-service\n */\n public legacyOptions: RouteServiceOptions;\n\n constructor() {\n const configs = inject<RouteServiceOptions>(ROUTE_SERVICE_OPTIONS, {\n optional: true\n });\n\n this.options = { ...ROUTE_OPTIONS, ...configs };\n this.legacyOptions = LEGACY_ROUTE_OPTIONS;\n }\n\n get queryParams(): Observable<Params> {\n let url = decodeURIComponent(location.search);\n if (url.includes('¢er=')) {\n url = url.replace('¢er', '¢er');\n const queryParams: any = url\n .slice(1)\n .split('&')\n .map((p) => p.split('='))\n .reduce(\n (obj, pair) => {\n const [key, value] = pair.map(decodeURIComponent);\n obj[key] = value;\n return obj;\n },\n {} as Record<string, string>\n );\n this.router.navigate([], { queryParams });\n }\n return this.route.queryParams;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -95,10 +95,10 @@ class StorageService extends BaseStorage {
|
|
|
95
95
|
const config = inject(ConfigService, { optional: true });
|
|
96
96
|
super(config);
|
|
97
97
|
}
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
99
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageService, providedIn: 'root' });
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: StorageService, decorators: [{
|
|
102
102
|
type: Injectable,
|
|
103
103
|
args: [{
|
|
104
104
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-storage.mjs","sources":["../../../packages/core/storage/src/storage.interface.ts","../../../packages/core/storage/src/storage.ts","../../../packages/core/storage/src/storage.service.ts","../../../packages/core/storage/src/igo2-core-storage.ts"],"sourcesContent":["export enum StorageScope {\n SESSION = 'Session',\n LOCAL = 'Local'\n}\n\nexport interface StorageOptions {\n key: string;\n}\n\nexport interface StorageServiceEvent {\n key?: string;\n scope: StorageScope;\n event: StorageServiceEventEnum;\n previousValue?: any;\n currentValue?: any;\n}\n\nexport enum StorageServiceEventEnum {\n ADDED = 'Added',\n MODIFIED = 'Modified',\n REMOVED = 'Removed',\n CLEARED = 'Cleared'\n}\n","import { ConfigService } from '@igo2/core/config';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n StorageOptions,\n StorageScope,\n StorageServiceEvent,\n StorageServiceEventEnum\n} from './storage.interface';\n\nexport abstract class BaseStorage<T extends StorageOptions = StorageOptions> {\n protected options?: T;\n\n public storageChange$ = new BehaviorSubject<StorageServiceEvent | undefined>(\n undefined\n );\n\n constructor(config?: ConfigService | null) {\n this.options = config?.getConfig<T>('storage') || ({ key: 'igo' } as T);\n }\n\n /**\n * Use to get the data found in storage file\n */\n get(key: string, scope?: StorageScope): string | object | boolean | number {\n let value: any;\n\n if (!scope || scope === StorageScope.SESSION) {\n value = sessionStorage.getItem(`${this.options?.key}.${key}`);\n }\n\n if (scope === StorageScope.LOCAL || (!value && !scope)) {\n value = localStorage.getItem(`${this.options?.key}.${key}`);\n }\n\n if (value) {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n\n return value;\n }\n\n set(key: string, value: unknown, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.setItem(\n `${this.options?.key}.${key}`,\n JSON.stringify(value)\n );\n } else {\n localStorage.setItem(\n `${this.options?.key}.${key}`,\n JSON.stringify(value)\n );\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key,\n scope,\n event:\n previousValue !== undefined\n ? StorageServiceEventEnum.MODIFIED\n : StorageServiceEventEnum.ADDED,\n previousValue,\n currentValue\n });\n }\n }\n\n remove(key: string, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.removeItem(`${this.options?.key}.${key}`);\n } else {\n localStorage.removeItem(`${this.options?.key}.${key}`);\n }\n this.storageChange$.next({\n key,\n scope,\n event: StorageServiceEventEnum.REMOVED,\n previousValue\n });\n }\n\n clear(scope: StorageScope = StorageScope.LOCAL) {\n if (scope === StorageScope.SESSION) {\n sessionStorage.clear();\n } else {\n localStorage.clear();\n }\n this.storageChange$.next({ scope, event: StorageServiceEventEnum.CLEARED });\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { BaseStorage } from './storage';\nimport { StorageOptions } from './storage.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService extends BaseStorage<StorageOptions> {\n constructor() {\n const config = inject(ConfigService, { optional: true });\n super(config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"igo2-core-storage.mjs","sources":["../../../packages/core/storage/src/storage.interface.ts","../../../packages/core/storage/src/storage.ts","../../../packages/core/storage/src/storage.service.ts","../../../packages/core/storage/src/igo2-core-storage.ts"],"sourcesContent":["export enum StorageScope {\n SESSION = 'Session',\n LOCAL = 'Local'\n}\n\nexport interface StorageOptions {\n key: string;\n}\n\nexport interface StorageServiceEvent {\n key?: string;\n scope: StorageScope;\n event: StorageServiceEventEnum;\n previousValue?: any;\n currentValue?: any;\n}\n\nexport enum StorageServiceEventEnum {\n ADDED = 'Added',\n MODIFIED = 'Modified',\n REMOVED = 'Removed',\n CLEARED = 'Cleared'\n}\n","import { ConfigService } from '@igo2/core/config';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n StorageOptions,\n StorageScope,\n StorageServiceEvent,\n StorageServiceEventEnum\n} from './storage.interface';\n\nexport abstract class BaseStorage<T extends StorageOptions = StorageOptions> {\n protected options?: T;\n\n public storageChange$ = new BehaviorSubject<StorageServiceEvent | undefined>(\n undefined\n );\n\n constructor(config?: ConfigService | null) {\n this.options = config?.getConfig<T>('storage') || ({ key: 'igo' } as T);\n }\n\n /**\n * Use to get the data found in storage file\n */\n get(key: string, scope?: StorageScope): string | object | boolean | number {\n let value: any;\n\n if (!scope || scope === StorageScope.SESSION) {\n value = sessionStorage.getItem(`${this.options?.key}.${key}`);\n }\n\n if (scope === StorageScope.LOCAL || (!value && !scope)) {\n value = localStorage.getItem(`${this.options?.key}.${key}`);\n }\n\n if (value) {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n\n return value;\n }\n\n set(key: string, value: unknown, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.setItem(\n `${this.options?.key}.${key}`,\n JSON.stringify(value)\n );\n } else {\n localStorage.setItem(\n `${this.options?.key}.${key}`,\n JSON.stringify(value)\n );\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key,\n scope,\n event:\n previousValue !== undefined\n ? StorageServiceEventEnum.MODIFIED\n : StorageServiceEventEnum.ADDED,\n previousValue,\n currentValue\n });\n }\n }\n\n remove(key: string, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.removeItem(`${this.options?.key}.${key}`);\n } else {\n localStorage.removeItem(`${this.options?.key}.${key}`);\n }\n this.storageChange$.next({\n key,\n scope,\n event: StorageServiceEventEnum.REMOVED,\n previousValue\n });\n }\n\n clear(scope: StorageScope = StorageScope.LOCAL) {\n if (scope === StorageScope.SESSION) {\n sessionStorage.clear();\n } else {\n localStorage.clear();\n }\n this.storageChange$.next({ scope, event: StorageServiceEventEnum.CLEARED });\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { BaseStorage } from './storage';\nimport { StorageOptions } from './storage.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService extends BaseStorage<StorageOptions> {\n constructor() {\n const config = inject(ConfigService, { optional: true });\n super(config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/igo2-core.mjs
CHANGED
|
@@ -16,13 +16,13 @@ class IgoCoreModule {
|
|
|
16
16
|
providers: [provideConfig(options), provideTranslation(withAsyncConfig())]
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
20
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
21
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: IgoCoreModule, imports: [CommonModule, i1.IgoActivityModule, i2.IgoErrorModule], exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
|
|
21
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoCoreModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
|
|
22
22
|
IgoActivityModule.forRoot(),
|
|
23
23
|
IgoErrorModule.forRoot(), IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: IgoCoreModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n provideHttpClient,\n withInterceptorsFromDi\n} from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { ConfigOptions, provideConfig } from '@igo2/core/config';\nimport {\n IgoLanguageModule,\n provideTranslation,\n withAsyncConfig\n} from '@igo2/core/language';\nimport { IgoErrorModule } from '@igo2/core/request';\n\n@NgModule({\n declarations: [],\n exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule],\n imports: [\n CommonModule,\n IgoActivityModule.forRoot(),\n IgoErrorModule.forRoot()\n ],\n providers: [provideHttpClient(withInterceptorsFromDi())]\n})\nexport class IgoCoreModule {\n static forRoot(\n options: ConfigOptions = {}\n ): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: [provideConfig(options), provideTranslation(withAsyncConfig())]\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\n\n/** @deprecated */\n// export * from '@igo2/core/language';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MA0Ba,aAAa,CAAA;AACxB,IAAA,OAAO,OAAO,CACZ,OAAA,GAAyB,EAAE,EAAA;QAE3B,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,eAAe,EAAE,CAAC;SAC1E;IACH;wGARW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YANtB,YAAY,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAFJ,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;yGAQnD,aAAa,EAAA,SAAA,EAFb,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAA,OAAA,EAAA,CAJtD,YAAY;YACZ,iBAAiB,CAAC,OAAO,EAAE;YAC3B,cAAc,CAAC,OAAO,EAAE,EAJhB,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;;4FAQnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;AAC/D,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB,CAAC,OAAO,EAAE;wBAC3B,cAAc,CAAC,OAAO;AACvB,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACxD,iBAAA;;;ACzBD;;AAEG;AAIH;AACA;;ACPA;;AAEG
|
|
1
|
+
{"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n provideHttpClient,\n withInterceptorsFromDi\n} from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { ConfigOptions, provideConfig } from '@igo2/core/config';\nimport {\n IgoLanguageModule,\n provideTranslation,\n withAsyncConfig\n} from '@igo2/core/language';\nimport { IgoErrorModule } from '@igo2/core/request';\n\n@NgModule({\n declarations: [],\n exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule],\n imports: [\n CommonModule,\n IgoActivityModule.forRoot(),\n IgoErrorModule.forRoot()\n ],\n providers: [provideHttpClient(withInterceptorsFromDi())]\n})\nexport class IgoCoreModule {\n static forRoot(\n options: ConfigOptions = {}\n ): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: [provideConfig(options), provideTranslation(withAsyncConfig())]\n };\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\n\n/** @deprecated */\n// export * from '@igo2/core/language';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MA0Ba,aAAa,CAAA;AACxB,IAAA,OAAO,OAAO,CACZ,OAAA,GAAyB,EAAE,EAAA;QAE3B,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,eAAe,EAAE,CAAC;SAC1E;IACH;wGARW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YANtB,YAAY,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAFJ,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;yGAQnD,aAAa,EAAA,SAAA,EAFb,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAA,OAAA,EAAA,CAJtD,YAAY;YACZ,iBAAiB,CAAC,OAAO,EAAE;YAC3B,cAAc,CAAC,OAAO,EAAE,EAJhB,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA;;4FAQnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;AAC/D,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB,CAAC,OAAO,EAAE;wBAC3B,cAAc,CAAC,OAAO;AACvB,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;AACxD,iBAAA;;;ACzBD;;AAEG;AAIH;AACA;;ACPA;;AAEG;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/core",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.30",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"@angular/forms": "^21.0.0",
|
|
116
116
|
"@angular/platform-browser": "^21.0.0",
|
|
117
117
|
"@angular/router": "^21.0.0",
|
|
118
|
-
"@igo2/utils": "^21.0.0-next.
|
|
118
|
+
"@igo2/utils": "^21.0.0-next.30",
|
|
119
119
|
"@ngx-translate/core": "^17.0.0",
|
|
120
120
|
"@ngx-translate/http-loader": "^17.0.0",
|
|
121
121
|
"@sentry/angular": "^10.0.0",
|