@igo2/core 17.0.0 → 17.0.1-next.2
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/activity.service.d.ts +0 -1
- package/config/config-deprecated.d.ts +1 -3
- package/config/config.interface.d.ts +1 -3
- package/config/config.provider.d.ts +1 -3
- package/config/config.service.d.ts +1 -3
- package/esm2022/activity/activity.interceptor.mjs +3 -3
- package/esm2022/activity/activity.module.mjs +4 -4
- package/esm2022/activity/activity.service.mjs +5 -6
- package/esm2022/analytics/analytics.service.mjs +3 -3
- package/esm2022/config/config-deprecated.mjs +1 -1
- package/esm2022/config/config.interface.mjs +1 -1
- package/esm2022/config/config.module.mjs +4 -4
- package/esm2022/config/config.provider.mjs +2 -2
- package/esm2022/config/config.service.mjs +5 -5
- package/esm2022/config/version.mjs +3 -3
- package/esm2022/gesture/gesture.module.mjs +4 -4
- package/esm2022/gesture/gesture.provider.mjs +3 -3
- package/esm2022/language/language.module.mjs +4 -4
- package/esm2022/language/shared/language-mock.provider.mjs +2 -2
- package/esm2022/language/shared/language.loader.mjs +1 -1
- package/esm2022/language/shared/language.service.mjs +4 -4
- package/esm2022/lib/core.module.mjs +10 -14
- package/esm2022/media/media.service.mjs +3 -3
- package/esm2022/message/message.module.mjs +4 -4
- package/esm2022/message/shared/message.enum.mjs +2 -1
- package/esm2022/message/shared/message.interface.mjs +1 -1
- package/esm2022/message/shared/message.service.mjs +5 -5
- package/esm2022/monitoring/sentry/sentry.provider.mjs +2 -2
- package/esm2022/network/network.service.mjs +7 -5
- package/esm2022/regex/regex.interface.mjs +1 -1
- package/esm2022/regex/regex.service.mjs +3 -3
- package/esm2022/request/error.interceptor.mjs +3 -3
- package/esm2022/request/error.module.mjs +4 -4
- package/esm2022/request/logging.interceptor.mjs +5 -5
- package/esm2022/request/logging.module.mjs +4 -4
- package/esm2022/route/route.service.mjs +5 -5
- package/esm2022/storage/storage.mjs +3 -3
- package/esm2022/storage/storage.service.mjs +3 -3
- package/fesm2022/igo2-core-activity.mjs +11 -12
- package/fesm2022/igo2-core-activity.mjs.map +1 -1
- package/fesm2022/igo2-core-analytics.mjs +3 -3
- package/fesm2022/igo2-core-config.mjs +11 -11
- package/fesm2022/igo2-core-config.mjs.map +1 -1
- package/fesm2022/igo2-core-gesture.mjs +7 -7
- package/fesm2022/igo2-core-language.mjs +8 -8
- package/fesm2022/igo2-core-language.mjs.map +1 -1
- package/fesm2022/igo2-core-media.mjs +3 -3
- package/fesm2022/igo2-core-message.mjs +9 -8
- package/fesm2022/igo2-core-message.mjs.map +1 -1
- package/fesm2022/igo2-core-monitoring.mjs +1 -1
- package/fesm2022/igo2-core-monitoring.mjs.map +1 -1
- package/fesm2022/igo2-core-network.mjs +6 -4
- package/fesm2022/igo2-core-network.mjs.map +1 -1
- package/fesm2022/igo2-core-regex.mjs +3 -3
- package/fesm2022/igo2-core-request.mjs +15 -15
- package/fesm2022/igo2-core-request.mjs.map +1 -1
- package/fesm2022/igo2-core-route.mjs +4 -4
- package/fesm2022/igo2-core-route.mjs.map +1 -1
- package/fesm2022/igo2-core-storage.mjs +5 -5
- package/fesm2022/igo2-core-storage.mjs.map +1 -1
- package/fesm2022/igo2-core.mjs +9 -13
- package/fesm2022/igo2-core.mjs.map +1 -1
- package/language/shared/language-mock.provider.d.ts +2 -2
- package/lib/core.module.d.ts +5 -7
- package/message/shared/message.interface.d.ts +2 -2
- package/message/shared/message.service.d.ts +5 -5
- package/message/src/message.theming.scss +3 -3
- package/package.json +10 -10
- package/regex/regex.interface.d.ts +1 -3
- package/route/route.service.d.ts +1 -1
- package/src/theming/material-theme-override.scss +4 -4
- package/src/theming/prebuilt-themes/blue-theme.scss +4 -4
- package/src/theming/prebuilt-themes/bluedark-theme.scss +4 -4
- package/src/theming/prebuilt-themes/bluedq-theme.scss +4 -4
- package/src/theming/prebuilt-themes/bluegrey-theme.scss +4 -4
- package/src/theming/prebuilt-themes/dark-theme.scss +4 -4
- package/src/theming/prebuilt-themes/deeppurple-theme.scss +4 -4
- package/src/theming/prebuilt-themes/indigo-theme.scss +4 -4
- package/src/theming/prebuilt-themes/orange-theme.scss +4 -4
- package/src/theming/prebuilt-themes/teal-theme.scss +4 -4
- package/src/theming/typography.scss +13 -13
- package/src/theming/utils/_foreground.scss +1 -1
- package/theming/prebuilt-themes/blue-theme.css +209 -197
- package/theming/prebuilt-themes/bluedark-theme.css +209 -197
- package/theming/prebuilt-themes/bluedq-theme.css +209 -197
- package/theming/prebuilt-themes/bluegrey-theme.css +209 -197
- package/theming/prebuilt-themes/dark-theme.css +209 -197
- package/theming/prebuilt-themes/deeppurple-theme.css +209 -197
- package/theming/prebuilt-themes/indigo-theme.css +209 -197
- package/theming/prebuilt-themes/orange-theme.css +209 -197
- package/theming/prebuilt-themes/teal-theme.css +209 -197
- package/assets/icons/mdi.svg +0 -1
|
@@ -34,8 +34,8 @@ const ALTERNATE_CONFIG_FROM_DEPRECATION = new Map(Object.entries(CONFIG_DEPRECAT
|
|
|
34
34
|
]));
|
|
35
35
|
|
|
36
36
|
const version = {
|
|
37
|
-
lib: '17.0.
|
|
38
|
-
releaseDate:
|
|
37
|
+
lib: '17.0.1-next.2',
|
|
38
|
+
releaseDate: 1725377856816
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
class ConfigService {
|
|
@@ -101,7 +101,7 @@ class ConfigService {
|
|
|
101
101
|
this._isLoaded$.next(true);
|
|
102
102
|
return true;
|
|
103
103
|
}
|
|
104
|
-
return new Promise((resolve
|
|
104
|
+
return new Promise((resolve) => {
|
|
105
105
|
this.httpClient
|
|
106
106
|
.get(options.path)
|
|
107
107
|
.pipe(catchError((error) => {
|
|
@@ -117,17 +117,17 @@ class ConfigService {
|
|
|
117
117
|
});
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
121
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfigService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
121
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfigService, providedIn: 'root' });
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfigService, decorators: [{
|
|
124
124
|
type: Injectable,
|
|
125
125
|
args: [{
|
|
126
126
|
providedIn: 'root'
|
|
127
127
|
}]
|
|
128
128
|
}], ctorParameters: () => [{ type: i1.HttpBackend }] });
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
const CONFIG_OPTIONS = new InjectionToken('configOptions');
|
|
131
131
|
function provideConfig(options) {
|
|
132
132
|
return makeEnvironmentProviders([
|
|
133
133
|
{
|
|
@@ -156,11 +156,11 @@ class IgoConfigModule {
|
|
|
156
156
|
providers: [provideConfig({})]
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
160
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
161
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
159
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
160
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoConfigModule });
|
|
161
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfigModule });
|
|
162
162
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfigModule, decorators: [{
|
|
164
164
|
type: NgModule,
|
|
165
165
|
args: [{
|
|
166
166
|
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: { [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',\r\n releaseDate: 1724343367841\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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"}
|
|
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 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 {\n app?: string;\n lib?: string;\n releaseDateApp?: number;\n releaseDate?: number;\n}\n\nexport const version: Version = {\n lib: '17.0.1-next.2',\n releaseDate: 1725377856816\n};\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 = Record<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) => {\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 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 {\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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"}
|
|
@@ -8,10 +8,10 @@ class IgoGestureConfig extends HammerGestureConfig {
|
|
|
8
8
|
mc.set({ touchAction: 'pan-y' });
|
|
9
9
|
return mc;
|
|
10
10
|
}
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureConfig });
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureConfig, decorators: [{
|
|
15
15
|
type: Injectable
|
|
16
16
|
}] });
|
|
17
17
|
|
|
@@ -27,11 +27,11 @@ class IgoGestureModule {
|
|
|
27
27
|
]
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
31
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
32
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureModule, imports: [HammerModule] });
|
|
32
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureModule, imports: [HammerModule] });
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoGestureModule, decorators: [{
|
|
35
35
|
type: NgModule,
|
|
36
36
|
args: [{
|
|
37
37
|
imports: [HammerModule],
|
|
@@ -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: "
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
14
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoLanguageModule, exports: [TranslateModule] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoLanguageModule, imports: [TranslateModule] });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoLanguageModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
exports: [TranslateModule]
|
|
@@ -81,10 +81,10 @@ class LanguageService {
|
|
|
81
81
|
this.language$.next(this.language);
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
84
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LanguageService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LanguageService, providedIn: 'root' });
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LanguageService, decorators: [{
|
|
88
88
|
type: Injectable,
|
|
89
89
|
args: [{
|
|
90
90
|
providedIn: 'root'
|
|
@@ -145,7 +145,7 @@ function defaultLanguageLoader(http, config) {
|
|
|
145
145
|
return new LanguageLoader(http, config, undefined, undefined);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
function provideMockTranslation(
|
|
148
|
+
function provideMockTranslation() {
|
|
149
149
|
return makeEnvironmentProviders([
|
|
150
150
|
importProvidersFrom(TranslateModule.forRoot({
|
|
151
151
|
loader: {
|
|
@@ -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/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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"}
|
|
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 = '.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$ = new BehaviorSubject<string>(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 importProvidersFrom,\n makeEnvironmentProviders\n} from '@angular/core';\n\nimport {\n TranslateFakeLoader,\n TranslateLoader,\n TranslateModule\n} from '@ngx-translate/core';\n\nexport function provideMockTranslation(): 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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"}
|
|
@@ -82,10 +82,10 @@ class MediaService {
|
|
|
82
82
|
const media = this.getMedia();
|
|
83
83
|
return media === 'desktop';
|
|
84
84
|
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
86
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MediaService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MediaService, providedIn: 'root' });
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MediaService, decorators: [{
|
|
89
89
|
type: Injectable,
|
|
90
90
|
args: [{
|
|
91
91
|
providedIn: 'root'
|
|
@@ -36,11 +36,11 @@ class IgoMessageModule {
|
|
|
36
36
|
providers: []
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
41
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoMessageModule });
|
|
41
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoMessageModule, providers: [provideMessage()] });
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoMessageModule, decorators: [{
|
|
44
44
|
type: NgModule,
|
|
45
45
|
args: [{
|
|
46
46
|
imports: [],
|
|
@@ -53,6 +53,7 @@ var MessageType;
|
|
|
53
53
|
(function (MessageType) {
|
|
54
54
|
MessageType["ERROR"] = "error";
|
|
55
55
|
MessageType["ALERT"] = "warning";
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
|
|
56
57
|
MessageType["WARNING"] = "warning";
|
|
57
58
|
MessageType["INFO"] = "info";
|
|
58
59
|
MessageType["SUCCESS"] = "success";
|
|
@@ -71,7 +72,7 @@ class MessageService {
|
|
|
71
72
|
this.configService = configService;
|
|
72
73
|
this.languageService = languageService;
|
|
73
74
|
this.options = this.configService.getConfig('message');
|
|
74
|
-
this.languageService.language$.pipe(debounceTime(500)).subscribe((
|
|
75
|
+
this.languageService.language$.pipe(debounceTime(500)).subscribe(() => {
|
|
75
76
|
if (this.toastr.toasts.length === 0) {
|
|
76
77
|
this.activeMessageTranslations = [];
|
|
77
78
|
}
|
|
@@ -261,10 +262,10 @@ class MessageService {
|
|
|
261
262
|
message.title = undefined;
|
|
262
263
|
return message;
|
|
263
264
|
}
|
|
264
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
265
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
265
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: i1.ConfigService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
266
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
266
267
|
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MessageService, decorators: [{
|
|
268
269
|
type: Injectable,
|
|
269
270
|
args: [{
|
|
270
271
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-message.mjs","sources":["../../../packages/core/message/src/shared/message.provider.ts","../../../packages/core/message/src/message.module.ts","../../../packages/core/message/src/shared/message.enum.ts","../../../packages/core/message/src/shared/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { GlobalConfig, provideToastr } from 'ngx-toastr';\n\nconst TOASTR_CONFIG: Partial<GlobalConfig> = {\n positionClass: 'toast-bottom-right',\n timeOut: 10000,\n extendedTimeOut: 10000,\n titleClass: 'mat-subtitle-2',\n messageClass: 'toast-message',\n closeButton: true,\n progressBar: true,\n enableHtml: true,\n tapToDismiss: true,\n maxOpened: 4,\n preventDuplicates: true,\n resetTimeoutOnDuplicate: true,\n countDuplicates: false,\n includeTitleDuplicates: true\n};\n\nexport function provideMessage(): EnvironmentProviders {\n return makeEnvironmentProviders([provideToastr(TOASTR_CONFIG)]);\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { provideMessage } from './shared/message.provider';\n\n/**\n * @deprecated import the provideMessage directly\n */\n@NgModule({\n imports: [],\n providers: [provideMessage()],\n exports: []\n})\nexport class IgoMessageModule {\n static forRoot(): ModuleWithProviders<IgoMessageModule> {\n return {\n ngModule: IgoMessageModule,\n providers: []\n };\n }\n}\n","export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning', // todo delete (transition to ngx-toastr)\n WARNING = 'warning',\n INFO = 'info',\n SUCCESS = 'success',\n SHOW = 'show'\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable, Injector } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';\nimport { BehaviorSubject, forkJoin } from 'rxjs';\nimport { debounceTime, first } from 'rxjs/operators';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\n\ninterface ActiveMessageTranslation {\n id: number;\n titleKey: string;\n textKey: string;\n textInterpolateParams?: Object;\n titleInterpolateParams?: Object;\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n private activeMessageTranslations: ActiveMessageTranslation[] = [];\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private configService: ConfigService,\n private languageService: LanguageService\n ) {\n this.options = this.configService.getConfig('message');\n this.languageService.language$.pipe(debounceTime(500)).subscribe((r) => {\n if (this.toastr.toasts.length === 0) {\n this.activeMessageTranslations = [];\n }\n this.toastr.toasts.map((toast) => {\n const activeMessageTranslation = this.activeMessageTranslations.find(\n (amt) => amt.id === toast.toastId\n );\n if (activeMessageTranslation) {\n const translatedTextInterpolateParams = {\n ...activeMessageTranslation.textInterpolateParams\n };\n const translatedTitleInterpolateParams = {\n ...activeMessageTranslation.titleInterpolateParams\n };\n\n if (activeMessageTranslation.textInterpolateParams) {\n Object.keys(activeMessageTranslation.textInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTextInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.textInterpolateParams[k]\n );\n }\n }\n );\n }\n if (activeMessageTranslation.titleInterpolateParams) {\n Object.keys(activeMessageTranslation.titleInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTitleInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.titleInterpolateParams[k]\n );\n }\n }\n );\n }\n\n forkJoin([\n this.languageService.translate.get(\n activeMessageTranslation.textKey,\n translatedTextInterpolateParams\n ),\n this.languageService.translate.get(\n activeMessageTranslation.titleKey,\n translatedTitleInterpolateParams\n )\n ])\n .pipe(first())\n .subscribe((res: [string, string]) => {\n toast.toastRef.componentInstance.message = res[0];\n toast.toastRef.componentInstance.title = res[1];\n });\n }\n });\n });\n }\n\n private get toastr(): ToastrService {\n return this.injector.get(ToastrService);\n }\n\n showError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n return this.error(httpError.error.message, httpError.error.title);\n }\n\n message(message: Message) {\n const messageType = message.type;\n this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;\n\n this.messages$.next(this.messages$.value.concat([message]));\n\n message.options = message.options || ({} as MessageOptions);\n const currentDate = new Date();\n\n message.options.from = message.options.from\n ? message.options.from\n : new Date('1 jan 1900');\n message.options.to = message.options.to\n ? message.options.to\n : new Date('1 jan 3000');\n if (typeof message.options.from === 'string') {\n message.options.from = new Date(\n Date.parse(message.options.from.replace(/-/g, ' '))\n );\n }\n if (typeof message.options.to === 'string') {\n message.options.to = new Date(\n Date.parse(message.options.to.replace(/-/g, ' '))\n );\n }\n if (\n currentDate > message.options.from &&\n currentDate < message.options.to\n ) {\n if (message.showIcon === false) {\n this.toastr.toastrConfig.iconClasses[messageType] =\n `toast-${messageType} toast-no-icon`;\n }\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast<any>;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(\n message.text,\n message.title,\n message.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 message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.SHOW:\n messageShown = this.show(\n message.text,\n message.title,\n message.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 message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n message.options.id = messageShown.toastId;\n }\n }\n }\n\n success(\n text: string,\n title: string = 'igo.core.message.success',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'success',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n error(\n text: string,\n title: string = 'igo.core.message.error',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'error',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n info(\n text: string,\n title: string = 'igo.core.message.info',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'info',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n alert(\n text: string,\n title: string = 'igo.core.message.alert',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'alert',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n show(\n text: string,\n title: string = 'igo.core.message.info',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'show',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleNgxToastr(\n type: 'alert' | 'info' | 'error' | 'success' | 'show',\n text: string,\n title: string,\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: Object,\n titleInterpolateParams?: Object\n ): ActiveToast<any> {\n const translatedTextInterpolateParams = { ...textInterpolateParams };\n const translatedTitlenterpolateParams = { ...titleInterpolateParams };\n\n if (textInterpolateParams) {\n Object.keys(textInterpolateParams).map((k) => {\n const value = textInterpolateParams[k];\n if (value) {\n translatedTextInterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n if (titleInterpolateParams) {\n Object.keys(titleInterpolateParams).map((k) => {\n if (k) {\n const value = titleInterpolateParams[k];\n translatedTitlenterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n\n const message = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitlenterpolateParams\n );\n\n let activeToast;\n switch (type) {\n case 'success':\n activeToast = this.toastr.success(message, translatedTitle, options);\n break;\n case 'error':\n activeToast = this.toastr.error(message, translatedTitle, options);\n break;\n case 'show':\n case 'info':\n activeToast = this.toastr.info(message, translatedTitle, options);\n break;\n case 'alert':\n activeToast = this.toastr.warning(message, translatedTitle, options);\n break;\n }\n this.activeMessageTranslations.push({\n id: activeToast.toastId,\n titleKey: title,\n textKey: text,\n textInterpolateParams,\n titleInterpolateParams\n });\n return activeToast;\n }\n\n remove(id?: number) {\n this.toastr.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (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 html = html.replace('${title}', message.title);\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/shared/message.provider.ts","../../../packages/core/message/src/message.module.ts","../../../packages/core/message/src/shared/message.enum.ts","../../../packages/core/message/src/shared/message.service.ts","../../../packages/core/message/src/igo2-core-message.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { GlobalConfig, provideToastr } from 'ngx-toastr';\n\nconst TOASTR_CONFIG: Partial<GlobalConfig> = {\n positionClass: 'toast-bottom-right',\n timeOut: 10000,\n extendedTimeOut: 10000,\n titleClass: 'mat-subtitle-2',\n messageClass: 'toast-message',\n closeButton: true,\n progressBar: true,\n enableHtml: true,\n tapToDismiss: true,\n maxOpened: 4,\n preventDuplicates: true,\n resetTimeoutOnDuplicate: true,\n countDuplicates: false,\n includeTitleDuplicates: true\n};\n\nexport function provideMessage(): EnvironmentProviders {\n return makeEnvironmentProviders([provideToastr(TOASTR_CONFIG)]);\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { provideMessage } from './shared/message.provider';\n\n/**\n * @deprecated import the provideMessage directly\n */\n@NgModule({\n imports: [],\n providers: [provideMessage()],\n exports: []\n})\nexport class IgoMessageModule {\n static forRoot(): ModuleWithProviders<IgoMessageModule> {\n return {\n ngModule: IgoMessageModule,\n providers: []\n };\n }\n}\n","export enum MessageType {\n ERROR = 'error',\n ALERT = 'warning', // todo delete (transition to ngx-toastr)\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 { HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable, Injector } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\n\nimport { ActiveToast, IndividualConfig, ToastrService } from 'ngx-toastr';\nimport { BehaviorSubject, forkJoin } from 'rxjs';\nimport { debounceTime, first } from 'rxjs/operators';\n\nimport { MessageType } from './message.enum';\nimport { Message, MessageOptions } from './message.interface';\n\ninterface ActiveMessageTranslation {\n id: number;\n titleKey: string;\n textKey: string;\n textInterpolateParams?: object;\n titleInterpolateParams?: object;\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class MessageService {\n public messages$ = new BehaviorSubject<Message[]>([]);\n private options?: MessageOptions;\n private activeMessageTranslations: ActiveMessageTranslation[] = [];\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private configService: ConfigService,\n private languageService: LanguageService\n ) {\n this.options = this.configService.getConfig('message');\n this.languageService.language$.pipe(debounceTime(500)).subscribe(() => {\n if (this.toastr.toasts.length === 0) {\n this.activeMessageTranslations = [];\n }\n this.toastr.toasts.map((toast) => {\n const activeMessageTranslation = this.activeMessageTranslations.find(\n (amt) => amt.id === toast.toastId\n );\n if (activeMessageTranslation) {\n const translatedTextInterpolateParams = {\n ...activeMessageTranslation.textInterpolateParams\n };\n const translatedTitleInterpolateParams = {\n ...activeMessageTranslation.titleInterpolateParams\n };\n\n if (activeMessageTranslation.textInterpolateParams) {\n Object.keys(activeMessageTranslation.textInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTextInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.textInterpolateParams[k]\n );\n }\n }\n );\n }\n if (activeMessageTranslation.titleInterpolateParams) {\n Object.keys(activeMessageTranslation.titleInterpolateParams).map(\n (k) => {\n if (k) {\n translatedTitleInterpolateParams[k] =\n this.languageService.translate.instant(\n activeMessageTranslation.titleInterpolateParams[k]\n );\n }\n }\n );\n }\n\n forkJoin([\n this.languageService.translate.get(\n activeMessageTranslation.textKey,\n translatedTextInterpolateParams\n ),\n this.languageService.translate.get(\n activeMessageTranslation.titleKey,\n translatedTitleInterpolateParams\n )\n ])\n .pipe(first())\n .subscribe((res: [string, string]) => {\n toast.toastRef.componentInstance.message = res[0];\n toast.toastRef.componentInstance.title = res[1];\n });\n }\n });\n });\n }\n\n private get toastr(): ToastrService {\n return this.injector.get(ToastrService);\n }\n\n showError(httpError: HttpErrorResponse) {\n httpError.error.caught = true;\n return this.error(httpError.error.message, httpError.error.title);\n }\n\n message(message: Message) {\n const messageType = message.type;\n this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;\n\n this.messages$.next(this.messages$.value.concat([message]));\n\n message.options = message.options || ({} as MessageOptions);\n const currentDate = new Date();\n\n message.options.from = message.options.from\n ? message.options.from\n : new Date('1 jan 1900');\n message.options.to = message.options.to\n ? message.options.to\n : new Date('1 jan 3000');\n if (typeof message.options.from === 'string') {\n message.options.from = new Date(\n Date.parse(message.options.from.replace(/-/g, ' '))\n );\n }\n if (typeof message.options.to === 'string') {\n message.options.to = new Date(\n Date.parse(message.options.to.replace(/-/g, ' '))\n );\n }\n if (\n currentDate > message.options.from &&\n currentDate < message.options.to\n ) {\n if (message.showIcon === false) {\n this.toastr.toastrConfig.iconClasses[messageType] =\n `toast-${messageType} toast-no-icon`;\n }\n message = this.handleTemplate(message);\n\n if (message.text) {\n let messageShown: ActiveToast<any>;\n switch (message.type) {\n case MessageType.SUCCESS:\n messageShown = this.success(\n message.text,\n message.title,\n message.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 message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.INFO:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n case MessageType.SHOW:\n messageShown = this.show(\n message.text,\n message.title,\n message.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 message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n default:\n messageShown = this.info(\n message.text,\n message.title,\n message.options,\n message.textInterpolateParams,\n message.titleInterpolateParams\n );\n break;\n }\n message.options.id = messageShown.toastId;\n }\n }\n }\n\n success(\n text: string,\n title = 'igo.core.message.success',\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\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: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\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: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\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: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'alert',\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: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n return this.handleNgxToastr(\n 'show',\n text,\n title,\n options,\n textInterpolateParams,\n titleInterpolateParams\n );\n }\n\n private handleNgxToastr(\n type: 'alert' | 'info' | 'error' | 'success' | 'show',\n text: string,\n title: string,\n options: Partial<IndividualConfig> = {},\n textInterpolateParams?: object,\n titleInterpolateParams?: object\n ): ActiveToast<any> {\n const translatedTextInterpolateParams = { ...textInterpolateParams };\n const translatedTitlenterpolateParams = { ...titleInterpolateParams };\n\n if (textInterpolateParams) {\n Object.keys(textInterpolateParams).map((k) => {\n const value = textInterpolateParams[k];\n if (value) {\n translatedTextInterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n if (titleInterpolateParams) {\n Object.keys(titleInterpolateParams).map((k) => {\n if (k) {\n const value = titleInterpolateParams[k];\n translatedTitlenterpolateParams[k] =\n typeof value === 'string'\n ? this.languageService.translate.instant(value)\n : value;\n }\n });\n }\n\n const message = this.languageService.translate.instant(\n text,\n translatedTextInterpolateParams\n );\n const translatedTitle = this.languageService.translate.instant(\n title,\n translatedTitlenterpolateParams\n );\n\n let activeToast;\n switch (type) {\n case 'success':\n activeToast = this.toastr.success(message, translatedTitle, options);\n break;\n case 'error':\n activeToast = this.toastr.error(message, translatedTitle, options);\n break;\n case 'show':\n case 'info':\n activeToast = this.toastr.info(message, translatedTitle, options);\n break;\n case 'alert':\n activeToast = this.toastr.warning(message, translatedTitle, options);\n break;\n }\n this.activeMessageTranslations.push({\n id: activeToast.toastId,\n titleKey: title,\n textKey: text,\n textInterpolateParams,\n titleInterpolateParams\n });\n return activeToast;\n }\n\n remove(id?: number) {\n this.toastr.remove(id);\n }\n\n removeAllAreNotError() {\n for (const mess of this.messages$.value) {\n if (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 html = html.replace('${title}', message.title);\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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"}
|
|
@@ -54,7 +54,7 @@ const provideSentryMonitoring = (options) => {
|
|
|
54
54
|
// Force instantiate TraceService to avoid require it in any constructor.
|
|
55
55
|
tracingEnabled && {
|
|
56
56
|
provide: APP_INITIALIZER,
|
|
57
|
-
useFactory: () => () =>
|
|
57
|
+
useFactory: () => () => void 1,
|
|
58
58
|
deps: [TraceService],
|
|
59
59
|
multi: true
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-core-monitoring.mjs","sources":["../../../packages/core/monitoring/src/sentry/sentry.utils.ts","../../../packages/core/monitoring/src/sentry/sentry.ts","../../../packages/core/monitoring/src/sentry/sentry.provider.ts","../../../packages/core/monitoring/src/monitoring.provider.ts","../../../packages/core/monitoring/src/__mocks__/monitoring-mock.ts","../../../packages/core/monitoring/src/igo2-core-monitoring.ts"],"sourcesContent":["import { BaseUser } from '@igo2/core/user';\n\nimport { setUser } from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const isTracingEnabled = (options: SentryMonitoringOptions): boolean =>\n !!options.tracesSampleRate || !!options.tracesSampler;\n\nexport const isReplayEnabled = (options: SentryMonitoringOptions): boolean =>\n !!options.replaysSessionSampleRate || !!options.replaysOnErrorSampleRate;\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 {\n BrowserOptions,\n SentryErrorHandler,\n browserTracingIntegration,\n createErrorHandler,\n getClient,\n init,\n replayIntegration\n} from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\nimport { isReplayEnabled, isTracingEnabled } from './sentry.utils';\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 const baseConfig: BrowserOptions = {\n ...options,\n integrations: [\n isTracingEnabled(options) && browserTracingIntegration(),\n isReplayEnabled(options) && replayIntegration()\n ].filter(Boolean)\n };\n\n init(baseConfig);\n};\n","import {\n APP_INITIALIZER,\n ConstructorProvider,\n ErrorHandler,\n FactoryProvider\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TraceService } from '@sentry/angular';\n\nimport { createSentryErrorHandler, initSentry } from './sentry';\nimport { SentryMonitoringOptions } from './sentry.interface';\nimport { isTracingEnabled } from './sentry.utils';\n\nexport const provideSentryMonitoring = (\n options: SentryMonitoringOptions\n): (FactoryProvider | ConstructorProvider)[] => {\n const isEnabled = options.enabled !== undefined ? options.enabled : true;\n if (!isEnabled) {\n return [];\n }\n\n initSentry(options);\n\n const tracingEnabled = isTracingEnabled(options);\n\n return [\n {\n provide: ErrorHandler,\n useFactory: () => createSentryErrorHandler(options)\n },\n tracingEnabled && {\n provide: TraceService,\n deps: [Router]\n },\n // Force instantiate TraceService to avoid require it in any constructor.\n tracingEnabled && {\n provide: APP_INITIALIZER,\n useFactory: () => () =>
|
|
1
|
+
{"version":3,"file":"igo2-core-monitoring.mjs","sources":["../../../packages/core/monitoring/src/sentry/sentry.utils.ts","../../../packages/core/monitoring/src/sentry/sentry.ts","../../../packages/core/monitoring/src/sentry/sentry.provider.ts","../../../packages/core/monitoring/src/monitoring.provider.ts","../../../packages/core/monitoring/src/__mocks__/monitoring-mock.ts","../../../packages/core/monitoring/src/igo2-core-monitoring.ts"],"sourcesContent":["import { BaseUser } from '@igo2/core/user';\n\nimport { setUser } from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\n\nexport const isTracingEnabled = (options: SentryMonitoringOptions): boolean =>\n !!options.tracesSampleRate || !!options.tracesSampler;\n\nexport const isReplayEnabled = (options: SentryMonitoringOptions): boolean =>\n !!options.replaysSessionSampleRate || !!options.replaysOnErrorSampleRate;\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 {\n BrowserOptions,\n SentryErrorHandler,\n browserTracingIntegration,\n createErrorHandler,\n getClient,\n init,\n replayIntegration\n} from '@sentry/angular';\n\nimport { SentryMonitoringOptions } from './sentry.interface';\nimport { isReplayEnabled, isTracingEnabled } from './sentry.utils';\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 const baseConfig: BrowserOptions = {\n ...options,\n integrations: [\n isTracingEnabled(options) && browserTracingIntegration(),\n isReplayEnabled(options) && replayIntegration()\n ].filter(Boolean)\n };\n\n init(baseConfig);\n};\n","import {\n APP_INITIALIZER,\n ConstructorProvider,\n ErrorHandler,\n FactoryProvider\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TraceService } from '@sentry/angular';\n\nimport { createSentryErrorHandler, initSentry } from './sentry';\nimport { SentryMonitoringOptions } from './sentry.interface';\nimport { isTracingEnabled } from './sentry.utils';\n\nexport const provideSentryMonitoring = (\n options: SentryMonitoringOptions\n): (FactoryProvider | ConstructorProvider)[] => {\n const isEnabled = options.enabled !== undefined ? options.enabled : true;\n if (!isEnabled) {\n return [];\n }\n\n initSentry(options);\n\n const tracingEnabled = isTracingEnabled(options);\n\n return [\n {\n provide: ErrorHandler,\n useFactory: () => createSentryErrorHandler(options)\n },\n tracingEnabled && {\n provide: TraceService,\n deps: [Router]\n },\n // Force instantiate TraceService to avoid require it in any constructor.\n tracingEnabled && {\n provide: APP_INITIALIZER,\n useFactory: () => () => void 1,\n deps: [TraceService],\n multi: true\n }\n ].filter(Boolean);\n};\n","import { InjectionToken, Provider } from '@angular/core';\n\nimport { provideSentryMonitoring } from './sentry/sentry.provider';\nimport { AnyMonitoringOptions, MonitoringOptions } from './shared';\n\nexport const MONITORING_OPTIONS = new InjectionToken<MonitoringOptions | null>(\n 'monitoring.options'\n);\n\nexport function provideMonitoring(\n options: AnyMonitoringOptions | null\n): Provider[] {\n if (!options) {\n return [];\n }\n\n const providers: Provider[] = [\n { provide: MONITORING_OPTIONS, useValue: options }\n ];\n\n switch (options.provider) {\n case 'sentry':\n providers.push(...provideSentryMonitoring(options));\n break;\n default:\n break;\n }\n\n return providers;\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":"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"}
|
|
@@ -47,17 +47,19 @@ class NetworkService {
|
|
|
47
47
|
this.offlineSubscription.unsubscribe();
|
|
48
48
|
this.onlineSubscription.unsubscribe();
|
|
49
49
|
}
|
|
50
|
-
catch
|
|
50
|
+
catch {
|
|
51
|
+
// empty
|
|
52
|
+
}
|
|
51
53
|
}
|
|
52
54
|
currentState(reportState = true) {
|
|
53
55
|
return reportState
|
|
54
56
|
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
55
57
|
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
56
58
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NetworkService, deps: [{ token: i1.MessageService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NetworkService, providedIn: 'root' });
|
|
59
61
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NetworkService, decorators: [{
|
|
61
63
|
type: Injectable,
|
|
62
64
|
args: [{
|
|
63
65
|
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, Injector, OnDestroy } 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 stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription: Subscription;\n private offlineSubscription: Subscription;\n private previousMessageId;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor(\n private messageService: MessageService,\n private injector: Injector\n ) {\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 try {\n this.offlineSubscription.unsubscribe();\n this.onlineSubscription.unsubscribe();\n } catch
|
|
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, Injector, OnDestroy } 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 stateChangeEventEmitter = new EventEmitter<ConnectionState>();\n private onlineSubscription: Subscription;\n private offlineSubscription: Subscription;\n private previousMessageId;\n\n private state: ConnectionState = {\n connection: window.navigator.onLine\n };\n\n constructor(\n private messageService: MessageService,\n private injector: Injector\n ) {\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 try {\n this.offlineSubscription.unsubscribe();\n this.onlineSubscription.unsubscribe();\n } catch {\n // empty\n }\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;AAWf,IAAA,cAAA,CAAA;AACA,IAAA,QAAA,CAAA;AAXF,IAAA,uBAAuB,GAAG,IAAI,YAAY,EAAmB,CAAC;AAC9D,IAAA,kBAAkB,CAAe;AACjC,IAAA,mBAAmB,CAAe;AAClC,IAAA,iBAAiB,CAAC;AAElB,IAAA,KAAK,GAAoB;AAC/B,QAAA,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;KACpC,CAAC;IAEF,WACU,CAAA,cAA8B,EAC9B,QAAkB,EAAA;QADlB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAE1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAEO,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,CAAC;aACpD;AACD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,iCAAiC,EACjC,+BAA+B,CAChC,CAAC;AACF,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC;AAC5C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;AACnB,SAAC,CAAC,CAAC;AAEH,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,CAAC;aACpD;AACD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CACzC,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;AACF,YAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC;AAC5C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;AACnB,SAAC,CAAC,CAAC;KACJ;IAEO,SAAS,GAAA;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/C;IAED,WAAW,GAAA;AACT,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;AAAC,QAAA,MAAM;;SAEP;KACF;IAED,YAAY,CAAC,WAAW,GAAG,IAAI,EAAA;AAC7B,QAAA,OAAO,WAAW;AAChB,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC/B,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CACtB;AACH,cAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1D;uGAjEU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -18,10 +18,10 @@ class RegexService {
|
|
|
18
18
|
}
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RegexService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RegexService, providedIn: 'root' });
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: RegexService, decorators: [{
|
|
25
25
|
type: Injectable,
|
|
26
26
|
args: [{
|
|
27
27
|
providedIn: 'root'
|