@igo2/core 17.0.0-next.5 → 17.0.0-next.7

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.
@@ -1,11 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, Injectable, makeEnvironmentProviders, importProvidersFrom, APP_INITIALIZER } from '@angular/core';
3
3
  import * as i1 from '@ngx-translate/core';
4
- import { TranslateModule, MissingTranslationHandler, TranslateLoader } from '@ngx-translate/core';
4
+ import { TranslateModule, MissingTranslationHandler, TranslateLoader, TranslateFakeLoader } from '@ngx-translate/core';
5
5
  import { HttpClient, HttpBackend } from '@angular/common/http';
6
6
  import { ObjectUtils } from '@igo2/utils';
7
7
  import { BehaviorSubject, first, switchMap, forkJoin, map, tap, combineLatest } from 'rxjs';
8
8
  import { ConfigService } from '@igo2/core/config';
9
+ import { timeout, catchError } from 'rxjs/operators';
9
10
 
10
11
  class IgoLanguageModule {
11
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -106,16 +107,21 @@ class IgoMissingTranslationHandler {
106
107
  }
107
108
  }
108
109
 
110
+ // 5 seconds
111
+ const TIMEOUT_DURATION = 5000;
109
112
  /**
110
113
  * Make sure you only call this method in the root module of your application, most of the time called AppModule.
111
114
  */
112
- function provideRootTranslation(loader) {
115
+ function provideTranslation(loader) {
113
116
  return makeEnvironmentProviders([
114
117
  importProvidersFrom(TranslateModule.forRoot(setTranslationConfig(loader))),
115
118
  {
116
119
  provide: APP_INITIALIZER,
117
120
  useFactory: (languageService) => () => {
118
- return languageService.translate.currentLoader.isLoaded$?.pipe(first((isLoaded) => isLoaded === true));
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
+ }));
119
125
  },
120
126
  deps: [LanguageService],
121
127
  multi: true
@@ -139,13 +145,20 @@ function defaultLanguageLoader(http, config) {
139
145
  return new LanguageLoader(http, config, undefined, undefined);
140
146
  }
141
147
 
142
- function provideMockRootTranslation(loader) {
143
- return TranslateModule.forRoot();
148
+ function provideMockTranslation(loader) {
149
+ return makeEnvironmentProviders([
150
+ importProvidersFrom(TranslateModule.forRoot({
151
+ loader: {
152
+ provide: TranslateLoader,
153
+ useClass: TranslateFakeLoader
154
+ }
155
+ }))
156
+ ]);
144
157
  }
145
158
 
146
159
  /**
147
160
  * Generated bundle index. Do not edit.
148
161
  */
149
162
 
150
- export { DEFAULT_LANGUAGE_LOADER, IgoLanguageModule, IgoMissingTranslationHandler, LanguageLoader, LanguageLoaderBase, LanguageService, provideMockRootTranslation, provideRootTranslation, setTranslationConfig };
163
+ export { DEFAULT_LANGUAGE_LOADER, IgoLanguageModule, IgoMissingTranslationHandler, LanguageLoader, LanguageLoaderBase, LanguageService, provideMockTranslation, provideTranslation, setTranslationConfig };
151
164
  //# sourceMappingURL=igo2-core-language.mjs.map
@@ -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';\n\nimport { LanguageLoaderBase } from './language.interface';\nimport { LanguageLoader } from './language.loader';\nimport { LanguageService } from './language.service';\nimport { IgoMissingTranslationHandler } from './missing-translation.guard';\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 provideRootTranslation(\n loader?: Provider\n): 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(first((isLoaded) => isLoaded === true));\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 { ImportProvidersSource, Provider } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport function provideMockRootTranslation(\n loader?: Provider\n): ImportProvidersSource {\n return TranslateModule.forRoot();\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: 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,12 +1,34 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, Injector, Injectable, Inject } from '@angular/core';
3
- import * as i1 from 'ngx-toastr';
4
- import { ToastrModule, ToastrService } from 'ngx-toastr';
5
- import * as i1$1 from '@igo2/core/config';
2
+ import { makeEnvironmentProviders, NgModule, Injector, Injectable, Inject } from '@angular/core';
3
+ import { provideToastr, ToastrService } from 'ngx-toastr';
4
+ import * as i1 from '@igo2/core/config';
6
5
  import * as i2 from '@igo2/core/language';
7
6
  import { BehaviorSubject, forkJoin } from 'rxjs';
8
7
  import { debounceTime, first } from 'rxjs/operators';
9
8
 
9
+ const TOASTR_CONFIG = {
10
+ positionClass: 'toast-bottom-right',
11
+ timeOut: 10000,
12
+ extendedTimeOut: 10000,
13
+ titleClass: 'mat-subtitle-2',
14
+ messageClass: 'toast-message',
15
+ closeButton: true,
16
+ progressBar: true,
17
+ enableHtml: true,
18
+ tapToDismiss: true,
19
+ maxOpened: 4,
20
+ preventDuplicates: true,
21
+ resetTimeoutOnDuplicate: true,
22
+ countDuplicates: false,
23
+ includeTitleDuplicates: true
24
+ };
25
+ function provideMessage() {
26
+ return makeEnvironmentProviders([provideToastr(TOASTR_CONFIG)]);
27
+ }
28
+
29
+ /**
30
+ * @deprecated import the provideMessage directly
31
+ */
10
32
  class IgoMessageModule {
11
33
  static forRoot() {
12
34
  return {
@@ -15,46 +37,14 @@ class IgoMessageModule {
15
37
  };
16
38
  }
17
39
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule, imports: [i1.ToastrModule] });
19
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule, imports: [ToastrModule.forRoot({
20
- positionClass: 'toast-bottom-right',
21
- timeOut: 10000,
22
- extendedTimeOut: 10000,
23
- titleClass: 'mat-subtitle-2',
24
- messageClass: 'toast-message',
25
- closeButton: true,
26
- progressBar: true,
27
- enableHtml: true,
28
- tapToDismiss: true,
29
- maxOpened: 4,
30
- preventDuplicates: true,
31
- resetTimeoutOnDuplicate: true,
32
- countDuplicates: false,
33
- includeTitleDuplicates: true
34
- })] });
40
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule });
41
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule, providers: [provideMessage()] });
35
42
  }
