@igo2/core 16.3.0 → 17.0.0-next.10
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/activity/index.d.ts +5 -0
- package/{lib/activity/index.d.ts → activity/public_api.d.ts} +1 -0
- package/{lib/analytics/shared → analytics}/analytics.interface.d.ts +1 -1
- package/{lib/analytics/shared → analytics}/analytics.service.d.ts +1 -1
- package/analytics/index.d.ts +5 -0
- package/{lib/config → config}/config.interface.d.ts +2 -3
- package/{lib/config → config}/config.module.d.ts +3 -0
- package/config/config.provider.d.ts +6 -0
- package/{lib/config → config}/config.service.d.ts +1 -1
- package/config/index.d.ts +5 -0
- package/{lib/config/index.d.ts → config/public_api.d.ts} +2 -0
- package/environment/environment.interface.d.ts +16 -0
- package/environment/index.d.ts +5 -0
- package/esm2022/activity/activity.interceptor.mjs +32 -0
- package/esm2022/activity/activity.module.mjs +30 -0
- package/esm2022/activity/activity.service.mjs +32 -0
- package/esm2022/activity/igo2-core-activity.mjs +5 -0
- package/esm2022/activity/public_api.mjs +4 -0
- package/esm2022/analytics/analytics.interface.mjs +2 -0
- package/esm2022/analytics/analytics.service.mjs +87 -0
- package/esm2022/analytics/igo2-core-analytics.mjs +5 -0
- package/esm2022/analytics/public_api.mjs +3 -0
- package/esm2022/config/config-deprecated.mjs +27 -0
- package/esm2022/config/config.interface.mjs +2 -0
- package/esm2022/config/config.module.mjs +26 -0
- package/esm2022/config/config.provider.mjs +21 -0
- package/esm2022/config/config.service.mjs +98 -0
- package/esm2022/config/igo2-core-config.mjs +5 -0
- package/esm2022/config/public_api.mjs +6 -0
- package/esm2022/config/version.mjs +5 -0
- package/esm2022/environment/environment.interface.mjs +2 -0
- package/esm2022/environment/igo2-core-environment.mjs +5 -0
- package/esm2022/environment/public_api.mjs +2 -0
- package/esm2022/gesture/gesture.module.mjs +29 -0
- package/esm2022/gesture/gesture.provider.mjs +16 -0
- package/esm2022/gesture/igo2-core-gesture.mjs +5 -0
- package/esm2022/gesture/public_api.mjs +3 -0
- package/esm2022/language/igo2-core-language.mjs +5 -0
- package/esm2022/language/language.module.mjs +15 -0
- package/esm2022/language/public_api.mjs +3 -0
- package/esm2022/language/shared/index.mjs +7 -0
- package/esm2022/language/shared/language-mock.provider.mjs +13 -0
- package/esm2022/language/shared/language.interface.mjs +3 -0
- package/esm2022/language/shared/language.loader.mjs +38 -0
- package/esm2022/language/shared/language.provider.mjs +47 -0
- package/esm2022/language/shared/language.service.mjs +38 -0
- package/esm2022/language/shared/missing-translation.guard.mjs +16 -0
- package/esm2022/lib/core.module.mjs +21 -49
- package/esm2022/media/igo2-core-media.mjs +5 -0
- package/esm2022/media/media.enum.mjs +12 -0
- package/esm2022/media/media.service.mjs +82 -0
- package/esm2022/media/public_api.mjs +3 -0
- package/esm2022/message/igo2-core-message.mjs +5 -0
- package/esm2022/message/message.module.mjs +26 -0
- package/esm2022/message/public_api.mjs +3 -0
- package/esm2022/message/shared/index.mjs +5 -0
- package/esm2022/message/shared/message.enum.mjs +10 -0
- package/esm2022/message/shared/message.interface.mjs +2 -0
- package/esm2022/message/shared/message.provider.mjs +22 -0
- package/esm2022/message/shared/message.service.mjs +225 -0
- package/esm2022/monitoring/__mocks__/index.mjs +2 -0
- package/esm2022/monitoring/__mocks__/monitoring-mock.mjs +7 -0
- package/esm2022/monitoring/igo2-core-monitoring.mjs +5 -0
- package/esm2022/monitoring/monitoring.provider.mjs +20 -0
- package/esm2022/monitoring/public_api.mjs +5 -0
- package/esm2022/monitoring/sentry/index.mjs +4 -0
- package/esm2022/monitoring/sentry/sentry.interface.mjs +2 -0
- package/esm2022/monitoring/sentry/sentry.mjs +29 -0
- package/esm2022/monitoring/sentry/sentry.provider.mjs +31 -0
- package/esm2022/monitoring/sentry/sentry.utils.mjs +14 -0
- package/esm2022/monitoring/shared/any-monitoring.interface.mjs +2 -0
- package/esm2022/monitoring/shared/index.mjs +3 -0
- package/esm2022/monitoring/shared/monitoring.interface.mjs +2 -0
- package/esm2022/network/igo2-core-network.mjs +5 -0
- package/esm2022/network/network.interfaces.mjs +2 -0
- package/esm2022/network/network.service.mjs +66 -0
- package/esm2022/network/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +3 -27
- package/esm2022/regex/igo2-core-regex.mjs +5 -0
- package/esm2022/regex/public_api.mjs +3 -0
- package/esm2022/regex/regex.interface.mjs +2 -0
- package/esm2022/regex/regex.service.mjs +30 -0
- package/esm2022/request/error.interceptor.mjs +72 -0
- package/esm2022/request/error.module.mjs +39 -0
- package/esm2022/request/igo2-core-request.mjs +5 -0
- package/esm2022/request/logging.interceptor.mjs +29 -0
- package/esm2022/request/logging.module.mjs +30 -0
- package/esm2022/request/public_api.mjs +5 -0
- package/esm2022/route/igo2-core-route.mjs +5 -0
- package/esm2022/route/public_api.mjs +3 -0
- package/esm2022/route/route.interface.mjs +2 -0
- package/esm2022/route/route.service.mjs +75 -0
- package/esm2022/storage/igo2-core-storage.mjs +5 -0
- package/esm2022/storage/public_api.mjs +4 -0
- package/esm2022/storage/storage.interface.mjs +13 -0
- package/esm2022/storage/storage.mjs +76 -0
- package/esm2022/storage/storage.service.mjs +21 -0
- package/esm2022/user/igo2-core-user.mjs +5 -0
- package/esm2022/user/public_api.mjs +2 -0
- package/esm2022/user/user.interface.mjs +2 -0
- package/fesm2022/igo2-core-activity.mjs +94 -0
- package/fesm2022/igo2-core-activity.mjs.map +1 -0
- package/fesm2022/igo2-core-analytics.mjs +93 -0
- package/fesm2022/igo2-core-analytics.mjs.map +1 -0
- package/fesm2022/igo2-core-config.mjs +177 -0
- package/fesm2022/igo2-core-config.mjs.map +1 -0
- package/fesm2022/igo2-core-environment.mjs +4 -0
- package/fesm2022/igo2-core-environment.mjs.map +1 -0
- package/fesm2022/igo2-core-gesture.mjs +48 -0
- package/fesm2022/igo2-core-gesture.mjs.map +1 -0
- package/fesm2022/igo2-core-language.mjs +164 -0
- package/fesm2022/igo2-core-language.mjs.map +1 -0
- package/fesm2022/igo2-core-media.mjs +100 -0
- package/fesm2022/igo2-core-media.mjs.map +1 -0
- package/fesm2022/igo2-core-message.mjs +282 -0
- package/fesm2022/igo2-core-message.mjs.map +1 -0
- package/fesm2022/igo2-core-monitoring.mjs +101 -0
- package/fesm2022/igo2-core-monitoring.mjs.map +1 -0
- package/fesm2022/igo2-core-network.mjs +72 -0
- package/fesm2022/igo2-core-network.mjs.map +1 -0
- package/fesm2022/igo2-core-regex.mjs +36 -0
- package/fesm2022/igo2-core-regex.mjs.map +1 -0
- package/fesm2022/igo2-core-request.mjs +164 -0
- package/fesm2022/igo2-core-request.mjs.map +1 -0
- package/fesm2022/igo2-core-route.mjs +81 -0
- package/fesm2022/igo2-core-route.mjs.map +1 -0
- package/fesm2022/igo2-core-storage.mjs +114 -0
- package/fesm2022/igo2-core-storage.mjs.map +1 -0
- package/fesm2022/igo2-core-user.mjs +4 -0
- package/fesm2022/igo2-core-user.mjs.map +1 -0
- package/fesm2022/igo2-core.mjs +25 -1539
- package/fesm2022/igo2-core.mjs.map +1 -1
- package/gesture/index.d.ts +5 -0
- package/gesture/public_api.d.ts +2 -0
- package/language/index.d.ts +5 -0
- package/{lib/language → language}/language.module.d.ts +1 -3
- package/language/public_api.d.ts +2 -0
- package/{lib/language → language}/shared/index.d.ts +2 -0
- package/language/shared/language-mock.provider.d.ts +2 -0
- package/language/shared/language.interface.d.ts +9 -0
- package/language/shared/language.loader.d.ts +13 -0
- package/language/shared/language.provider.d.ts +8 -0
- package/lib/core.module.d.ts +8 -11
- package/locale/en.core.json +28 -28
- package/locale/en.json +1 -1
- package/locale/fr.core.json +28 -28
- package/locale/fr.json +1 -1
- package/media/index.d.ts +5 -0
- package/message/index.d.ts +5 -0
- package/{lib/message → message}/message.module.d.ts +4 -3
- package/message/public_api.d.ts +2 -0
- package/{lib/message → message}/shared/index.d.ts +1 -0
- package/{lib/message → message}/shared/message.enum.d.ts +1 -1
- package/message/shared/message.provider.d.ts +2 -0
- package/{lib/message → message}/shared/message.service.d.ts +2 -2
- package/{src/lib/message → message/src}/message.theming.scss +26 -26
- package/monitoring/__mocks__/index.d.ts +1 -0
- package/monitoring/__mocks__/monitoring-mock.d.ts +4 -0
- package/monitoring/index.d.ts +5 -0
- package/{lib/monitoring/index.d.ts → monitoring/public_api.d.ts} +1 -0
- package/{lib/monitoring → monitoring}/sentry/sentry.utils.d.ts +1 -1
- package/monitoring/shared/any-monitoring.interface.d.ts +2 -0
- package/network/index.d.ts +5 -0
- package/{lib/network → network}/network.service.d.ts +1 -1
- package/package.json +101 -9
- package/public_api.d.ts +1 -26
- package/regex/index.d.ts +5 -0
- package/{lib/regex → regex}/regex.service.d.ts +1 -1
- package/{lib/request → request}/error.interceptor.d.ts +1 -1
- package/request/index.d.ts +5 -0
- package/{lib/request/index.d.ts → request/public_api.d.ts} +2 -0
- package/route/index.d.ts +5 -0
- package/route/public_api.d.ts +2 -0
- package/src/core-theme.scss +5 -5
- package/src/index.scss +6 -6
- package/src/packages.import.scss +5 -4
- package/src/style/all-style.scss +3 -3
- package/src/style/layout.scss +163 -163
- package/src/style/partial/core-utils.scss +5 -5
- package/src/style/partial/core.variables.scss +5 -5
- package/src/style/style.scss +19 -19
- package/src/theming/all-theme.scss +15 -14
- package/src/theming/material-theme-override.scss +39 -39
- package/src/theming/prebuilt-themes/blue-theme.scss +27 -27
- package/src/theming/prebuilt-themes/bluedark-theme.scss +60 -60
- package/src/theming/prebuilt-themes/bluedq-theme.scss +60 -60
- package/src/theming/prebuilt-themes/bluegrey-theme.scss +26 -26
- package/src/theming/prebuilt-themes/dark-theme.scss +26 -26
- package/src/theming/prebuilt-themes/deeppurple-theme.scss +26 -26
- package/src/theming/prebuilt-themes/indigo-theme.scss +26 -26
- package/src/theming/prebuilt-themes/orange-theme.scss +26 -26
- package/src/theming/prebuilt-themes/teal-theme.scss +26 -26
- package/src/theming/typography.scss +28 -28
- package/src/theming/utils/_foreground.scss +22 -22
- package/storage/index.d.ts +5 -0
- package/{lib/storage → storage}/storage.d.ts +1 -1
- package/{lib/storage → storage}/storage.service.d.ts +1 -1
- package/style/all-style.css +2 -1
- package/theming/prebuilt-themes/blue-theme.css +857 -994
- package/theming/prebuilt-themes/bluedark-theme.css +857 -994
- package/theming/prebuilt-themes/bluedq-theme.css +857 -994
- package/theming/prebuilt-themes/bluegrey-theme.css +857 -994
- package/theming/prebuilt-themes/dark-theme.css +857 -1001
- package/theming/prebuilt-themes/deeppurple-theme.css +857 -994
- package/theming/prebuilt-themes/indigo-theme.css +857 -994
- package/theming/prebuilt-themes/orange-theme.css +857 -994
- package/theming/prebuilt-themes/teal-theme.css +857 -994
- package/user/index.d.ts +5 -0
- package/esm2022/lib/activity/activity.interceptor.mjs +0 -32
- package/esm2022/lib/activity/activity.module.mjs +0 -30
- package/esm2022/lib/activity/activity.service.mjs +0 -32
- package/esm2022/lib/activity/index.mjs +0 -3
- package/esm2022/lib/analytics/index.mjs +0 -2
- package/esm2022/lib/analytics/shared/analytics.interface.mjs +0 -2
- package/esm2022/lib/analytics/shared/analytics.service.mjs +0 -87
- package/esm2022/lib/analytics/shared/index.mjs +0 -3
- package/esm2022/lib/compression/compressedData.interface.mjs +0 -2
- package/esm2022/lib/compression/compression.service.mjs +0 -142
- package/esm2022/lib/compression/index.mjs +0 -3
- package/esm2022/lib/config/config-deprecated.mjs +0 -27
- package/esm2022/lib/config/config.interface.mjs +0 -2
- package/esm2022/lib/config/config.module.mjs +0 -23
- package/esm2022/lib/config/config.provider.mjs +0 -21
- package/esm2022/lib/config/config.service.mjs +0 -97
- package/esm2022/lib/config/index.mjs +0 -4
- package/esm2022/lib/config/version.mjs +0 -5
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/gesture/gesture.module.mjs +0 -29
- package/esm2022/lib/gesture/gesture.provider.mjs +0 -16
- package/esm2022/lib/language/index.mjs +0 -2
- package/esm2022/lib/language/language.module.mjs +0 -38
- package/esm2022/lib/language/shared/index.mjs +0 -5
- package/esm2022/lib/language/shared/language.interface.mjs +0 -2
- package/esm2022/lib/language/shared/language.loader.mjs +0 -31
- package/esm2022/lib/language/shared/language.provider.mjs +0 -22
- package/esm2022/lib/language/shared/language.service.mjs +0 -38
- package/esm2022/lib/language/shared/missing-translation.guard.mjs +0 -16
- package/esm2022/lib/media/index.mjs +0 -3
- package/esm2022/lib/media/media.enum.mjs +0 -12
- package/esm2022/lib/media/media.service.mjs +0 -82
- package/esm2022/lib/message/index.mjs +0 -2
- package/esm2022/lib/message/message.module.mjs +0 -59
- package/esm2022/lib/message/shared/index.mjs +0 -4
- package/esm2022/lib/message/shared/message.enum.mjs +0 -10
- package/esm2022/lib/message/shared/message.interface.mjs +0 -2
- package/esm2022/lib/message/shared/message.service.mjs +0 -224
- package/esm2022/lib/monitoring/index.mjs +0 -4
- package/esm2022/lib/monitoring/monitoring.provider.mjs +0 -20
- package/esm2022/lib/monitoring/sentry/index.mjs +0 -4
- package/esm2022/lib/monitoring/sentry/sentry.interface.mjs +0 -2
- package/esm2022/lib/monitoring/sentry/sentry.mjs +0 -29
- package/esm2022/lib/monitoring/sentry/sentry.provider.mjs +0 -31
- package/esm2022/lib/monitoring/sentry/sentry.utils.mjs +0 -12
- package/esm2022/lib/monitoring/shared/any-monitoring.interface.mjs +0 -2
- package/esm2022/lib/monitoring/shared/index.mjs +0 -3
- package/esm2022/lib/monitoring/shared/monitoring.interface.mjs +0 -2
- package/esm2022/lib/network/index.mjs +0 -3
- package/esm2022/lib/network/network.interfaces.mjs +0 -2
- package/esm2022/lib/network/network.service.mjs +0 -66
- package/esm2022/lib/regex/index.mjs +0 -3
- package/esm2022/lib/regex/regex.interface.mjs +0 -2
- package/esm2022/lib/regex/regex.service.mjs +0 -30
- package/esm2022/lib/request/error.interceptor.mjs +0 -72
- package/esm2022/lib/request/error.module.mjs +0 -39
- package/esm2022/lib/request/index.mjs +0 -3
- package/esm2022/lib/request/logging.interceptor.mjs +0 -29
- package/esm2022/lib/request/logging.module.mjs +0 -30
- package/esm2022/lib/route/route.interface.mjs +0 -2
- package/esm2022/lib/route/route.service.mjs +0 -75
- package/esm2022/lib/storage/index.mjs +0 -4
- package/esm2022/lib/storage/storage.interface.mjs +0 -13
- package/esm2022/lib/storage/storage.mjs +0 -76
- package/esm2022/lib/storage/storage.service.mjs +0 -21
- package/esm2022/lib/user/index.mjs +0 -2
- package/esm2022/lib/user/user.interface.mjs +0 -2
- package/lib/analytics/index.d.ts +0 -1
- package/lib/compression/compressedData.interface.d.ts +0 -5
- package/lib/compression/compression.service.d.ts +0 -15
- package/lib/compression/index.d.ts +0 -2
- package/lib/config/config.provider.d.ts +0 -23
- package/lib/environment/environment.interface.d.ts +0 -18
- package/lib/language/index.d.ts +0 -1
- package/lib/language/shared/language.interface.d.ts +0 -3
- package/lib/language/shared/language.loader.d.ts +0 -11
- package/lib/language/shared/language.provider.d.ts +0 -15
- package/lib/message/index.d.ts +0 -1
- package/lib/monitoring/shared/any-monitoring.interface.d.ts +0 -2
- package/{lib/activity → activity}/activity.interceptor.d.ts +0 -0
- package/{lib/activity → activity}/activity.module.d.ts +0 -0
- package/{lib/activity → activity}/activity.service.d.ts +0 -0
- package/{lib/analytics/shared/index.d.ts → analytics/public_api.d.ts} +1 -1
- /package/{lib/config → config}/config-deprecated.d.ts +0 -0
- /package/{lib/config → config}/version.d.ts +0 -0
- /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
- /package/{lib/gesture → gesture}/gesture.module.d.ts +0 -0
- /package/{lib/gesture → gesture}/gesture.provider.d.ts +0 -0
- /package/{lib/language → language}/shared/language.service.d.ts +0 -0
- /package/{lib/language → language}/shared/missing-translation.guard.d.ts +0 -0
- /package/{lib/media → media}/media.enum.d.ts +0 -0
- /package/{lib/media → media}/media.service.d.ts +0 -0
- /package/{lib/media/index.d.ts → media/public_api.d.ts} +0 -0
- /package/{lib/message → message}/shared/message.interface.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/monitoring.provider.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/index.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.interface.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/sentry/sentry.provider.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/shared/index.d.ts +0 -0
- /package/{lib/monitoring → monitoring}/shared/monitoring.interface.d.ts +0 -0
- /package/{lib/network → network}/network.interfaces.d.ts +0 -0
- /package/{lib/network/index.d.ts → network/public_api.d.ts} +0 -0
- /package/{lib/regex/index.d.ts → regex/public_api.d.ts} +0 -0
- /package/{lib/regex → regex}/regex.interface.d.ts +0 -0
- /package/{lib/request → request}/error.module.d.ts +0 -0
- /package/{lib/request → request}/logging.interceptor.d.ts +0 -0
- /package/{lib/request → request}/logging.module.d.ts +0 -0
- /package/{lib/route → route}/route.interface.d.ts +0 -0
- /package/{lib/route → route}/route.service.d.ts +0 -0
- /package/{lib/storage/index.d.ts → storage/public_api.d.ts} +0 -0
- /package/{lib/storage → storage}/storage.interface.d.ts +0 -0
- /package/{lib/user/index.d.ts → user/public_api.d.ts} +0 -0
- /package/{lib/user → user}/user.interface.d.ts +0 -0
|
@@ -0,0 +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 constructor() {}\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 } 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 constructor(private activityService: 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":["i1.ActivityService"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i1 from '@igo2/core/config';
|
|
4
|
+
|
|
5
|
+
class AnalyticsService {
|
|
6
|
+
config;
|
|
7
|
+
options;
|
|
8
|
+
get paq() {
|
|
9
|
+
return (window._paq = window._paq || []);
|
|
10
|
+
}
|
|
11
|
+
constructor(config) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.options = this.config.getConfig('analytics') || {};
|
|
14
|
+
if (this.options.provider === 'matomo') {
|
|
15
|
+
this.initMatomo();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
initMatomo() {
|
|
19
|
+
if (!this.options.url || !this.options.id) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const url = this.options.url.substr(-1) === '/'
|
|
23
|
+
? this.options.url + 'matomo'
|
|
24
|
+
: this.options.url;
|
|
25
|
+
// this.paq.push(['trackPageView']);
|
|
26
|
+
// this.paq.push(['enableLinkTracking']);
|
|
27
|
+
(() => {
|
|
28
|
+
this.paq.push(['setTrackerUrl', url + '.php']);
|
|
29
|
+
this.paq.push(['setSiteId', this.options.id]);
|
|
30
|
+
const g = document.createElement('script');
|
|
31
|
+
const s = document.getElementsByTagName('script')[0];
|
|
32
|
+
g.type = 'text/javascript';
|
|
33
|
+
g.async = true;
|
|
34
|
+
g.defer = true;
|
|
35
|
+
g.src = url + '.js';
|
|
36
|
+
s.parentNode.insertBefore(g, s);
|
|
37
|
+
})();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Pass `null` to unset the user.
|
|
41
|
+
*/
|
|
42
|
+
setUser(user, profils) {
|
|
43
|
+
if (this.options.provider === 'matomo') {
|
|
44
|
+
if (!user) {
|
|
45
|
+
this.paq.push(['resetUserId']);
|
|
46
|
+
this.paq.push(['deleteCustomVariable', 1, 'user']);
|
|
47
|
+
this.paq.push(['deleteCustomVariable', 2, 'name']);
|
|
48
|
+
this.paq.push(['deleteCustomVariable', 3, 'profils']);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.paq.push(['setUserId', user.id]);
|
|
52
|
+
const name = `${user.firstName} ${user.lastName}`;
|
|
53
|
+
this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
|
|
54
|
+
this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
|
|
55
|
+
this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
|
|
56
|
+
}
|
|
57
|
+
this.paq.push(['trackPageView']);
|
|
58
|
+
this.paq.push(['enableLinkTracking']);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
trackSearch(term, nbResults) {
|
|
62
|
+
if (this.options.provider === 'matomo') {
|
|
63
|
+
this.paq.push(['trackSiteSearch', term, false, nbResults]);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
trackEvent(category, action, name) {
|
|
67
|
+
if (this.options.provider === 'matomo') {
|
|
68
|
+
this.paq.push(['trackEvent', category, action, name]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Function that tracks layers added to the map
|
|
73
|
+
*/
|
|
74
|
+
trackLayer(category, action, parameters) {
|
|
75
|
+
if (this.options.provider === 'matomo')
|
|
76
|
+
this.paq.push(['trackEvent', category, action, parameters]);
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AnalyticsService, providedIn: 'root' });
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AnalyticsService, decorators: [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{
|
|
84
|
+
providedIn: 'root'
|
|
85
|
+
}]
|
|
86
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }] });
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Generated bundle index. Do not edit.
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
export { AnalyticsService };
|
|
93
|
+
//# sourceMappingURL=igo2-core-analytics.mjs.map
|
|
@@ -0,0 +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 } 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 options: AnalyticsOptions;\n\n get paq() {\n return ((window as any)._paq = (window as any)._paq || []);\n }\n\n constructor(private config: ConfigService) {\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 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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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, InjectionToken, makeEnvironmentProviders, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common/http';
|
|
4
|
+
import { HttpClient } from '@angular/common/http';
|
|
5
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
6
|
+
import { BehaviorSubject, throwError } from 'rxjs';
|
|
7
|
+
import { catchError } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
const CONFIG_DEPRECATED = {
|
|
10
|
+
showMenuButton: {
|
|
11
|
+
alternativeKey: 'menu.button.visible',
|
|
12
|
+
mayBeRemoveIn: new Date('2024-06-06')
|
|
13
|
+
},
|
|
14
|
+
menuButtonReverseColor: {
|
|
15
|
+
alternativeKey: 'menu.button.useThemeColor',
|
|
16
|
+
mayBeRemoveIn: new Date('2024-06-06')
|
|
17
|
+
},
|
|
18
|
+
importWithStyle: {
|
|
19
|
+
alternativeKey: 'importExport.importWithStyle',
|
|
20
|
+
mayBeRemoveIn: new Date('2024-06-06')
|
|
21
|
+
},
|
|
22
|
+
hasGeolocateButton: {
|
|
23
|
+
alternativeKey: 'geolocate.button.visible',
|
|
24
|
+
mayBeRemoveIn: new Date('2024-06-06')
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const ALTERNATE_CONFIG_FROM_DEPRECATION = new Map(Object.entries(CONFIG_DEPRECATED)
|
|
28
|
+
.filter(([_, options]) => options.alternativeKey)
|
|
29
|
+
.map(([key, options]) => [
|
|
30
|
+
options.alternativeKey,
|
|
31
|
+
{
|
|
32
|
+
deprecatedKey: key
|
|
33
|
+
}
|
|
34
|
+
]));
|
|
35
|
+
|
|
36
|
+
const version = {
|
|
37
|
+
lib: '17.0.0-next.10',
|
|
38
|
+
releaseDate: 1717162699470
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
class ConfigService {
|
|
42
|
+
config;
|
|
43
|
+
httpClient;
|
|
44
|
+
configDeprecated = new Map(Object.entries(CONFIG_DEPRECATED));
|
|
45
|
+
_isLoaded$ = new BehaviorSubject(null);
|
|
46
|
+
isLoaded$ = this._isLoaded$.asObservable();
|
|
47
|
+
constructor(handler) {
|
|
48
|
+
this.httpClient = new HttpClient(handler);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Use to get the all config file (merge from environnement.ts and config.json)
|
|
52
|
+
*/
|
|
53
|
+
getConfigs() {
|
|
54
|
+
Array.from(this.configDeprecated.keys()).map((deprecatedKey) => {
|
|
55
|
+
const deprecatedValue = ObjectUtils.resolve(this.config, deprecatedKey);
|
|
56
|
+
if (deprecatedValue !== undefined) {
|
|
57
|
+
this.handleDeprecatedConfig(deprecatedKey);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return this.config;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Use to get the data found in config file
|
|
64
|
+
*/
|
|
65
|
+
getConfig(key, defaultValue) {
|
|
66
|
+
let value = ObjectUtils.resolve(this.config, key);
|
|
67
|
+
const isDeprecated = this.configDeprecated.get(key);
|
|
68
|
+
if (isDeprecated && value !== undefined) {
|
|
69
|
+
this.handleDeprecatedConfig(key);
|
|
70
|
+
}
|
|
71
|
+
else if (value === undefined) {
|
|
72
|
+
value = this.handleDeprecationPossibility(key);
|
|
73
|
+
}
|
|
74
|
+
return value ?? defaultValue;
|
|
75
|
+
}
|
|
76
|
+
handleDeprecatedConfig(key) {
|
|
77
|
+
const options = this.configDeprecated.get(key);
|
|
78
|
+
let message = `This config (${key}) is deprecated and will be removed shortly`;
|
|
79
|
+
if (options.alternativeKey) {
|
|
80
|
+
message += ` You should use this key (${options.alternativeKey}) as an alternate solution`;
|
|
81
|
+
}
|
|
82
|
+
const currentDate = new Date();
|
|
83
|
+
currentDate >= options.mayBeRemoveIn
|
|
84
|
+
? console.error(message)
|
|
85
|
+
: console.warn(message);
|
|
86
|
+
}
|
|
87
|
+
handleDeprecationPossibility(key) {
|
|
88
|
+
const options = ALTERNATE_CONFIG_FROM_DEPRECATION.get(key);
|
|
89
|
+
if (!options) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
return this.getConfig(options.deprecatedKey);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* This method loads "[path]" to get all config's variables
|
|
96
|
+
*/
|
|
97
|
+
load(options) {
|
|
98
|
+
const baseConfig = options.default;
|
|
99
|
+
if (!options.path) {
|
|
100
|
+
this.config = baseConfig;
|
|
101
|
+
this._isLoaded$.next(true);
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
return new Promise((resolve, _reject) => {
|
|
105
|
+
this.httpClient
|
|
106
|
+
.get(options.path)
|
|
107
|
+
.pipe(catchError((error) => {
|
|
108
|
+
console.log(`Configuration file ${options.path} could not be read`);
|
|
109
|
+
this._isLoaded$.next(false);
|
|
110
|
+
resolve(true);
|
|
111
|
+
return throwError(error.error || 'Server error');
|
|
112
|
+
}))
|
|
113
|
+
.subscribe((configResponse) => {
|
|
114
|
+
this.config = ObjectUtils.mergeDeep(ObjectUtils.mergeDeep({ version }, baseConfig), configResponse);
|
|
115
|
+
this._isLoaded$.next(true);
|
|
116
|
+
resolve(true);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ConfigService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
121
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ConfigService, providedIn: 'root' });
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ConfigService, decorators: [{
|
|
124
|
+
type: Injectable,
|
|
125
|
+
args: [{
|
|
126
|
+
providedIn: 'root'
|
|
127
|
+
}]
|
|
128
|
+
}], ctorParameters: () => [{ type: i1.HttpBackend }] });
|
|
129
|
+
|
|
130
|
+
let CONFIG_OPTIONS = new InjectionToken('configOptions');
|
|
131
|
+
function provideConfig(options) {
|
|
132
|
+
return makeEnvironmentProviders([
|
|
133
|
+
{
|
|
134
|
+
provide: CONFIG_OPTIONS,
|
|
135
|
+
useValue: options
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
provide: APP_INITIALIZER,
|
|
139
|
+
useFactory: configFactory,
|
|
140
|
+
multi: true,
|
|
141
|
+
deps: [ConfigService, CONFIG_OPTIONS]
|
|
142
|
+
}
|
|
143
|
+
]);
|
|
144
|
+
}
|
|
145
|
+
function configFactory(configService, options) {
|
|
146
|
+
return () => configService.load(options);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* @deprecated import the provideConfig directly
|
|
151
|
+
*/
|
|
152
|
+
class IgoConfigModule {
|
|
153
|
+
static forRoot() {
|
|
154
|
+
return {
|
|
155
|
+
ngModule: IgoConfigModule,
|
|
156
|
+
providers: [provideConfig({})]
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
160
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoConfigModule });
|
|
161
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoConfigModule });
|
|
162
|
+
}
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoConfigModule, decorators: [{
|
|
164
|
+
type: NgModule,
|
|
165
|
+
args: [{
|
|
166
|
+
imports: [],
|
|
167
|
+
declarations: [],
|
|
168
|
+
exports: []
|
|
169
|
+
}]
|
|
170
|
+
}] });
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Generated bundle index. Do not edit.
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
export { CONFIG_OPTIONS, ConfigService, IgoConfigModule, provideConfig, version };
|
|
177
|
+
//# sourceMappingURL=igo2-core-config.mjs.map
|
|
@@ -0,0 +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: { [key: string]: DeprecatedOptions } = {\n showMenuButton: {\n alternativeKey: 'menu.button.visible',\n mayBeRemoveIn: new Date('2024-06-06')\n },\n menuButtonReverseColor: {\n alternativeKey: 'menu.button.useThemeColor',\n mayBeRemoveIn: new Date('2024-06-06')\n },\n importWithStyle: {\n alternativeKey: 'importExport.importWithStyle',\n mayBeRemoveIn: new Date('2024-06-06')\n },\n hasGeolocateButton: {\n alternativeKey: 'geolocate.button.visible',\n mayBeRemoveIn: new Date('2024-06-06')\n }\n};\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(([key, options]) => [\n options.alternativeKey,\n {\n deprecatedKey: key\n } satisfies AlternateConfigOptions\n ])\n);\n","export interface Version {\r\n app?: string;\r\n lib?: string;\r\n releaseDateApp?: number;\r\n releaseDate?: number;\r\n}\r\n\r\nexport const version: Version = {\r\n lib: '17.0.0-next.10',\r\n releaseDate: 1717162699470\r\n};\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { BehaviorSubject, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\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 = { [key: string]: any }> {\n private config: T | null;\n private httpClient: HttpClient;\n private configDeprecated = new Map(Object.entries(CONFIG_DEPRECATED));\n\n private _isLoaded$ = new BehaviorSubject<boolean>(null);\n isLoaded$ = this._isLoaded$.asObservable();\n\n constructor(handler: HttpBackend) {\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(this.config, deprecatedKey);\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;\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 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>) {\n const baseConfig = options.default;\n if (!options.path) {\n this.config = baseConfig;\n this._isLoaded$.next(true);\n return true;\n }\n\n return new Promise((resolve, _reject) => {\n this.httpClient\n .get(options.path)\n .pipe(\n catchError((error: any): any => {\n console.log(`Configuration file ${options.path} could not be read`);\n this._isLoaded$.next(false);\n resolve(true);\n return throwError(error.error || 'Server error');\n })\n )\n .subscribe((configResponse: object) => {\n this.config = ObjectUtils.mergeDeep(\n ObjectUtils.mergeDeep({ version }, baseConfig),\n configResponse\n );\n this._isLoaded$.next(true);\n resolve(true);\n });\n });\n }\n}\n","import {\n APP_INITIALIZER,\n EnvironmentProviders,\n InjectionToken,\n makeEnvironmentProviders\n} from '@angular/core';\n\nimport { ConfigOptions } from './config.interface';\nimport { ConfigService } from './config.service';\n\nexport let CONFIG_OPTIONS = new InjectionToken<ConfigOptions>('configOptions');\n\nexport function provideConfig(options: ConfigOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: CONFIG_OPTIONS,\n useValue: options\n },\n {\n provide: APP_INITIALIZER,\n useFactory: configFactory,\n multi: true,\n deps: [ConfigService, CONFIG_OPTIONS]\n }\n ]);\n}\n\nfunction configFactory(configService: ConfigService, options: ConfigOptions) {\n return () => configService.load(options);\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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"igo2-core-environment.mjs","sources":["../../../packages/core/environment/src/igo2-core-environment.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG, HammerModule } from '@angular/platform-browser';
|
|
4
|
+
|
|
5
|
+
class IgoGestureConfig extends HammerGestureConfig {
|
|
6
|
+
buildHammer(element) {
|
|
7
|
+
const mc = super.buildHammer(element);
|
|
8
|
+
mc.set({ touchAction: 'pan-y' });
|
|
9
|
+
return mc;
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureConfig });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureConfig, decorators: [{
|
|
15
|
+
type: Injectable
|
|
16
|
+
}] });
|
|
17
|
+
|
|
18
|
+
class IgoGestureModule {
|
|
19
|
+
static forRoot() {
|
|
20
|
+
return {
|
|
21
|
+
ngModule: IgoGestureModule,
|
|
22
|
+
providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: HAMMER_GESTURE_CONFIG,
|
|
25
|
+
useClass: IgoGestureConfig
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureModule, imports: [HammerModule] });
|
|
32
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureModule, imports: [HammerModule] });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoGestureModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
imports: [HammerModule],
|
|
38
|
+
declarations: [],
|
|
39
|
+
exports: []
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Generated bundle index. Do not edit.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
export { IgoGestureConfig, IgoGestureModule };
|
|
48
|
+
//# sourceMappingURL=igo2-core-gesture.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"igo2-core-gesture.mjs","sources":["../../../packages/core/gesture/src/gesture.provider.ts","../../../packages/core/gesture/src/gesture.module.ts","../../../packages/core/gesture/src/igo2-core-gesture.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HammerGestureConfig } from '@angular/platform-browser';\n\n@Injectable()\nexport class IgoGestureConfig extends HammerGestureConfig {\n buildHammer(element: HTMLElement) {\n const mc = super.buildHammer(element) as any;\n mc.set({ touchAction: 'pan-y' });\n return mc;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { HAMMER_GESTURE_CONFIG, HammerModule } from '@angular/platform-browser';\n\nimport { IgoGestureConfig } from './gesture.provider';\n\n@NgModule({\n imports: [HammerModule],\n declarations: [],\n exports: []\n})\nexport class IgoGestureModule {\n static forRoot(): ModuleWithProviders<IgoGestureModule> {\n return {\n ngModule: IgoGestureModule,\n providers: [\n {\n provide: HAMMER_GESTURE_CONFIG,\n useClass: IgoGestureConfig\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AAIM,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AACvD,IAAA,WAAW,CAAC,OAAoB,EAAA;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAQ,CAAC;QAC7C,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,QAAA,OAAO,EAAE,CAAC;KACX;uGALU,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;MCOE,gBAAgB,CAAA;AAC3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA;AACF,aAAA;SACF,CAAC;KACH;uGAXU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAJjB,YAAY,CAAA,EAAA,CAAA,CAAA;AAIX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAJjB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAIX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, Injectable, makeEnvironmentProviders, importProvidersFrom, APP_INITIALIZER } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ngx-translate/core';
|
|
4
|
+
import { TranslateModule, MissingTranslationHandler, TranslateLoader, TranslateFakeLoader } from '@ngx-translate/core';
|
|
5
|
+
import { HttpClient, HttpBackend } from '@angular/common/http';
|
|
6
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
7
|
+
import { BehaviorSubject, first, switchMap, forkJoin, map, tap, combineLatest } from 'rxjs';
|
|
8
|
+
import { ConfigService } from '@igo2/core/config';
|
|
9
|
+
import { timeout, catchError } from 'rxjs/operators';
|
|
10
|
+
|
|
11
|
+
class IgoLanguageModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoLanguageModule, exports: [TranslateModule] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoLanguageModule, imports: [TranslateModule] });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoLanguageModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
exports: [TranslateModule]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
|
|
23
|
+
class LanguageLoaderBase {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
class LanguageLoader {
|
|
27
|
+
configService;
|
|
28
|
+
prefix;
|
|
29
|
+
suffix;
|
|
30
|
+
httpClient;
|
|
31
|
+
_isLoaded$ = new BehaviorSubject(null);
|
|
32
|
+
isLoaded$ = this._isLoaded$.asObservable();
|
|
33
|
+
constructor(handler, configService, prefix, suffix = '.json') {
|
|
34
|
+
this.configService = configService;
|
|
35
|
+
this.prefix = prefix;
|
|
36
|
+
this.suffix = suffix;
|
|
37
|
+
this.httpClient = new HttpClient(handler);
|
|
38
|
+
}
|
|
39
|
+
getTranslation(lang) {
|
|
40
|
+
const igoLocale$ = this.httpClient.get(`locale/libs_locale/${lang}.json`);
|
|
41
|
+
return this.configService.isLoaded$.pipe(first((isLoaded) => isLoaded), switchMap(() => {
|
|
42
|
+
if (this.configService && !this.prefix) {
|
|
43
|
+
const prefix = this.configService.getConfig('language.prefix');
|
|
44
|
+
this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];
|
|
45
|
+
}
|
|
46
|
+
if (!this.prefix || this.prefix.length === 0) {
|
|
47
|
+
this._isLoaded$.next(true);
|
|
48
|
+
return igoLocale$;
|
|
49
|
+
}
|
|
50
|
+
const appLocale$ = this.prefix.map((prefix) => this.httpClient.get(`${prefix}${lang}${this.suffix}`));
|
|
51
|
+
const locale$ = forkJoin([igoLocale$, ...appLocale$]);
|
|
52
|
+
return locale$.pipe(map((translations) => {
|
|
53
|
+
return translations.reduce((acc, current) => ObjectUtils.mergeDeep(acc, current), {});
|
|
54
|
+
}), tap(() => {
|
|
55
|
+
this._isLoaded$.next(true);
|
|
56
|
+
}));
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
class LanguageService {
|
|
62
|
+
translate;
|
|
63
|
+
language;
|
|
64
|
+
language$ = new BehaviorSubject(undefined);
|
|
65
|
+
constructor(translate) {
|
|
66
|
+
this.translate = translate;
|
|
67
|
+
this.language = this.translate.getBrowserLang();
|
|
68
|
+
const lang = this.getLanguage();
|
|
69
|
+
this.translate.setDefaultLang(lang);
|
|
70
|
+
this.language$.next(lang);
|
|
71
|
+
}
|
|
72
|
+
getLanguage() {
|
|
73
|
+
return this.language.match(/en|fr/) ? this.language : 'en';
|
|
74
|
+
}
|
|
75
|
+
setLanguage(language) {
|
|
76
|
+
this.language = language.match(/en|fr/) ? language : 'en';
|
|
77
|
+
combineLatest([
|
|
78
|
+
this.translate.use(this.language),
|
|
79
|
+
this.translate.reloadLang(this.language)
|
|
80
|
+
]).subscribe(() => {
|
|
81
|
+
this.language$.next(this.language);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LanguageService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LanguageService, providedIn: 'root' });
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LanguageService, decorators: [{
|
|
88
|
+
type: Injectable,
|
|
89
|
+
args: [{
|
|
90
|
+
providedIn: 'root'
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
93
|
+
|
|
94
|
+
class IgoMissingTranslationHandler {
|
|
95
|
+
handle(params) {
|
|
96
|
+
if (!params.translateService.langs.length) {
|
|
97
|
+
const error = 'Translations are not yet loaded. \
|
|
98
|
+
Check that the LanguageService is injected.';
|
|
99
|
+
throw new Error(error);
|
|
100
|
+
}
|
|
101
|
+
if (params.key.substr(0, 4) === 'igo.') {
|
|
102
|
+
throw new Error(`The Key "${params.key}" is missing in locale file.`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
return params.key;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// 5 seconds
|
|
111
|
+
const TIMEOUT_DURATION = 5000;
|
|
112
|
+
/**
|
|
113
|
+
* Make sure you only call this method in the root module of your application, most of the time called AppModule.
|
|
114
|
+
*/
|
|
115
|
+
function provideTranslation(loader) {
|
|
116
|
+
return makeEnvironmentProviders([
|
|
117
|
+
importProvidersFrom(TranslateModule.forRoot(setTranslationConfig(loader))),
|
|
118
|
+
{
|
|
119
|
+
provide: APP_INITIALIZER,
|
|
120
|
+
useFactory: (languageService) => () => {
|
|
121
|
+
return languageService.translate.currentLoader.isLoaded$?.pipe(timeout(TIMEOUT_DURATION), first((isLoaded) => isLoaded === true), catchError((error) => {
|
|
122
|
+
error.message += ` - Request timed out for language loader after: ${TIMEOUT_DURATION}`;
|
|
123
|
+
throw error;
|
|
124
|
+
}));
|
|
125
|
+
},
|
|
126
|
+
deps: [LanguageService],
|
|
127
|
+
multi: true
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
}
|
|
131
|
+
const setTranslationConfig = (loader) => ({
|
|
132
|
+
defaultLanguage: 'fr',
|
|
133
|
+
loader: loader ?? DEFAULT_LANGUAGE_LOADER,
|
|
134
|
+
missingTranslationHandler: {
|
|
135
|
+
provide: MissingTranslationHandler,
|
|
136
|
+
useClass: IgoMissingTranslationHandler
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
const DEFAULT_LANGUAGE_LOADER = {
|
|
140
|
+
provide: TranslateLoader,
|
|
141
|
+
useFactory: defaultLanguageLoader,
|
|
142
|
+
deps: [HttpBackend, ConfigService]
|
|
143
|
+
};
|
|
144
|
+
function defaultLanguageLoader(http, config) {
|
|
145
|
+
return new LanguageLoader(http, config, undefined, undefined);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function provideMockTranslation(loader) {
|
|
149
|
+
return makeEnvironmentProviders([
|
|
150
|
+
importProvidersFrom(TranslateModule.forRoot({
|
|
151
|
+
loader: {
|
|
152
|
+
provide: TranslateLoader,
|
|
153
|
+
useClass: TranslateFakeLoader
|
|
154
|
+
}
|
|
155
|
+
}))
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Generated bundle index. Do not edit.
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
export { DEFAULT_LANGUAGE_LOADER, IgoLanguageModule, IgoMissingTranslationHandler, LanguageLoader, LanguageLoaderBase, LanguageService, provideMockTranslation, provideTranslation, setTranslationConfig };
|
|
164
|
+
//# sourceMappingURL=igo2-core-language.mjs.map
|
|
@@ -0,0 +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/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}\n\nexport abstract class LanguageLoaderBase implements TranslateLoader {\n abstract isLoaded$: Observable<boolean>;\n abstract getTranslation(lang: string): Observable<any>;\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { BehaviorSubject, first, forkJoin, map, switchMap, tap } from 'rxjs';\n\nimport { LanguageLoaderBase } from './language.interface';\n\nexport class LanguageLoader implements LanguageLoaderBase {\n private httpClient: HttpClient;\n\n private _isLoaded$ = new BehaviorSubject<boolean>(null);\n isLoaded$ = this._isLoaded$.asObservable();\n\n constructor(\n handler: HttpBackend,\n private configService: ConfigService,\n private prefix?: string | string[],\n private suffix: string = '.json'\n ) {\n this.httpClient = new HttpClient(handler);\n }\n\n public getTranslation(lang: string): any {\n const igoLocale$ = this.httpClient.get(`locale/libs_locale/${lang}.json`);\n return this.configService.isLoaded$.pipe(\n first((isLoaded) => isLoaded),\n switchMap(() => {\n if (this.configService && !this.prefix) {\n const prefix = this.configService.getConfig('language.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 igoLocale$;\n }\n\n const appLocale$ = (this.prefix as string[]).map((prefix) =>\n this.httpClient.get(`${prefix}${lang}${this.suffix}`)\n );\n\n const locale$ = forkJoin([igoLocale$, ...appLocale$]);\n\n return 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 }\n}\n","import { Injectable } 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 private language: string;\n readonly language$: BehaviorSubject<string> = new BehaviorSubject(undefined);\n\n constructor(public translate: TranslateService) {\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.match(/en|fr/) ? this.language : 'en';\n }\n\n public setLanguage(language: string) {\n this.language = language.match(/en|fr/) ? 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 APP_INITIALIZER,\n EnvironmentProviders,\n Provider,\n importProvidersFrom,\n makeEnvironmentProviders\n} from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport {\n MissingTranslationHandler,\n TranslateLoader,\n TranslateModule,\n TranslateModuleConfig\n} from '@ngx-translate/core';\nimport { first } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\nimport { LanguageLoaderBase } from './language.interface';\nimport { LanguageLoader } from './language.loader';\nimport { LanguageService } from './language.service';\nimport { IgoMissingTranslationHandler } from './missing-translation.guard';\n\n// 5 seconds\nconst TIMEOUT_DURATION = 5000;\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(loader?: Provider): EnvironmentProviders {\n return makeEnvironmentProviders([\n importProvidersFrom(TranslateModule.forRoot(setTranslationConfig(loader))),\n {\n provide: APP_INITIALIZER,\n useFactory: (languageService: 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 deps: [LanguageService],\n multi: true\n }\n ]);\n}\n\nexport const setTranslationConfig = (\n loader?: Provider\n): TranslateModuleConfig => ({\n defaultLanguage: 'fr',\n loader: loader ?? DEFAULT_LANGUAGE_LOADER,\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: IgoMissingTranslationHandler\n }\n});\n\nexport const DEFAULT_LANGUAGE_LOADER: Provider = {\n provide: TranslateLoader,\n useFactory: defaultLanguageLoader,\n deps: [HttpBackend, ConfigService]\n};\n\nfunction defaultLanguageLoader(http: HttpBackend, config?: ConfigService) {\n return new LanguageLoader(http, config, undefined, undefined);\n}\n","import {\n EnvironmentProviders,\n Provider,\n importProvidersFrom,\n makeEnvironmentProviders\n} from '@angular/core';\n\nimport {\n TranslateFakeLoader,\n TranslateLoader,\n TranslateModule\n} from '@ngx-translate/core';\n\nexport function provideMockTranslation(\n loader?: Provider\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n importProvidersFrom(\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useClass: TranslateFakeLoader\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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"}
|