36
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoMessageModule, decorators: [{
37
44
  type: NgModule,
38
45
  args: [{
39
- imports: [
40
- ToastrModule.forRoot({
41
- positionClass: 'toast-bottom-right',
42
- timeOut: 10000,
43
- extendedTimeOut: 10000,
44
- titleClass: 'mat-subtitle-2',
45
- messageClass: 'toast-message',
46
- closeButton: true,
47
- progressBar: true,
48
- enableHtml: true,
49
- tapToDismiss: true,
50
- maxOpened: 4,
51
- preventDuplicates: true,
52
- resetTimeoutOnDuplicate: true,
53
- countDuplicates: false,
54
- includeTitleDuplicates: true
55
- })
56
- ],
57
- declarations: [],
46
+ imports: [],
47
+ providers: [provideMessage()],
58
48
  exports: []
59
49
  }]
60
50
  }] });
@@ -271,7 +261,7 @@ class MessageService {
271
261
  message.title = undefined;
272
262
  return message;
273
263
  }
274
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: i1$1.ConfigService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
264
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, deps: [{ token: Injector }, { token: i1.ConfigService }, { token: i2.LanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
275
265
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, providedIn: 'root' });
276
266
  }
277
267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MessageService, decorators: [{
@@ -282,11 +272,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
282
272
  }], ctorParameters: () => [{ type: i0.Injector, decorators: [{
283
273
  type: Inject,
284
274
  args: [Injector]
285
- }] }, { type: i1$1.ConfigService }, { type: i2.LanguageService }] });
275
+ }] }, { type: i1.ConfigService }, { type: i2.LanguageService }] });
286
276
 
287
277
  /**
288
278
  * Generated bundle index. Do not edit.
289
279
  */
290
280
 
291
- export { IgoMessageModule, MessageService, MessageType };
281
+ export { IgoMessageModule, MessageService, MessageType, provideMessage };
292
282
  //# sourceMappingURL=igo2-core-message.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-core-message.mjs","sources":["../../../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 { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { GlobalConfig, ToastrModule } from 'ngx-toastr';\n\n@NgModule({\n imports: [\n ToastrModule.forRoot({\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 } as GlobalConfig)\n ],\n declarations: [],\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":["i1"],"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 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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"}
@@ -2,17 +2,14 @@ import { CommonModule } from '@angular/common';
2
2
  import { HttpClientModule } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { NgModule } from '@angular/core';
5
- import * as i1 from '@angular/material/icon';
6
- import * as i2 from '@angular/platform-browser';
7
- import * as i3 from '@igo2/core/activity';
5
+ import * as i1 from '@igo2/core/activity';
8
6
  import { IgoActivityModule } from '@igo2/core/activity';
9
- import * as i4 from '@igo2/core/config';
10
- import { IgoConfigModule } from '@igo2/core/config';
11
- import { IgoLanguageModule, provideRootTranslation } from '@igo2/core/language';
12
- import { IgoMessageModule } from '@igo2/core/message';
13
- import * as i5 from '@igo2/core/request';
7
+ import { provideConfig } from '@igo2/core/config';
8
+ import { provideTranslation, IgoLanguageModule } from '@igo2/core/language';
9
+ import { provideMessage } from '@igo2/core/message';
10
+ import * as i2 from '@igo2/core/request';
14
11
  import { IgoErrorModule } from '@igo2/core/request';
15
- import * as i6 from 'ngx-indexed-db';
12
+ import * as i3 from 'ngx-indexed-db';
16
13
  import { NgxIndexedDBModule } from 'ngx-indexed-db';
17
14
 
18
15
  const dbConfig = {
@@ -45,33 +42,21 @@ const dbConfig = {
45
42
  ]
46
43
  };
47
44
  class IgoCoreModule {
48
- static forRoot() {
45
+ static forRoot(options = {}) {
49
46
  return {
50
47
  ngModule: IgoCoreModule,
51
- providers: []
48
+ providers: [provideConfig(options), provideTranslation()]
52
49
  };
53
50
  }
54
- constructor(matIconRegistry, domSanitizer) {
55
- matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./assets/igo2/core/icons/mdi.svg'));
56
- }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule });
51
+ constructor() { }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
58
53
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, imports: [CommonModule,
59
- HttpClientModule, i3.IgoActivityModule, i4.IgoConfigModule, i5.IgoErrorModule, IgoMessageModule, i6.NgxIndexedDBModule], exports: [IgoActivityModule,
60
- IgoConfigModule,
61
- IgoErrorModule,
62
- IgoLanguageModule,
63
- IgoMessageModule] });
64
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, providers: [provideRootTranslation()], imports: [CommonModule,
54
+ HttpClientModule, i1.IgoActivityModule, i2.IgoErrorModule, i3.NgxIndexedDBModule], exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
55
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, providers: [provideMessage()], imports: [CommonModule,
65
56
  HttpClientModule,
66
57
  IgoActivityModule.forRoot(),
67
- IgoConfigModule.forRoot(),
68
58
  IgoErrorModule.forRoot(),
69
- IgoMessageModule,
70
- NgxIndexedDBModule.forRoot(dbConfig), IgoActivityModule,
71
- IgoConfigModule,
72
- IgoErrorModule,
73
- IgoLanguageModule,
74
- IgoMessageModule] });
59
+ NgxIndexedDBModule.forRoot(dbConfig), IgoActivityModule, IgoErrorModule, IgoLanguageModule] });
75
60
  }
76
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoCoreModule, decorators: [{
77
62
  type: NgModule,
@@ -80,22 +65,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
80
65
  CommonModule,
81
66
  HttpClientModule,
82
67
  IgoActivityModule.forRoot(),
83
- IgoConfigModule.forRoot(),
84
68
  IgoErrorModule.forRoot(),
85
- IgoMessageModule,
86
69
  NgxIndexedDBModule.forRoot(dbConfig)
87
70
  ],
88
- providers: [provideRootTranslation()],
71
+ providers: [provideMessage()],
89
72
  declarations: [],
90
- exports: [
91
- IgoActivityModule,
92
- IgoConfigModule,
93
- IgoErrorModule,
94
- IgoLanguageModule,
95
- IgoMessageModule
96
- ]
73
+ exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule]
97
74
  }]
98
- }], ctorParameters: () => [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }] });
75
+ }], ctorParameters: () => [] });
99
76
 
100
77
  /*
101
78
  * Public API Surface of core
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { IgoConfigModule } from '@igo2/core/config';\nimport { IgoLanguageModule, provideRootTranslation } from '@igo2/core/language';\nimport { IgoMessageModule } from '@igo2/core/message';\nimport { IgoErrorModule } from '@igo2/core/request';\n\nimport { DBConfig, NgxIndexedDBModule } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'igo2DB',\n version: 2,\n objectStoresMeta: [\n {\n store: 'geoData',\n storeConfig: { keyPath: 'url', autoIncrement: false },\n storeSchema: [\n { name: 'regionID', keypath: 'regionID', options: { unique: false } }\n ]\n },\n {\n store: 'layerData',\n storeConfig: { keyPath: 'layerId', autoIncrement: false },\n storeSchema: [\n {\n name: 'layerOptions',\n keypath: 'layerOptions',\n options: { unique: false }\n },\n {\n name: 'sourceOptions',\n keypath: 'sourceOptions',\n options: { unique: false }\n }\n ]\n }\n ]\n};\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n IgoActivityModule.forRoot(),\n IgoConfigModule.forRoot(),\n IgoErrorModule.forRoot(),\n IgoMessageModule,\n NgxIndexedDBModule.forRoot(dbConfig)\n ],\n providers: [provideRootTranslation()],\n declarations: [],\n exports: [\n IgoActivityModule,\n IgoConfigModule,\n IgoErrorModule,\n IgoLanguageModule,\n IgoMessageModule\n ]\n})\nexport class IgoCoreModule {\n static forRoot(): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: []\n };\n }\n\n constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) {\n matIconRegistry.addSvgIconSet(\n domSanitizer.bypassSecurityTrustResourceUrl(\n './assets/igo2/core/icons/mdi.svg'\n )\n );\n }\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\n\n/** @deprecated */\n// export * from '@igo2/core/language';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igo2-core.mjs","sources":["../../../packages/core/src/lib/core.module.ts","../../../packages/core/src/public_api.ts","../../../packages/core/src/igo2-core.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoActivityModule } from '@igo2/core/activity';\nimport { ConfigOptions, provideConfig } from '@igo2/core/config';\nimport { IgoLanguageModule, provideTranslation } from '@igo2/core/language';\nimport { provideMessage } from '@igo2/core/message';\nimport { IgoErrorModule } from '@igo2/core/request';\n\nimport { DBConfig, NgxIndexedDBModule } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'igo2DB',\n version: 2,\n objectStoresMeta: [\n {\n store: 'geoData',\n storeConfig: { keyPath: 'url', autoIncrement: false },\n storeSchema: [\n { name: 'regionID', keypath: 'regionID', options: { unique: false } }\n ]\n },\n {\n store: 'layerData',\n storeConfig: { keyPath: 'layerId', autoIncrement: false },\n storeSchema: [\n {\n name: 'layerOptions',\n keypath: 'layerOptions',\n options: { unique: false }\n },\n {\n name: 'sourceOptions',\n keypath: 'sourceOptions',\n options: { unique: false }\n }\n ]\n }\n ]\n};\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n IgoActivityModule.forRoot(),\n IgoErrorModule.forRoot(),\n NgxIndexedDBModule.forRoot(dbConfig)\n ],\n providers: [provideMessage()],\n declarations: [],\n exports: [IgoActivityModule, IgoErrorModule, IgoLanguageModule]\n})\nexport class IgoCoreModule {\n static forRoot(\n options: ConfigOptions = {}\n ): ModuleWithProviders<IgoCoreModule> {\n return {\n ngModule: IgoCoreModule,\n providers: [provideConfig(options), provideTranslation()]\n };\n }\n\n constructor() {}\n}\n","/*\n * Public API Surface of core\n */\n\nexport * from './lib/core.module';\n\n/** @deprecated */\n// export * from '@igo2/core/language';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { ImportProvidersSource, Provider } from '@angular/core';
2
- export declare function provideMockRootTranslation(loader?: Provider): ImportProvidersSource;
1
+ import { EnvironmentProviders, Provider } from '@angular/core';
2
+ export declare function provideMockTranslation(loader?: Provider): EnvironmentProviders;
@@ -3,6 +3,6 @@ import { TranslateModuleConfig } from '@ngx-translate/core';
3
3
  /**
4
4
  * Make sure you only call this method in the root module of your application, most of the time called AppModule.
5
5
  */
6
- export declare function provideRootTranslation(loader?: Provider): EnvironmentProviders;
6
+ export declare function provideTranslation(loader?: Provider): EnvironmentProviders;
7
7
  export declare const setTranslationConfig: (loader?: Provider) => TranslateModuleConfig;
8
8
  export declare const DEFAULT_LANGUAGE_LOADER: Provider;
@@ -1,19 +1,16 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
- import { MatIconRegistry } from '@angular/material/icon';
3
- import { DomSanitizer } from '@angular/platform-browser';
2
+ import { ConfigOptions } from '@igo2/core/config';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  import * as i2 from "@angular/common/http";
7
6
  import * as i3 from "@igo2/core/activity";
8
- import * as i4 from "@igo2/core/config";
9
- import * as i5 from "@igo2/core/request";
10
- import * as i6 from "@igo2/core/message";
11
- import * as i7 from "ngx-indexed-db";
12
- import * as i8 from "@igo2/core/language";
7
+ import * as i4 from "@igo2/core/request";
8
+ import * as i5 from "ngx-indexed-db";
9
+ import * as i6 from "@igo2/core/language";
13
10
  export declare class IgoCoreModule {
14
- static forRoot(): ModuleWithProviders<IgoCoreModule>;
15
- constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer);
11
+ static forRoot(options?: ConfigOptions): ModuleWithProviders<IgoCoreModule>;
12
+ constructor();
16
13
  static ɵfac: i0.ɵɵFactoryDeclaration<IgoCoreModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCoreModule, never, [typeof i1.CommonModule, typeof i2.HttpClientModule, typeof i3.IgoActivityModule, typeof i4.IgoConfigModule, typeof i5.IgoErrorModule, typeof i6.IgoMessageModule, typeof i7.NgxIndexedDBModule], [typeof i3.IgoActivityModule, typeof i4.IgoConfigModule, typeof i5.IgoErrorModule, typeof i8.IgoLanguageModule, typeof i6.IgoMessageModule]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IgoCoreModule, never, [typeof i1.CommonModule, typeof i2.HttpClientModule, typeof i3.IgoActivityModule, typeof i4.IgoErrorModule, typeof i5.NgxIndexedDBModule], [typeof i3.IgoActivityModule, typeof i4.IgoErrorModule, typeof i6.IgoLanguageModule]>;
18
15
  static ɵinj: i0.ɵɵInjectorDeclaration<IgoCoreModule>;
19
16
  }