@igo2/core 1.14.3 → 1.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/esm2020/igo2-core.mjs +4 -4
  2. package/esm2020/lib/activity/activity.interceptor.mjs +29 -29
  3. package/esm2020/lib/activity/activity.module.mjs +29 -29
  4. package/esm2020/lib/activity/activity.service.mjs +32 -32
  5. package/esm2020/lib/activity/index.mjs +2 -2
  6. package/esm2020/lib/analytics/index.mjs +1 -1
  7. package/esm2020/lib/analytics/shared/analytics.interface.mjs +1 -1
  8. package/esm2020/lib/analytics/shared/analytics.service.mjs +73 -73
  9. package/esm2020/lib/analytics/shared/index.mjs +2 -2
  10. package/esm2020/lib/compression/compressedData.interface.mjs +1 -1
  11. package/esm2020/lib/compression/compression.service.mjs +139 -139
  12. package/esm2020/lib/compression/index.mjs +2 -2
  13. package/esm2020/lib/config/config.interface.mjs +1 -1
  14. package/esm2020/lib/config/config.module.mjs +22 -22
  15. package/esm2020/lib/config/config.provider.mjs +20 -20
  16. package/esm2020/lib/config/config.service.mjs +51 -51
  17. package/esm2020/lib/config/index.mjs +3 -3
  18. package/esm2020/lib/config/version.mjs +5 -5
  19. package/esm2020/lib/core.module.mjs +83 -83
  20. package/esm2020/lib/gesture/gesture.module.mjs +29 -29
  21. package/esm2020/lib/gesture/gesture.provider.mjs +15 -15
  22. package/esm2020/lib/language/index.mjs +1 -1
  23. package/esm2020/lib/language/language.module.mjs +38 -38
  24. package/esm2020/lib/language/shared/index.mjs +4 -4
  25. package/esm2020/lib/language/shared/language.interface.mjs +1 -1
  26. package/esm2020/lib/language/shared/language.loader.mjs +26 -26
  27. package/esm2020/lib/language/shared/language.provider.mjs +21 -21
  28. package/esm2020/lib/language/shared/language.service.mjs +31 -31
  29. package/esm2020/lib/language/shared/missing-translation.guard.mjs +14 -14
  30. package/esm2020/lib/media/index.mjs +2 -2
  31. package/esm2020/lib/media/media.enum.mjs +11 -11
  32. package/esm2020/lib/media/media.service.mjs +75 -75
  33. package/esm2020/lib/message/index.mjs +1 -1
  34. package/esm2020/lib/message/message.module.mjs +55 -55
  35. package/esm2020/lib/message/shared/index.mjs +3 -3
  36. package/esm2020/lib/message/shared/message.enum.mjs +9 -9
  37. package/esm2020/lib/message/shared/message.interface.mjs +1 -1
  38. package/esm2020/lib/message/shared/message.service.mjs +192 -192
  39. package/esm2020/lib/network/index.mjs +2 -2
  40. package/esm2020/lib/network/network.interfaces.mjs +1 -1
  41. package/esm2020/lib/network/network.service.mjs +66 -66
  42. package/esm2020/lib/regex/index.mjs +2 -2
  43. package/esm2020/lib/regex/regex.interface.mjs +1 -1
  44. package/esm2020/lib/regex/regex.service.mjs +26 -26
  45. package/esm2020/lib/request/error.interceptor.mjs +65 -65
  46. package/esm2020/lib/request/error.module.mjs +39 -39
  47. package/esm2020/lib/request/index.mjs +2 -2
  48. package/esm2020/lib/request/logging.interceptor.mjs +27 -27
  49. package/esm2020/lib/request/logging.module.mjs +29 -29
  50. package/esm2020/lib/route/route.interface.mjs +1 -1
  51. package/esm2020/lib/route/route.service.mjs +70 -70
  52. package/esm2020/lib/storage/index.mjs +2 -2
  53. package/esm2020/lib/storage/storage.interface.mjs +12 -12
  54. package/esm2020/lib/storage/storage.service.mjs +78 -78
  55. package/esm2020/public_api.mjs +27 -27
  56. package/fesm2015/igo2-core.mjs +1310 -1310
  57. package/fesm2015/igo2-core.mjs.map +1 -1
  58. package/fesm2020/igo2-core.mjs +1256 -1256
  59. package/fesm2020/igo2-core.mjs.map +1 -1
  60. package/index.d.ts +5 -5
  61. package/lib/activity/activity.interceptor.d.ts +11 -11
  62. package/lib/activity/activity.module.d.ts +8 -8
  63. package/lib/activity/activity.service.d.ts +11 -11
  64. package/lib/activity/index.d.ts +2 -2
  65. package/lib/analytics/index.d.ts +1 -1
  66. package/lib/analytics/shared/analytics.interface.d.ts +6 -6
  67. package/lib/analytics/shared/analytics.service.d.ts +19 -19
  68. package/lib/analytics/shared/index.d.ts +2 -2
  69. package/lib/compression/compressedData.interface.d.ts +5 -5
  70. package/lib/compression/compression.service.d.ts +15 -15
  71. package/lib/compression/index.d.ts +2 -2
  72. package/lib/config/config.interface.d.ts +6 -6
  73. package/lib/config/config.module.d.ts +8 -8
  74. package/lib/config/config.provider.d.ts +15 -15
  75. package/lib/config/config.service.d.ts +18 -18
  76. package/lib/config/index.d.ts +3 -3
  77. package/lib/config/version.d.ts +5 -5
  78. package/lib/core.module.d.ts +19 -19
  79. package/lib/gesture/gesture.module.d.ts +9 -9
  80. package/lib/gesture/gesture.provider.d.ts +7 -7
  81. package/lib/language/index.d.ts +1 -1
  82. package/lib/language/language.module.d.ts +9 -9
  83. package/lib/language/shared/index.d.ts +4 -4
  84. package/lib/language/shared/language.interface.d.ts +3 -3
  85. package/lib/language/shared/language.loader.d.ts +11 -11
  86. package/lib/language/shared/language.provider.d.ts +15 -15
  87. package/lib/language/shared/language.service.d.ts +13 -13
  88. package/lib/language/shared/missing-translation.guard.d.ts +4 -4
  89. package/lib/media/index.d.ts +2 -2
  90. package/lib/media/media.enum.d.ts +9 -9
  91. package/lib/media/media.service.d.ts +16 -16
  92. package/lib/message/index.d.ts +1 -1
  93. package/lib/message/message.module.d.ts +10 -10
  94. package/lib/message/shared/index.d.ts +4 -4
  95. package/lib/message/shared/message.enum.d.ts +8 -8
  96. package/lib/message/shared/message.interface.d.ts +21 -21
  97. package/lib/message/shared/message.service.d.ts +31 -31
  98. package/lib/network/index.d.ts +2 -2
  99. package/lib/network/network.interfaces.d.ts +3 -3
  100. package/lib/network/network.service.d.ts +21 -21
  101. package/lib/regex/index.d.ts +2 -2
  102. package/lib/regex/regex.interface.d.ts +3 -3
  103. package/lib/regex/regex.service.d.ts +12 -12
  104. package/lib/request/error.interceptor.d.ts +14 -14
  105. package/lib/request/error.module.d.ts +9 -9
  106. package/lib/request/index.d.ts +2 -2
  107. package/lib/request/logging.interceptor.d.ts +8 -8
  108. package/lib/request/logging.module.d.ts +8 -8
  109. package/lib/route/route.interface.d.ts +23 -23
  110. package/lib/route/route.service.d.ts +19 -19
  111. package/lib/storage/index.d.ts +2 -2
  112. package/lib/storage/storage.interface.d.ts +20 -20
  113. package/lib/storage/storage.service.d.ts +19 -19
  114. package/package.json +2 -2
  115. package/public_api.d.ts +24 -24
  116. package/style/index.theming.scss +4 -0
  117. package/style/partial/media.scss +80 -80
@@ -18,1328 +18,1328 @@ import * as i1$3 from '@angular/router';
18
18
  import * as i1$4 from '@angular/cdk/layout';
19
19
  import { Breakpoints } from '@angular/cdk/layout';
20
20
 
21
- class ActivityService {
22
- constructor() {
23
- this.counter$ = new BehaviorSubject(0);
24
- this.ids = [];
25
- }
26
- register() {
27
- const id = uuid();
28
- this.ids.push(id);
29
- this.counter$.next(this.ids.length);
30
- return id;
31
- }
32
- unregister(id) {
33
- const index = this.ids.indexOf(id);
34
- if (index === -1) {
35
- return;
36
- }
37
- this.ids.splice(index, 1);
38
- this.counter$.next(this.ids.length);
39
- }
40
- }
41
- ActivityService.ɵfac = function ActivityService_Factory(t) { return new (t || ActivityService)(); };
42
- ActivityService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityService, factory: ActivityService.ɵfac, providedIn: 'root' });
43
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityService, [{
44
- type: Injectable,
45
- args: [{
46
- providedIn: 'root'
47
- }]
21
+ class ActivityService {
22
+ constructor() {
23
+ this.counter$ = new BehaviorSubject(0);
24
+ this.ids = [];
25
+ }
26
+ register() {
27
+ const id = uuid();
28
+ this.ids.push(id);
29
+ this.counter$.next(this.ids.length);
30
+ return id;
31
+ }
32
+ unregister(id) {
33
+ const index = this.ids.indexOf(id);
34
+ if (index === -1) {
35
+ return;
36
+ }
37
+ this.ids.splice(index, 1);
38
+ this.counter$.next(this.ids.length);
39
+ }
40
+ }
41
+ ActivityService.ɵfac = function ActivityService_Factory(t) { return new (t || ActivityService)(); };
42
+ ActivityService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityService, factory: ActivityService.ɵfac, providedIn: 'root' });
43
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityService, [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root'
47
+ }]
48
48
  }], function () { return []; }, null); })();
49
49
 
50
- class ActivityInterceptor {
51
- constructor(activityService) {
52
- this.activityService = activityService;
53
- }
54
- intercept(req, next) {
55
- const activity = req.headers.get('activityInterceptor');
56
- if (activity) {
57
- const actReq = req.clone({
58
- headers: req.headers.delete('activityInterceptor')
59
- });
60
- if (activity === 'false') {
61
- return next.handle(actReq);
62
- }
63
- }
64
- const id = this.activityService.register();
65
- return next.handle(req).pipe(finalize(() => {
66
- this.activityService.unregister(id);
67
- }));
68
- }
69
- }
70
- ActivityInterceptor.ɵfac = function ActivityInterceptor_Factory(t) { return new (t || ActivityInterceptor)(i0.ɵɵinject(ActivityService)); };
71
- ActivityInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityInterceptor, factory: ActivityInterceptor.ɵfac });
72
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityInterceptor, [{
73
- type: Injectable
50
+ class ActivityInterceptor {
51
+ constructor(activityService) {
52
+ this.activityService = activityService;
53
+ }
54
+ intercept(req, next) {
55
+ const activity = req.headers.get('activityInterceptor');
56
+ if (activity) {
57
+ const actReq = req.clone({
58
+ headers: req.headers.delete('activityInterceptor')
59
+ });
60
+ if (activity === 'false') {
61
+ return next.handle(actReq);
62
+ }
63
+ }
64
+ const id = this.activityService.register();
65
+ return next.handle(req).pipe(finalize(() => {
66
+ this.activityService.unregister(id);
67
+ }));
68
+ }
69
+ }
70
+ ActivityInterceptor.ɵfac = function ActivityInterceptor_Factory(t) { return new (t || ActivityInterceptor)(i0.ɵɵinject(ActivityService)); };
71
+ ActivityInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityInterceptor, factory: ActivityInterceptor.ɵfac });
72
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityInterceptor, [{
73
+ type: Injectable
74
74
  }], function () { return [{ type: ActivityService }]; }, null); })();
75
75
 
76
- class IgoActivityModule {
77
- static forRoot() {
78
- return {
79
- ngModule: IgoActivityModule,
80
- providers: [
81
- {
82
- provide: HTTP_INTERCEPTORS,
83
- useClass: ActivityInterceptor,
84
- multi: true
85
- }
86
- ]
87
- };
88
- }
89
- }
90
- IgoActivityModule.ɵfac = function IgoActivityModule_Factory(t) { return new (t || IgoActivityModule)(); };
91
- IgoActivityModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoActivityModule });
92
- IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
93
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActivityModule, [{
94
- type: NgModule,
95
- args: [{
96
- imports: [],
97
- declarations: [],
98
- exports: []
99
- }]
76
+ class IgoActivityModule {
77
+ static forRoot() {
78
+ return {
79
+ ngModule: IgoActivityModule,
80
+ providers: [
81
+ {
82
+ provide: HTTP_INTERCEPTORS,
83
+ useClass: ActivityInterceptor,
84
+ multi: true
85
+ }
86
+ ]
87
+ };
88
+ }
89
+ }
90
+ IgoActivityModule.ɵfac = function IgoActivityModule_Factory(t) { return new (t || IgoActivityModule)(); };
91
+ IgoActivityModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoActivityModule });
92
+ IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
93
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActivityModule, [{
94
+ type: NgModule,
95
+ args: [{
96
+ imports: [],
97
+ declarations: [],
98
+ exports: []
99
+ }]
100
100
  }], null, null); })();
101
101
 
102
- const version = {
103
- lib: '1.14.3',
104
- releaseDate: 1712763032014
102
+ const version = {
103
+ lib: '1.14.4',
104
+ releaseDate: 1713185964700
105
105
  };
106
106
 
107
- class ConfigService {
108
- constructor(injector) {
109
- this.injector = injector;
110
- this.config = {};
111
- }
112
- /**
113
- * Use to get the data found in config file
114
- */
115
- getConfig(key) {
116
- return ObjectUtils.resolve(this.config, key);
117
- }
118
- /**
119
- * This method loads "[path]" to get all config's variables
120
- */
121
- load(options) {
122
- const baseConfig = options.default || {};
123
- if (!options.path) {
124
- this.config = baseConfig;
125
- return true;
126
- }
127
- const http = this.injector.get(HttpClient);
128
- return new Promise((resolve, _reject) => {
129
- http
130
- .get(options.path)
131
- .pipe(catchError((error) => {
132
- console.log(`Configuration file ${options.path} could not be read`);
133
- resolve(true);
134
- return throwError(error.error || 'Server error');
135
- }))
136
- .subscribe((configResponse) => {
137
- this.config = ObjectUtils.mergeDeep(ObjectUtils.mergeDeep({ version }, baseConfig), configResponse);
138
- resolve(true);
139
- });
140
- });
141
- }
142
- }
143
- ConfigService.ɵfac = function ConfigService_Factory(t) { return new (t || ConfigService)(i0.ɵɵinject(i0.Injector)); };
144
- ConfigService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ConfigService, factory: ConfigService.ɵfac, providedIn: 'root' });
145
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigService, [{
146
- type: Injectable,
147
- args: [{
148
- providedIn: 'root'
149
- }]
107
+ class ConfigService {
108
+ constructor(injector) {
109
+ this.injector = injector;
110
+ this.config = {};
111
+ }
112
+ /**
113
+ * Use to get the data found in config file
114
+ */
115
+ getConfig(key) {
116
+ return ObjectUtils.resolve(this.config, key);
117
+ }
118
+ /**
119
+ * This method loads "[path]" to get all config's variables
120
+ */
121
+ load(options) {
122
+ const baseConfig = options.default || {};
123
+ if (!options.path) {
124
+ this.config = baseConfig;
125
+ return true;
126
+ }
127
+ const http = this.injector.get(HttpClient);
128
+ return new Promise((resolve, _reject) => {
129
+ http
130
+ .get(options.path)
131
+ .pipe(catchError((error) => {
132
+ console.log(`Configuration file ${options.path} could not be read`);
133
+ resolve(true);
134
+ return throwError(error.error || 'Server error');
135
+ }))
136
+ .subscribe((configResponse) => {
137
+ this.config = ObjectUtils.mergeDeep(ObjectUtils.mergeDeep({ version }, baseConfig), configResponse);
138
+ resolve(true);
139
+ });
140
+ });
141
+ }
142
+ }
143
+ ConfigService.ɵfac = function ConfigService_Factory(t) { return new (t || ConfigService)(i0.ɵɵinject(i0.Injector)); };
144
+ ConfigService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ConfigService, factory: ConfigService.ɵfac, providedIn: 'root' });
145
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigService, [{
146
+ type: Injectable,
147
+ args: [{
148
+ providedIn: 'root'
149
+ }]
150
150
  }], function () { return [{ type: i0.Injector }]; }, null); })();
151
151
 
152
- let CONFIG_OPTIONS = new InjectionToken('configOptions');
153
- function provideConfigOptions(options) {
154
- return {
155
- provide: CONFIG_OPTIONS,
156
- useValue: options
157
- };
158
- }
159
- function configFactory(configService, options) {
160
- return () => configService.load(options);
161
- }
162
- function provideConfigLoader() {
163
- return {
164
- provide: APP_INITIALIZER,
165
- useFactory: configFactory,
166
- multi: true,
167
- deps: [ConfigService, CONFIG_OPTIONS]
168
- };
152
+ let CONFIG_OPTIONS = new InjectionToken('configOptions');
153
+ function provideConfigOptions(options) {
154
+ return {
155
+ provide: CONFIG_OPTIONS,
156
+ useValue: options
157
+ };
158
+ }
159
+ function configFactory(configService, options) {
160
+ return () => configService.load(options);
161
+ }
162
+ function provideConfigLoader() {
163
+ return {
164
+ provide: APP_INITIALIZER,
165
+ useFactory: configFactory,
166
+ multi: true,
167
+ deps: [ConfigService, CONFIG_OPTIONS]
168
+ };
169
169
  }
170
170
 
171
- class IgoConfigModule {
172
- static forRoot() {
173
- return {
174
- ngModule: IgoConfigModule,
175
- providers: [provideConfigOptions({}), provideConfigLoader()]
176
- };
177
- }
178
- }
179
- IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
180
- IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
181
- IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
182
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
183
- type: NgModule,
184
- args: [{
185
- imports: [],
186
- declarations: [],
187
- exports: []
188
- }]
171
+ class IgoConfigModule {
172
+ static forRoot() {
173
+ return {
174
+ ngModule: IgoConfigModule,
175
+ providers: [provideConfigOptions({}), provideConfigLoader()]
176
+ };
177
+ }
178
+ }
179
+ IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
180
+ IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
181
+ IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
182
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
183
+ type: NgModule,
184
+ args: [{
185
+ imports: [],
186
+ declarations: [],
187
+ exports: []
188
+ }]
189
189
  }], null, null); })();
190
190
 
191
- class LanguageLoader {
192
- constructor(http, prefix, suffix = '.json', config) {
193
- this.http = http;
194
- this.prefix = prefix;
195
- this.suffix = suffix;
196
- this.config = config;
197
- }
198
- getTranslation(lang) {
199
- const igoLocale$ = this.http.get(`locale/libs_locale/${lang}.json`);
200
- if (this.config && !this.prefix) {
201
- const prefix = this.config.getConfig('language.prefix');
202
- this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];
203
- }
204
- if (!this.prefix || this.prefix.length === 0) {
205
- return igoLocale$;
206
- }
207
- const appLocale$ = this.prefix.map((prefix) => this.http.get(`${prefix}${lang}${this.suffix}`));
208
- const locale$ = combineLatest([igoLocale$, ...appLocale$]);
209
- return locale$.pipe(map((translations) => {
210
- return translations.reduce((acc, current) => ObjectUtils.mergeDeep(acc, current), {});
211
- }));
212
- }
191
+ class LanguageLoader {
192
+ constructor(http, prefix, suffix = '.json', config) {
193
+ this.http = http;
194
+ this.prefix = prefix;
195
+ this.suffix = suffix;
196
+ this.config = config;
197
+ }
198
+ getTranslation(lang) {
199
+ const igoLocale$ = this.http.get(`locale/libs_locale/${lang}.json`);
200
+ if (this.config && !this.prefix) {
201
+ const prefix = this.config.getConfig('language.prefix');
202
+ this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];
203
+ }
204
+ if (!this.prefix || this.prefix.length === 0) {
205
+ return igoLocale$;
206
+ }
207
+ const appLocale$ = this.prefix.map((prefix) => this.http.get(`${prefix}${lang}${this.suffix}`));
208
+ const locale$ = combineLatest([igoLocale$, ...appLocale$]);
209
+ return locale$.pipe(map((translations) => {
210
+ return translations.reduce((acc, current) => ObjectUtils.mergeDeep(acc, current), {});
211
+ }));
212
+ }
213
213
  }
214
214
 
215
- function defaultLanguageLoader(http, config) {
216
- return new LanguageLoader(http, undefined, undefined, config);
217
- }
218
- function provideLanguageLoader(loader) {
219
- return {
220
- provide: TranslateLoader,
221
- useFactory: loader || defaultLanguageLoader,
222
- deps: [HttpClient]
223
- };
224
- }
225
- function provideDefaultLanguageLoader(loader) {
226
- return {
227
- provide: TranslateLoader,
228
- useFactory: loader || defaultLanguageLoader,
229
- deps: [HttpClient, ConfigService]
230
- };
215
+ function defaultLanguageLoader(http, config) {
216
+ return new LanguageLoader(http, undefined, undefined, config);
217
+ }
218
+ function provideLanguageLoader(loader) {
219
+ return {
220
+ provide: TranslateLoader,
221
+ useFactory: loader || defaultLanguageLoader,
222
+ deps: [HttpClient]
223
+ };
224
+ }
225
+ function provideDefaultLanguageLoader(loader) {
226
+ return {
227
+ provide: TranslateLoader,
228
+ useFactory: loader || defaultLanguageLoader,
229
+ deps: [HttpClient, ConfigService]
230
+ };
231
231
  }
232
232
 
233
- class IgoMissingTranslationHandler {
234
- handle(params) {
235
- if (!params.translateService.langs.length) {
233
+ class IgoMissingTranslationHandler {
234
+ handle(params) {
235
+ if (!params.translateService.langs.length) {
236
236
  const error = 'Translations are not yet loaded. \
237
- Check that the LanguageService is injected.';
238
- throw new Error(error);
239
- }
240
- if (params.key.substr(0, 4) === 'igo.') {
241
- throw new Error(`The Key "${params.key}" is missing in locale file.`);
242
- }
243
- else {
244
- return params.key;
245
- }
246
- }
237
+ Check that the LanguageService is injected.';
238
+ throw new Error(error);
239
+ }
240
+ if (params.key.substr(0, 4) === 'igo.') {
241
+ throw new Error(`The Key "${params.key}" is missing in locale file.`);
242
+ }
243
+ else {
244
+ return params.key;
245
+ }
246
+ }
247
247
  }
248
248
 
249
- class IgoLanguageModule {
250
- static forRoot() {
251
- return {
252
- ngModule: IgoLanguageModule,
253
- providers: [provideDefaultLanguageLoader()]
254
- };
255
- }
256
- }
257
- IgoLanguageModule.ɵfac = function IgoLanguageModule_Factory(t) { return new (t || IgoLanguageModule)(); };
258
- IgoLanguageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLanguageModule });
259
- IgoLanguageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TranslateModule.forRoot({
260
- missingTranslationHandler: {
261
- provide: MissingTranslationHandler,
262
- useClass: IgoMissingTranslationHandler
263
- }
264
- }), TranslateModule] });
265
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLanguageModule, [{
266
- type: NgModule,
267
- args: [{
268
- imports: [
269
- TranslateModule.forRoot({
270
- missingTranslationHandler: {
271
- provide: MissingTranslationHandler,
272
- useClass: IgoMissingTranslationHandler
273
- }
274
- })
275
- ],
276
- declarations: [],
277
- exports: [TranslateModule]
278
- }]
279
- }], null, null); })();
249
+ class IgoLanguageModule {
250
+ static forRoot() {
251
+ return {
252
+ ngModule: IgoLanguageModule,
253
+ providers: [provideDefaultLanguageLoader()]
254
+ };
255
+ }
256
+ }
257
+ IgoLanguageModule.ɵfac = function IgoLanguageModule_Factory(t) { return new (t || IgoLanguageModule)(); };
258
+ IgoLanguageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLanguageModule });
259
+ IgoLanguageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TranslateModule.forRoot({
260
+ missingTranslationHandler: {
261
+ provide: MissingTranslationHandler,
262
+ useClass: IgoMissingTranslationHandler
263
+ }
264
+ }), TranslateModule] });
265
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLanguageModule, [{
266
+ type: NgModule,
267
+ args: [{
268
+ imports: [
269
+ TranslateModule.forRoot({
270
+ missingTranslationHandler: {
271
+ provide: MissingTranslationHandler,
272
+ useClass: IgoMissingTranslationHandler
273
+ }
274
+ })
275
+ ],
276
+ declarations: [],
277
+ exports: [TranslateModule]
278
+ }]
279
+ }], null, null); })();
280
280
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoLanguageModule, { imports: [i1.TranslateModule], exports: [TranslateModule] }); })();
281
281
 
282
- class IgoMessageModule {
283
- static forRoot() {
284
- return {
285
- ngModule: IgoMessageModule,
286
- providers: []
287
- };
288
- }
289
- }
290
- IgoMessageModule.ɵfac = function IgoMessageModule_Factory(t) { return new (t || IgoMessageModule)(); };
291
- IgoMessageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoMessageModule });
292
- IgoMessageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
293
- ToastrModule.forRoot({
294
- positionClass: 'toast-bottom-right',
295
- timeOut: 10000,
296
- extendedTimeOut: 10000,
297
- messageClass: 'toast-message mat-typography',
298
- closeButton: true,
299
- progressBar: true,
300
- enableHtml: true,
301
- tapToDismiss: true,
302
- maxOpened: 4,
303
- preventDuplicates: true,
304
- resetTimeoutOnDuplicate: true,
305
- countDuplicates: false,
306
- includeTitleDuplicates: true
307
- })] });
308
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoMessageModule, [{
309
- type: NgModule,
310
- args: [{
311
- imports: [CommonModule,
312
- ToastrModule.forRoot({
313
- positionClass: 'toast-bottom-right',
314
- timeOut: 10000,
315
- extendedTimeOut: 10000,
316
- messageClass: 'toast-message mat-typography',
317
- closeButton: true,
318
- progressBar: true,
319
- enableHtml: true,
320
- tapToDismiss: true,
321
- maxOpened: 4,
322
- preventDuplicates: true,
323
- resetTimeoutOnDuplicate: true,
324
- countDuplicates: false,
325
- includeTitleDuplicates: true
326
- })],
327
- declarations: [],
328
- exports: []
329
- }]
330
- }], null, null); })();
282
+ class IgoMessageModule {
283
+ static forRoot() {
284
+ return {
285
+ ngModule: IgoMessageModule,
286
+ providers: []
287
+ };
288
+ }
289
+ }
290
+ IgoMessageModule.ɵfac = function IgoMessageModule_Factory(t) { return new (t || IgoMessageModule)(); };
291
+ IgoMessageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoMessageModule });
292
+ IgoMessageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
293
+ ToastrModule.forRoot({
294
+ positionClass: 'toast-bottom-right',
295
+ timeOut: 10000,
296
+ extendedTimeOut: 10000,
297
+ messageClass: 'toast-message mat-typography',
298
+ closeButton: true,
299
+ progressBar: true,
300
+ enableHtml: true,
301
+ tapToDismiss: true,
302
+ maxOpened: 4,
303
+ preventDuplicates: true,
304
+ resetTimeoutOnDuplicate: true,
305
+ countDuplicates: false,
306
+ includeTitleDuplicates: true
307
+ })] });
308
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoMessageModule, [{
309
+ type: NgModule,
310
+ args: [{
311
+ imports: [CommonModule,
312
+ ToastrModule.forRoot({
313
+ positionClass: 'toast-bottom-right',
314
+ timeOut: 10000,
315
+ extendedTimeOut: 10000,
316
+ messageClass: 'toast-message mat-typography',
317
+ closeButton: true,
318
+ progressBar: true,
319
+ enableHtml: true,
320
+ tapToDismiss: true,
321
+ maxOpened: 4,
322
+ preventDuplicates: true,
323
+ resetTimeoutOnDuplicate: true,
324
+ countDuplicates: false,
325
+ includeTitleDuplicates: true
326
+ })],
327
+ declarations: [],
328
+ exports: []
329
+ }]
330
+ }], null, null); })();
331
331
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoMessageModule, { imports: [CommonModule, i1$1.ToastrModule] }); })();
332
332
 
333
- var MessageType;
334
- (function (MessageType) {
335
- MessageType["ERROR"] = "error";
336
- MessageType["ALERT"] = "warning";
337
- MessageType["WARNING"] = "warning";
338
- MessageType["INFO"] = "info";
339
- MessageType["SUCCESS"] = "success";
340
- MessageType["SHOW"] = "show";
333
+ var MessageType;
334
+ (function (MessageType) {
335
+ MessageType["ERROR"] = "error";
336
+ MessageType["ALERT"] = "warning";
337
+ MessageType["WARNING"] = "warning";
338
+ MessageType["INFO"] = "info";
339
+ MessageType["SUCCESS"] = "success";
340
+ MessageType["SHOW"] = "show";
341
341
  })(MessageType || (MessageType = {}));
342
342
 
343
- class LanguageService {
344
- constructor(translate) {
345
- this.translate = translate;
346
- this.language = this.translate.getBrowserLang();
347
- this.language$ = new BehaviorSubject(undefined);
348
- const lang = this.getLanguage();
349
- this.translate.setDefaultLang(lang);
350
- this.language$.next(lang);
351
- }
352
- getLanguage() {
353
- return this.language.match(/en|fr/) ? this.language : 'en';
354
- }
355
- setLanguage(language) {
356
- this.language = language.match(/en|fr/) ? language : 'en';
357
- combineLatest([this.translate.use(this.language), this.translate.reloadLang(this.language)]).subscribe(() => {
358
- this.language$.next(this.language);
359
- });
360
- }
361
- }
362
- LanguageService.ɵfac = function LanguageService_Factory(t) { return new (t || LanguageService)(i0.ɵɵinject(i1.TranslateService)); };
363
- LanguageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LanguageService, factory: LanguageService.ɵfac, providedIn: 'root' });
364
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageService, [{
365
- type: Injectable,
366
- args: [{
367
- providedIn: 'root'
368
- }]
343
+ class LanguageService {
344
+ constructor(translate) {
345
+ this.translate = translate;
346
+ this.language = this.translate.getBrowserLang();
347
+ this.language$ = new BehaviorSubject(undefined);
348
+ const lang = this.getLanguage();
349
+ this.translate.setDefaultLang(lang);
350
+ this.language$.next(lang);
351
+ }
352
+ getLanguage() {
353
+ return this.language.match(/en|fr/) ? this.language : 'en';
354
+ }
355
+ setLanguage(language) {
356
+ this.language = language.match(/en|fr/) ? language : 'en';
357
+ combineLatest([this.translate.use(this.language), this.translate.reloadLang(this.language)]).subscribe(() => {
358
+ this.language$.next(this.language);
359
+ });
360
+ }
361
+ }
362
+ LanguageService.ɵfac = function LanguageService_Factory(t) { return new (t || LanguageService)(i0.ɵɵinject(i1.TranslateService)); };
363
+ LanguageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LanguageService, factory: LanguageService.ɵfac, providedIn: 'root' });
364
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageService, [{
365
+ type: Injectable,
366
+ args: [{
367
+ providedIn: 'root'
368
+ }]
369
369
  }], function () { return [{ type: i1.TranslateService }]; }, null); })();
370
370
 
371
- class MessageService {
372
- constructor(injector, configService, languageService) {
373
- this.injector = injector;
374
- this.configService = configService;
375
- this.languageService = languageService;
376
- this.messages$ = new BehaviorSubject([]);
377
- this.activeMessageTranslations = [];
378
- this.options = this.configService.getConfig('message') || {};
379
- this.languageService.language$.pipe(debounceTime(500)).subscribe(r => {
380
- if (this.toastr.toasts.length === 0) {
381
- this.activeMessageTranslations = [];
382
- }
383
- this.toastr.toasts.map(toast => {
384
- const activeMessageTranslation = this.activeMessageTranslations.find(amt => amt.id === toast.toastId);
385
- if (activeMessageTranslation) {
386
- const translatedTextInterpolateParams = { ...activeMessageTranslation.textInterpolateParams };
387
- const translatedTitleInterpolateParams = { ...activeMessageTranslation.titleInterpolateParams };
388
- if (activeMessageTranslation.textInterpolateParams) {
389
- Object.keys(activeMessageTranslation.textInterpolateParams).map(k => {
390
- translatedTextInterpolateParams[k] =
391
- this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
392
- });
393
- }
394
- if (activeMessageTranslation.titleInterpolateParams) {
395
- Object.keys(activeMessageTranslation.titleInterpolateParams).map(k => {
396
- translatedTitleInterpolateParams[k] =
397
- this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
398
- });
399
- }
400
- forkJoin([
401
- this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
402
- this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
403
- ]).pipe(first()).subscribe((res) => {
404
- toast.toastRef.componentInstance.message = res[0];
405
- toast.toastRef.componentInstance.title = res[1];
406
- });
407
- }
408
- });
409
- });
410
- }
411
- get toastr() {
412
- return this.injector.get(ToastrService);
413
- }
414
- showError(httpError) {
415
- httpError.error.caught = true;
416
- return this.error(httpError.error.message, httpError.error.title);
417
- }
418
- message(message) {
419
- const messageType = message.type;
420
- this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
421
- this.messages$.next(this.messages$.value.concat([message]));
422
- message.options = message.options || {};
423
- const currentDate = new Date();
424
- message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');
425
- message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');
426
- if (typeof message.options.from === 'string') {
427
- message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
428
- }
429
- if (typeof message.options.to === 'string') {
430
- message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
431
- }
432
- if (currentDate > message.options.from && currentDate < message.options.to) {
433
- if (message.showIcon === false) {
434
- this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
435
- }
436
- message = this.handleTemplate(message);
437
- if (message.text) {
438
- let messageShown;
439
- switch (message.type) {
440
- case MessageType.SUCCESS:
441
- messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
442
- break;
443
- case MessageType.ERROR:
444
- messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
445
- break;
446
- case MessageType.INFO:
447
- messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
448
- break;
449
- case MessageType.SHOW:
450
- messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
451
- break;
452
- case MessageType.ALERT:
453
- case MessageType.WARNING:
454
- messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
455
- break;
456
- default:
457
- messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
458
- break;
459
- }
460
- message.options.id = messageShown.toastId;
461
- }
462
- }
463
- }
464
- success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
465
- return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
466
- }
467
- error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
468
- return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
469
- }
470
- info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
471
- return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
472
- }
473
- alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
474
- return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
475
- }
476
- show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
477
- return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
478
- }
479
- handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
480
- const translatedTextInterpolateParams = { ...textInterpolateParams };
481
- const translatedTitlenterpolateParams = { ...titleInterpolateParams };
482
- if (textInterpolateParams) {
483
- Object.keys(textInterpolateParams).map(k => {
484
- translatedTextInterpolateParams[k] =
485
- this.languageService.translate.instant(textInterpolateParams[k]);
486
- });
487
- }
488
- if (titleInterpolateParams) {
489
- Object.keys(titleInterpolateParams).map(k => {
490
- translatedTitlenterpolateParams[k] =
491
- this.languageService.translate.instant(titleInterpolateParams[k]);
492
- });
493
- }
494
- const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
495
- const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
496
- let activeToast;
497
- switch (type) {
498
- case 'success':
499
- activeToast = this.toastr.success(message, translatedTitle, options);
500
- break;
501
- case 'error':
502
- activeToast = this.toastr.error(message, translatedTitle, options);
503
- break;
504
- case 'show':
505
- case 'info':
506
- activeToast = this.toastr.info(message, translatedTitle, options);
507
- break;
508
- case 'alert':
509
- activeToast = this.toastr.warning(message, translatedTitle, options);
510
- break;
511
- }
512
- this.activeMessageTranslations.push({
513
- id: activeToast.toastId,
514
- titleKey: title,
515
- textKey: text,
516
- textInterpolateParams,
517
- titleInterpolateParams
518
- });
519
- return activeToast;
520
- }
521
- remove(id) {
522
- this.toastr.remove(id);
523
- }
524
- removeAllAreNotError() {
525
- for (const mess of this.messages$.value) {
526
- if (mess.type !== MessageType.ERROR) {
527
- this.remove(mess.options.id);
528
- }
529
- }
530
- }
531
- handleTemplate(message) {
532
- if (!this.options.template || message.html) {
533
- return message;
534
- }
535
- let html = this.options.template;
536
- html = html.replace('${text}', message.text);
537
- html = html.replace('${title}', message.title);
538
- message.html = undefined;
539
- message.text = html;
540
- message.title = undefined;
541
- return message;
542
- }
543
- }
544
- MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(ConfigService), i0.ɵɵinject(LanguageService)); };
545
- MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
546
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
547
- type: Injectable,
548
- args: [{
549
- providedIn: 'root'
550
- }]
551
- }], function () { return [{ type: i0.Injector, decorators: [{
552
- type: Inject,
553
- args: [Injector]
371
+ class MessageService {
372
+ constructor(injector, configService, languageService) {
373
+ this.injector = injector;
374
+ this.configService = configService;
375
+ this.languageService = languageService;
376
+ this.messages$ = new BehaviorSubject([]);
377
+ this.activeMessageTranslations = [];
378
+ this.options = this.configService.getConfig('message') || {};
379
+ this.languageService.language$.pipe(debounceTime(500)).subscribe(r => {
380
+ if (this.toastr.toasts.length === 0) {
381
+ this.activeMessageTranslations = [];
382
+ }
383
+ this.toastr.toasts.map(toast => {
384
+ const activeMessageTranslation = this.activeMessageTranslations.find(amt => amt.id === toast.toastId);
385
+ if (activeMessageTranslation) {
386
+ const translatedTextInterpolateParams = { ...activeMessageTranslation.textInterpolateParams };
387
+ const translatedTitleInterpolateParams = { ...activeMessageTranslation.titleInterpolateParams };
388
+ if (activeMessageTranslation.textInterpolateParams) {
389
+ Object.keys(activeMessageTranslation.textInterpolateParams).map(k => {
390
+ translatedTextInterpolateParams[k] =
391
+ this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
392
+ });
393
+ }
394
+ if (activeMessageTranslation.titleInterpolateParams) {
395
+ Object.keys(activeMessageTranslation.titleInterpolateParams).map(k => {
396
+ translatedTitleInterpolateParams[k] =
397
+ this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
398
+ });
399
+ }
400
+ forkJoin([
401
+ this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
402
+ this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
403
+ ]).pipe(first()).subscribe((res) => {
404
+ toast.toastRef.componentInstance.message = res[0];
405
+ toast.toastRef.componentInstance.title = res[1];
406
+ });
407
+ }
408
+ });
409
+ });
410
+ }
411
+ get toastr() {
412
+ return this.injector.get(ToastrService);
413
+ }
414
+ showError(httpError) {
415
+ httpError.error.caught = true;
416
+ return this.error(httpError.error.message, httpError.error.title);
417
+ }
418
+ message(message) {
419
+ const messageType = message.type;
420
+ this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
421
+ this.messages$.next(this.messages$.value.concat([message]));
422
+ message.options = message.options || {};
423
+ const currentDate = new Date();
424
+ message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');
425
+ message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');
426
+ if (typeof message.options.from === 'string') {
427
+ message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
428
+ }
429
+ if (typeof message.options.to === 'string') {
430
+ message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
431
+ }
432
+ if (currentDate > message.options.from && currentDate < message.options.to) {
433
+ if (message.showIcon === false) {
434
+ this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
435
+ }
436
+ message = this.handleTemplate(message);
437
+ if (message.text) {
438
+ let messageShown;
439
+ switch (message.type) {
440
+ case MessageType.SUCCESS:
441
+ messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
442
+ break;
443
+ case MessageType.ERROR:
444
+ messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
445
+ break;
446
+ case MessageType.INFO:
447
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
448
+ break;
449
+ case MessageType.SHOW:
450
+ messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
451
+ break;
452
+ case MessageType.ALERT:
453
+ case MessageType.WARNING:
454
+ messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
455
+ break;
456
+ default:
457
+ messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
458
+ break;
459
+ }
460
+ message.options.id = messageShown.toastId;
461
+ }
462
+ }
463
+ }
464
+ success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
465
+ return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
466
+ }
467
+ error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
468
+ return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
469
+ }
470
+ info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
471
+ return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
472
+ }
473
+ alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
474
+ return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
475
+ }
476
+ show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
477
+ return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
478
+ }
479
+ handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
480
+ const translatedTextInterpolateParams = { ...textInterpolateParams };
481
+ const translatedTitlenterpolateParams = { ...titleInterpolateParams };
482
+ if (textInterpolateParams) {
483
+ Object.keys(textInterpolateParams).map(k => {
484
+ translatedTextInterpolateParams[k] =
485
+ this.languageService.translate.instant(textInterpolateParams[k]);
486
+ });
487
+ }
488
+ if (titleInterpolateParams) {
489
+ Object.keys(titleInterpolateParams).map(k => {
490
+ translatedTitlenterpolateParams[k] =
491
+ this.languageService.translate.instant(titleInterpolateParams[k]);
492
+ });
493
+ }
494
+ const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
495
+ const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
496
+ let activeToast;
497
+ switch (type) {
498
+ case 'success':
499
+ activeToast = this.toastr.success(message, translatedTitle, options);
500
+ break;
501
+ case 'error':
502
+ activeToast = this.toastr.error(message, translatedTitle, options);
503
+ break;
504
+ case 'show':
505
+ case 'info':
506
+ activeToast = this.toastr.info(message, translatedTitle, options);
507
+ break;
508
+ case 'alert':
509
+ activeToast = this.toastr.warning(message, translatedTitle, options);
510
+ break;
511
+ }
512
+ this.activeMessageTranslations.push({
513
+ id: activeToast.toastId,
514
+ titleKey: title,
515
+ textKey: text,
516
+ textInterpolateParams,
517
+ titleInterpolateParams
518
+ });
519
+ return activeToast;
520
+ }
521
+ remove(id) {
522
+ this.toastr.remove(id);
523
+ }
524
+ removeAllAreNotError() {
525
+ for (const mess of this.messages$.value) {
526
+ if (mess.type !== MessageType.ERROR) {
527
+ this.remove(mess.options.id);
528
+ }
529
+ }
530
+ }
531
+ handleTemplate(message) {
532
+ if (!this.options.template || message.html) {
533
+ return message;
534
+ }
535
+ let html = this.options.template;
536
+ html = html.replace('${text}', message.text);
537
+ html = html.replace('${title}', message.title);
538
+ message.html = undefined;
539
+ message.text = html;
540
+ message.title = undefined;
541
+ return message;
542
+ }
543
+ }
544
+ MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(ConfigService), i0.ɵɵinject(LanguageService)); };
545
+ MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
546
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
547
+ type: Injectable,
548
+ args: [{
549
+ providedIn: 'root'
550
+ }]
551
+ }], function () { return [{ type: i0.Injector, decorators: [{
552
+ type: Inject,
553
+ args: [Injector]
554
554
  }] }, { type: ConfigService }, { type: LanguageService }]; }, null); })();
555
555
 
556
- class ErrorInterceptor {
557
- constructor(injector) {
558
- this.injector = injector;
559
- }
560
- intercept(originalReq, next) {
561
- const interceptError = originalReq.headers.get('interceptError');
562
- const req = originalReq.clone({
563
- headers: originalReq.headers.delete('interceptError')
564
- });
565
- if (interceptError === 'false') {
566
- return next.handle(req);
567
- }
568
- const errorContainer = { httpError: undefined };
569
- return next.handle(req).pipe(catchError(error => this.handleError(error, errorContainer)), finalize(() => {
570
- this.handleCaughtError(errorContainer);
571
- this.handleUncaughtError(errorContainer);
572
- }));
573
- }
574
- handleError(httpError, errorContainer) {
575
- if (httpError instanceof HttpErrorResponse) {
576
- const errorObj = httpError.error === 'object' ? httpError.error : {};
577
- errorObj.message = httpError.error.message || httpError.statusText;
578
- errorObj.caught = false;
579
- httpError = new HttpErrorResponse({
580
- error: errorObj,
581
- headers: httpError.headers,
582
- status: httpError.status,
583
- statusText: httpError.statusText,
584
- url: httpError.url
585
- });
586
- }
587
- errorContainer.httpError = httpError;
588
- return throwError(httpError);
589
- }
590
- handleCaughtError(errorContainer) {
591
- const httpError = errorContainer.httpError;
592
- if (httpError && httpError.error.toDisplay) {
593
- httpError.error.caught = true;
594
- const messageService = this.injector.get(MessageService);
595
- messageService.error(httpError.error.message, httpError.error.title);
596
- }
597
- }
598
- handleUncaughtError(errorContainer) {
599
- const httpError = errorContainer.httpError;
600
- if (httpError && !httpError.error.caught) {
601
- const messageService = this.injector.get(MessageService);
602
- httpError.error.caught = true;
603
- messageService.error('igo.core.errors.uncaught.message', 'igo.core.errors.uncaught.title');
604
- }
605
- }
606
- }
607
- ErrorInterceptor.ɵfac = function ErrorInterceptor_Factory(t) { return new (t || ErrorInterceptor)(i0.ɵɵinject(i0.Injector)); };
608
- ErrorInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorInterceptor, factory: ErrorInterceptor.ɵfac, providedIn: 'root' });
609
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorInterceptor, [{
610
- type: Injectable,
611
- args: [{
612
- providedIn: 'root'
613
- }]
556
+ class ErrorInterceptor {
557
+ constructor(injector) {
558
+ this.injector = injector;
559
+ }
560
+ intercept(originalReq, next) {
561
+ const interceptError = originalReq.headers.get('interceptError');
562
+ const req = originalReq.clone({
563
+ headers: originalReq.headers.delete('interceptError')
564
+ });
565
+ if (interceptError === 'false') {
566
+ return next.handle(req);
567
+ }
568
+ const errorContainer = { httpError: undefined };
569
+ return next.handle(req).pipe(catchError(error => this.handleError(error, errorContainer)), finalize(() => {
570
+ this.handleCaughtError(errorContainer);
571
+ this.handleUncaughtError(errorContainer);
572
+ }));
573
+ }
574
+ handleError(httpError, errorContainer) {
575
+ if (httpError instanceof HttpErrorResponse) {
576
+ const errorObj = httpError.error === 'object' ? httpError.error : {};
577
+ errorObj.message = httpError.error.message || httpError.statusText;
578
+ errorObj.caught = false;
579
+ httpError = new HttpErrorResponse({
580
+ error: errorObj,
581
+ headers: httpError.headers,
582
+ status: httpError.status,
583
+ statusText: httpError.statusText,
584
+ url: httpError.url
585
+ });
586
+ }
587
+ errorContainer.httpError = httpError;
588
+ return throwError(httpError);
589
+ }
590
+ handleCaughtError(errorContainer) {
591
+ const httpError = errorContainer.httpError;
592
+ if (httpError && httpError.error.toDisplay) {
593
+ httpError.error.caught = true;
594
+ const messageService = this.injector.get(MessageService);
595
+ messageService.error(httpError.error.message, httpError.error.title);
596
+ }
597
+ }
598
+ handleUncaughtError(errorContainer) {
599
+ const httpError = errorContainer.httpError;
600
+ if (httpError && !httpError.error.caught) {
601
+ const messageService = this.injector.get(MessageService);
602
+ httpError.error.caught = true;
603
+ messageService.error('igo.core.errors.uncaught.message', 'igo.core.errors.uncaught.title');
604
+ }
605
+ }
606
+ }
607
+ ErrorInterceptor.ɵfac = function ErrorInterceptor_Factory(t) { return new (t || ErrorInterceptor)(i0.ɵɵinject(i0.Injector)); };
608
+ ErrorInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorInterceptor, factory: ErrorInterceptor.ɵfac, providedIn: 'root' });
609
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorInterceptor, [{
610
+ type: Injectable,
611
+ args: [{
612
+ providedIn: 'root'
613
+ }]
614
614
  }], function () { return [{ type: i0.Injector }]; }, null); })();
615
615
 
616
- class IgoErrorModule {
617
- constructor(parentModule) {
618
- if (parentModule) {
619
- throw new Error('IgoErrorModule is already loaded. Import it in the AppModule only');
620
- }
621
- }
622
- static forRoot() {
623
- return {
624
- ngModule: IgoErrorModule,
625
- providers: [
626
- {
627
- provide: HTTP_INTERCEPTORS,
628
- useClass: ErrorInterceptor,
629
- multi: true
630
- }
631
- ]
632
- };
633
- }
634
- }
635
- IgoErrorModule.ɵfac = function IgoErrorModule_Factory(t) { return new (t || IgoErrorModule)(i0.ɵɵinject(IgoErrorModule, 12)); };
636
- IgoErrorModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoErrorModule });
637
- IgoErrorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
638
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoErrorModule, [{
639
- type: NgModule,
640
- args: [{
641
- imports: [],
642
- declarations: [],
643
- exports: []
644
- }]
645
- }], function () { return [{ type: IgoErrorModule, decorators: [{
646
- type: Optional
647
- }, {
648
- type: SkipSelf
616
+ class IgoErrorModule {
617
+ constructor(parentModule) {
618
+ if (parentModule) {
619
+ throw new Error('IgoErrorModule is already loaded. Import it in the AppModule only');
620
+ }
621
+ }
622
+ static forRoot() {
623
+ return {
624
+ ngModule: IgoErrorModule,
625
+ providers: [
626
+ {
627
+ provide: HTTP_INTERCEPTORS,
628
+ useClass: ErrorInterceptor,
629
+ multi: true
630
+ }
631
+ ]
632
+ };
633
+ }
634
+ }
635
+ IgoErrorModule.ɵfac = function IgoErrorModule_Factory(t) { return new (t || IgoErrorModule)(i0.ɵɵinject(IgoErrorModule, 12)); };
636
+ IgoErrorModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoErrorModule });
637
+ IgoErrorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
638
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoErrorModule, [{
639
+ type: NgModule,
640
+ args: [{
641
+ imports: [],
642
+ declarations: [],
643
+ exports: []
644
+ }]
645
+ }], function () { return [{ type: IgoErrorModule, decorators: [{
646
+ type: Optional
647
+ }, {
648
+ type: SkipSelf
649
649
  }] }]; }, null); })();
650
650
 
651
- const dbConfig = {
652
- name: 'igo2DB',
653
- version: 1,
654
- objectStoresMeta: [{
655
- store: 'geoData',
656
- storeConfig: { keyPath: 'url', autoIncrement: false },
657
- storeSchema: [
658
- { name: 'regionID', keypath: 'regionID', options: { unique: false } }
659
- ]
660
- }]
661
- };
662
- class IgoCoreModule {
663
- constructor(matIconRegistry, domSanitizer) {
664
- matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./assets/igo2/core/icons/mdi.svg'));
665
- }
666
- static forRoot() {
667
- return {
668
- ngModule: IgoCoreModule,
669
- providers: []
670
- };
671
- }
672
- }
673
- IgoCoreModule.ɵfac = function IgoCoreModule_Factory(t) { return new (t || IgoCoreModule)(i0.ɵɵinject(i1$2.MatIconRegistry), i0.ɵɵinject(i2.DomSanitizer)); };
674
- IgoCoreModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoCoreModule });
675
- IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
676
- HttpClientModule,
677
- IgoActivityModule.forRoot(),
678
- IgoConfigModule.forRoot(),
679
- IgoErrorModule.forRoot(),
680
- IgoLanguageModule.forRoot(),
681
- IgoMessageModule.forRoot(),
682
- NgxIndexedDBModule.forRoot(dbConfig), IgoActivityModule,
683
- IgoConfigModule,
684
- IgoErrorModule,
685
- IgoLanguageModule,
686
- IgoMessageModule] });
687
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoCoreModule, [{
688
- type: NgModule,
689
- args: [{
690
- imports: [
691
- CommonModule,
692
- HttpClientModule,
693
- IgoActivityModule.forRoot(),
694
- IgoConfigModule.forRoot(),
695
- IgoErrorModule.forRoot(),
696
- IgoLanguageModule.forRoot(),
697
- IgoMessageModule.forRoot(),
698
- NgxIndexedDBModule.forRoot(dbConfig)
699
- ],
700
- declarations: [],
701
- exports: [
702
- IgoActivityModule,
703
- IgoConfigModule,
704
- IgoErrorModule,
705
- IgoLanguageModule,
706
- IgoMessageModule
707
- ]
708
- }]
709
- }], function () { return [{ type: i1$2.MatIconRegistry }, { type: i2.DomSanitizer }]; }, null); })();
710
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoCoreModule, { imports: [CommonModule,
711
- HttpClientModule, IgoActivityModule, IgoConfigModule, IgoErrorModule, IgoLanguageModule, IgoMessageModule, i8.NgxIndexedDBModule], exports: [IgoActivityModule,
712
- IgoConfigModule,
713
- IgoErrorModule,
714
- IgoLanguageModule,
651
+ const dbConfig = {
652
+ name: 'igo2DB',
653
+ version: 1,
654
+ objectStoresMeta: [{
655
+ store: 'geoData',
656
+ storeConfig: { keyPath: 'url', autoIncrement: false },
657
+ storeSchema: [
658
+ { name: 'regionID', keypath: 'regionID', options: { unique: false } }
659
+ ]
660
+ }]
661
+ };
662
+ class IgoCoreModule {
663
+ constructor(matIconRegistry, domSanitizer) {
664
+ matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./assets/igo2/core/icons/mdi.svg'));
665
+ }
666
+ static forRoot() {
667
+ return {
668
+ ngModule: IgoCoreModule,
669
+ providers: []
670
+ };
671
+ }
672
+ }
673
+ IgoCoreModule.ɵfac = function IgoCoreModule_Factory(t) { return new (t || IgoCoreModule)(i0.ɵɵinject(i1$2.MatIconRegistry), i0.ɵɵinject(i2.DomSanitizer)); };
674
+ IgoCoreModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoCoreModule });
675
+ IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
676
+ HttpClientModule,
677
+ IgoActivityModule.forRoot(),
678
+ IgoConfigModule.forRoot(),
679
+ IgoErrorModule.forRoot(),
680
+ IgoLanguageModule.forRoot(),
681
+ IgoMessageModule.forRoot(),
682
+ NgxIndexedDBModule.forRoot(dbConfig), IgoActivityModule,
683
+ IgoConfigModule,
684
+ IgoErrorModule,
685
+ IgoLanguageModule,
686
+ IgoMessageModule] });
687
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoCoreModule, [{
688
+ type: NgModule,
689
+ args: [{
690
+ imports: [
691
+ CommonModule,
692
+ HttpClientModule,
693
+ IgoActivityModule.forRoot(),
694
+ IgoConfigModule.forRoot(),
695
+ IgoErrorModule.forRoot(),
696
+ IgoLanguageModule.forRoot(),
697
+ IgoMessageModule.forRoot(),
698
+ NgxIndexedDBModule.forRoot(dbConfig)
699
+ ],
700
+ declarations: [],
701
+ exports: [
702
+ IgoActivityModule,
703
+ IgoConfigModule,
704
+ IgoErrorModule,
705
+ IgoLanguageModule,
706
+ IgoMessageModule
707
+ ]
708
+ }]
709
+ }], function () { return [{ type: i1$2.MatIconRegistry }, { type: i2.DomSanitizer }]; }, null); })();
710
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoCoreModule, { imports: [CommonModule,
711
+ HttpClientModule, IgoActivityModule, IgoConfigModule, IgoErrorModule, IgoLanguageModule, IgoMessageModule, i8.NgxIndexedDBModule], exports: [IgoActivityModule,
712
+ IgoConfigModule,
713
+ IgoErrorModule,
714
+ IgoLanguageModule,
715
715
  IgoMessageModule] }); })();
716
716
 
717
- class IgoGestureConfig extends HammerGestureConfig {
718
- buildHammer(element) {
719
- const mc = super.buildHammer(element);
720
- mc.set({ touchAction: 'pan-y' });
721
- return mc;
722
- }
723
- }
724
- IgoGestureConfig.ɵfac = /*@__PURE__*/ function () { let ɵIgoGestureConfig_BaseFactory; return function IgoGestureConfig_Factory(t) { return (ɵIgoGestureConfig_BaseFactory || (ɵIgoGestureConfig_BaseFactory = i0.ɵɵgetInheritedFactory(IgoGestureConfig)))(t || IgoGestureConfig); }; }();
725
- IgoGestureConfig.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IgoGestureConfig, factory: IgoGestureConfig.ɵfac });
726
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGestureConfig, [{
727
- type: Injectable
717
+ class IgoGestureConfig extends HammerGestureConfig {
718
+ buildHammer(element) {
719
+ const mc = super.buildHammer(element);
720
+ mc.set({ touchAction: 'pan-y' });
721
+ return mc;
722
+ }
723
+ }
724
+ IgoGestureConfig.ɵfac = /*@__PURE__*/ function () { let ɵIgoGestureConfig_BaseFactory; return function IgoGestureConfig_Factory(t) { return (ɵIgoGestureConfig_BaseFactory || (ɵIgoGestureConfig_BaseFactory = i0.ɵɵgetInheritedFactory(IgoGestureConfig)))(t || IgoGestureConfig); }; }();
725
+ IgoGestureConfig.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: IgoGestureConfig, factory: IgoGestureConfig.ɵfac });
726
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGestureConfig, [{
727
+ type: Injectable
728
728
  }], null, null); })();
729
729
 
730
- class IgoGestureModule {
731
- static forRoot() {
732
- return {
733
- ngModule: IgoGestureModule,
734
- providers: [
735
- {
736
- provide: HAMMER_GESTURE_CONFIG,
737
- useClass: IgoGestureConfig
738
- }
739
- ]
740
- };
741
- }
742
- }
743
- IgoGestureModule.ɵfac = function IgoGestureModule_Factory(t) { return new (t || IgoGestureModule)(); };
744
- IgoGestureModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoGestureModule });
745
- IgoGestureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [HammerModule] });
746
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGestureModule, [{
747
- type: NgModule,
748
- args: [{
749
- imports: [HammerModule],
750
- declarations: [],
751
- exports: []
752
- }]
753
- }], null, null); })();
730
+ class IgoGestureModule {
731
+ static forRoot() {
732
+ return {
733
+ ngModule: IgoGestureModule,
734
+ providers: [
735
+ {
736
+ provide: HAMMER_GESTURE_CONFIG,
737
+ useClass: IgoGestureConfig
738
+ }
739
+ ]
740
+ };
741
+ }
742
+ }
743
+ IgoGestureModule.ɵfac = function IgoGestureModule_Factory(t) { return new (t || IgoGestureModule)(); };
744
+ IgoGestureModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoGestureModule });
745
+ IgoGestureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [HammerModule] });
746
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGestureModule, [{
747
+ type: NgModule,
748
+ args: [{
749
+ imports: [HammerModule],
750
+ declarations: [],
751
+ exports: []
752
+ }]
753
+ }], null, null); })();
754
754
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoGestureModule, { imports: [HammerModule] }); })();
755
755
 
756
- class LoggingInterceptor {
757
- intercept(req, next) {
758
- const started = Date.now();
759
- let ok;
760
- // extend server response observable with logging
761
- return next.handle(req).pipe(tap(
762
- // Succeeds when there is a response; ignore other events
763
- event => (ok = event instanceof HttpResponse ? 'succeeded' : ''),
764
- // Operation failed; error is an HttpErrorResponse
765
- error => (ok = 'failed')),
766
- // Log when response observable either completes or errors
767
- finalize(() => {
768
- const elapsed = Date.now() - started;
756
+ class LoggingInterceptor {
757
+ intercept(req, next) {
758
+ const started = Date.now();
759
+ let ok;
760
+ // extend server response observable with logging
761
+ return next.handle(req).pipe(tap(
762
+ // Succeeds when there is a response; ignore other events
763
+ event => (ok = event instanceof HttpResponse ? 'succeeded' : ''),
764
+ // Operation failed; error is an HttpErrorResponse
765
+ error => (ok = 'failed')),
766
+ // Log when response observable either completes or errors
767
+ finalize(() => {
768
+ const elapsed = Date.now() - started;
769
769
  const msg = `${req.method} "${req.urlWithParams}"
770
- ${ok} in ${elapsed} ms.`;
771
- console.log(msg);
772
- }));
773
- }
774
- }
775
- LoggingInterceptor.ɵfac = function LoggingInterceptor_Factory(t) { return new (t || LoggingInterceptor)(); };
776
- LoggingInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoggingInterceptor, factory: LoggingInterceptor.ɵfac });
777
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoggingInterceptor, [{
778
- type: Injectable
770
+ ${ok} in ${elapsed} ms.`;
771
+ console.log(msg);
772
+ }));
773
+ }
774
+ }
775
+ LoggingInterceptor.ɵfac = function LoggingInterceptor_Factory(t) { return new (t || LoggingInterceptor)(); };
776
+ LoggingInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoggingInterceptor, factory: LoggingInterceptor.ɵfac });
777
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoggingInterceptor, [{
778
+ type: Injectable
779
779
  }], null, null); })();
780
780
 
781
- class IgoLoggingModule {
782
- static forRoot() {
783
- return {
784
- ngModule: IgoLoggingModule,
785
- providers: [
786
- {
787
- provide: HTTP_INTERCEPTORS,
788
- useClass: LoggingInterceptor,
789
- multi: true
790
- }
791
- ]
792
- };
793
- }
794
- }
795
- IgoLoggingModule.ɵfac = function IgoLoggingModule_Factory(t) { return new (t || IgoLoggingModule)(); };
796
- IgoLoggingModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLoggingModule });
797
- IgoLoggingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
798
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLoggingModule, [{
799
- type: NgModule,
800
- args: [{
801
- imports: [],
802
- declarations: [],
803
- exports: []
804
- }]
781
+ class IgoLoggingModule {
782
+ static forRoot() {
783
+ return {
784
+ ngModule: IgoLoggingModule,
785
+ providers: [
786
+ {
787
+ provide: HTTP_INTERCEPTORS,
788
+ useClass: LoggingInterceptor,
789
+ multi: true
790
+ }
791
+ ]
792
+ };
793
+ }
794
+ }
795
+ IgoLoggingModule.ɵfac = function IgoLoggingModule_Factory(t) { return new (t || IgoLoggingModule)(); };
796
+ IgoLoggingModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLoggingModule });
797
+ IgoLoggingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
798
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLoggingModule, [{
799
+ type: NgModule,
800
+ args: [{
801
+ imports: [],
802
+ declarations: [],
803
+ exports: []
804
+ }]
805
805
  }], null, null); })();
806
806
 
807
- let ROUTE_SERVICE_OPTIONS = new InjectionToken('routeServiceOptions');
808
- function provideRouteServiceOptions(options) {
809
- return {
810
- provide: ROUTE_SERVICE_OPTIONS,
811
- useValue: options
812
- };
813
- }
814
- class RouteService {
815
- constructor(router, route, options) {
816
- this.router = router;
817
- this.route = route;
818
- const defaultOptions = {
819
- centerKey: 'center',
820
- zoomKey: 'zoom',
821
- projectionKey: 'projection',
822
- contextKey: 'context',
823
- searchKey: 'search',
824
- visibleOnLayersKey: 'visiblelayers',
825
- visibleOffLayersKey: 'invisiblelayers',
826
- directionsCoordKey: 'routing',
827
- directionsOptionsKey: 'routingOptions',
828
- toolKey: 'tool',
829
- wmsUrlKey: 'wmsUrl',
830
- wmsLayersKey: 'wmsLayers',
831
- wmtsUrlKey: 'wmtsUrl',
832
- wmtsLayersKey: 'wmtsLayers',
833
- arcgisUrlKey: 'arcgisUrl',
834
- arcgisLayersKey: 'arcgisLayers',
835
- iarcgisUrlKey: 'iarcgisUrl',
836
- iarcgisLayersKey: 'iarcgisLayers',
837
- tarcgisUrlKey: 'tarcgisUrl',
838
- tarcgisLayersKey: 'tarcgisLayers',
839
- vectorKey: 'vector'
840
- };
841
- this.options = Object.assign({}, defaultOptions, options);
842
- }
843
- get queryParams() {
844
- let url = decodeURIComponent(location.search);
845
- if (url.includes('¢er=')) {
846
- url = url.replace('¢er', '&center');
847
- const queryParams = url
848
- .slice(1)
849
- .split('&')
850
- .map(p => p.split('='))
851
- .reduce((obj, pair) => {
852
- const [key, value] = pair.map(decodeURIComponent);
853
- obj[key] = value;
854
- return obj;
855
- }, {});
856
- this.router.navigate([], { queryParams });
857
- }
858
- return this.route.queryParams;
859
- }
860
- }
861
- RouteService.ɵfac = function RouteService_Factory(t) { return new (t || RouteService)(i0.ɵɵinject(i1$3.Router), i0.ɵɵinject(i1$3.ActivatedRoute), i0.ɵɵinject(ROUTE_SERVICE_OPTIONS, 8)); };
862
- RouteService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RouteService, factory: RouteService.ɵfac, providedIn: 'root' });
863
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouteService, [{
864
- type: Injectable,
865
- args: [{
866
- providedIn: 'root'
867
- }]
868
- }], function () { return [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: undefined, decorators: [{
869
- type: Inject,
870
- args: [ROUTE_SERVICE_OPTIONS]
871
- }, {
872
- type: Optional
807
+ let ROUTE_SERVICE_OPTIONS = new InjectionToken('routeServiceOptions');
808
+ function provideRouteServiceOptions(options) {
809
+ return {
810
+ provide: ROUTE_SERVICE_OPTIONS,
811
+ useValue: options
812
+ };
813
+ }
814
+ class RouteService {
815
+ constructor(router, route, options) {
816
+ this.router = router;
817
+ this.route = route;
818
+ const defaultOptions = {
819
+ centerKey: 'center',
820
+ zoomKey: 'zoom',
821
+ projectionKey: 'projection',
822
+ contextKey: 'context',
823
+ searchKey: 'search',
824
+ visibleOnLayersKey: 'visiblelayers',
825
+ visibleOffLayersKey: 'invisiblelayers',
826
+ directionsCoordKey: 'routing',
827
+ directionsOptionsKey: 'routingOptions',
828
+ toolKey: 'tool',
829
+ wmsUrlKey: 'wmsUrl',
830
+ wmsLayersKey: 'wmsLayers',
831
+ wmtsUrlKey: 'wmtsUrl',
832
+ wmtsLayersKey: 'wmtsLayers',
833
+ arcgisUrlKey: 'arcgisUrl',
834
+ arcgisLayersKey: 'arcgisLayers',
835
+ iarcgisUrlKey: 'iarcgisUrl',
836
+ iarcgisLayersKey: 'iarcgisLayers',
837
+ tarcgisUrlKey: 'tarcgisUrl',
838
+ tarcgisLayersKey: 'tarcgisLayers',
839
+ vectorKey: 'vector'
840
+ };
841
+ this.options = Object.assign({}, defaultOptions, options);
842
+ }
843
+ get queryParams() {
844
+ let url = decodeURIComponent(location.search);
845
+ if (url.includes('¢er=')) {
846
+ url = url.replace('¢er', '&center');
847
+ const queryParams = url
848
+ .slice(1)
849
+ .split('&')
850
+ .map(p => p.split('='))
851
+ .reduce((obj, pair) => {
852
+ const [key, value] = pair.map(decodeURIComponent);
853
+ obj[key] = value;
854
+ return obj;
855
+ }, {});
856
+ this.router.navigate([], { queryParams });
857
+ }
858
+ return this.route.queryParams;
859
+ }
860
+ }
861
+ RouteService.ɵfac = function RouteService_Factory(t) { return new (t || RouteService)(i0.ɵɵinject(i1$3.Router), i0.ɵɵinject(i1$3.ActivatedRoute), i0.ɵɵinject(ROUTE_SERVICE_OPTIONS, 8)); };
862
+ RouteService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RouteService, factory: RouteService.ɵfac, providedIn: 'root' });
863
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouteService, [{
864
+ type: Injectable,
865
+ args: [{
866
+ providedIn: 'root'
867
+ }]
868
+ }], function () { return [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }, { type: undefined, decorators: [{
869
+ type: Inject,
870
+ args: [ROUTE_SERVICE_OPTIONS]
871
+ }, {
872
+ type: Optional
873
873
  }] }]; }, null); })();
874
874
 
875
- class AnalyticsService {
876
- constructor(config) {
877
- this.config = config;
878
- this.options = this.config.getConfig('analytics') || {};
879
- if (this.options.provider === 'matomo') {
880
- this.initMatomo();
881
- }
882
- }
883
- get paq() {
884
- return (window._paq = window._paq || []);
885
- }
886
- initMatomo() {
887
- if (!this.options.url || !this.options.id) {
888
- return;
889
- }
890
- const url = this.options.url.substr(-1) === '/'
891
- ? this.options.url + 'matomo'
892
- : this.options.url;
893
- // this.paq.push(['trackPageView']);
894
- // this.paq.push(['enableLinkTracking']);
895
- (() => {
896
- this.paq.push(['setTrackerUrl', url + '.php']);
897
- this.paq.push(['setSiteId', this.options.id]);
898
- const g = document.createElement('script');
899
- const s = document.getElementsByTagName('script')[0];
900
- g.type = 'text/javascript';
901
- g.async = true;
902
- g.defer = true;
903
- g.src = url + '.js';
904
- s.parentNode.insertBefore(g, s);
905
- })();
906
- }
907
- setUser(user, profils) {
908
- if (this.options.provider === 'matomo') {
909
- if (!user) {
910
- this.paq.push(['resetUserId']);
911
- this.paq.push(['deleteCustomVariable', 1, 'user']);
912
- this.paq.push(['deleteCustomVariable', 2, 'name']);
913
- this.paq.push(['deleteCustomVariable', 3, 'profils']);
914
- }
915
- else {
916
- this.paq.push(['setUserId', user.id]);
917
- const name = `${user.firstName} ${user.lastName}`;
918
- this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
919
- this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
920
- this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
921
- }
922
- this.paq.push(['trackPageView']);
923
- this.paq.push(['enableLinkTracking']);
924
- }
925
- }
926
- trackSearch(term, nbResults) {
927
- if (this.options.provider === 'matomo') {
928
- this.paq.push(['trackSiteSearch', term, false, nbResults]);
929
- }
930
- }
931
- trackEvent(category, action, name) {
932
- if (this.options.provider === 'matomo') {
933
- this.paq.push(['trackEvent', category, action, name]);
934
- }
935
- }
936
- }
937
- AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(ConfigService)); };
938
- AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
939
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
940
- type: Injectable,
941
- args: [{
942
- providedIn: 'root'
943
- }]
875
+ class AnalyticsService {
876
+ constructor(config) {
877
+ this.config = config;
878
+ this.options = this.config.getConfig('analytics') || {};
879
+ if (this.options.provider === 'matomo') {
880
+ this.initMatomo();
881
+ }
882
+ }
883
+ get paq() {
884
+ return (window._paq = window._paq || []);
885
+ }
886
+ initMatomo() {
887
+ if (!this.options.url || !this.options.id) {
888
+ return;
889
+ }
890
+ const url = this.options.url.substr(-1) === '/'
891
+ ? this.options.url + 'matomo'
892
+ : this.options.url;
893
+ // this.paq.push(['trackPageView']);
894
+ // this.paq.push(['enableLinkTracking']);
895
+ (() => {
896
+ this.paq.push(['setTrackerUrl', url + '.php']);
897
+ this.paq.push(['setSiteId', this.options.id]);
898
+ const g = document.createElement('script');
899
+ const s = document.getElementsByTagName('script')[0];
900
+ g.type = 'text/javascript';
901
+ g.async = true;
902
+ g.defer = true;
903
+ g.src = url + '.js';
904
+ s.parentNode.insertBefore(g, s);
905
+ })();
906
+ }
907
+ setUser(user, profils) {
908
+ if (this.options.provider === 'matomo') {
909
+ if (!user) {
910
+ this.paq.push(['resetUserId']);
911
+ this.paq.push(['deleteCustomVariable', 1, 'user']);
912
+ this.paq.push(['deleteCustomVariable', 2, 'name']);
913
+ this.paq.push(['deleteCustomVariable', 3, 'profils']);
914
+ }
915
+ else {
916
+ this.paq.push(['setUserId', user.id]);
917
+ const name = `${user.firstName} ${user.lastName}`;
918
+ this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
919
+ this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
920
+ this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
921
+ }
922
+ this.paq.push(['trackPageView']);
923
+ this.paq.push(['enableLinkTracking']);
924
+ }
925
+ }
926
+ trackSearch(term, nbResults) {
927
+ if (this.options.provider === 'matomo') {
928
+ this.paq.push(['trackSiteSearch', term, false, nbResults]);
929
+ }
930
+ }
931
+ trackEvent(category, action, name) {
932
+ if (this.options.provider === 'matomo') {
933
+ this.paq.push(['trackEvent', category, action, name]);
934
+ }
935
+ }
936
+ }
937
+ AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(ConfigService)); };
938
+ AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
939
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
940
+ type: Injectable,
941
+ args: [{
942
+ providedIn: 'root'
943
+ }]
944
944
  }], function () { return [{ type: ConfigService }]; }, null); })();
945
945
 
946
- var Media;
947
- (function (Media) {
948
- Media["Mobile"] = "mobile";
949
- Media["Tablet"] = "tablet";
950
- Media["Desktop"] = "desktop";
951
- })(Media || (Media = {}));
952
- var MediaOrientation;
953
- (function (MediaOrientation) {
954
- MediaOrientation["Portrait"] = "portrait";
955
- MediaOrientation["Landscape"] = "landscape";
946
+ var Media;
947
+ (function (Media) {
948
+ Media["Mobile"] = "mobile";
949
+ Media["Tablet"] = "tablet";
950
+ Media["Desktop"] = "desktop";
951
+ })(Media || (Media = {}));
952
+ var MediaOrientation;
953
+ (function (MediaOrientation) {
954
+ MediaOrientation["Portrait"] = "portrait";
955
+ MediaOrientation["Landscape"] = "landscape";
956
956
  })(MediaOrientation || (MediaOrientation = {}));
957
957
 
958
- class MediaService {
959
- constructor(breakpointObserver) {
960
- this.media$ = new BehaviorSubject(undefined);
961
- this.orientation$ = new BehaviorSubject(undefined);
962
- breakpointObserver
963
- .observe([Breakpoints.HandsetLandscape])
964
- .subscribe(res => {
965
- if (res.matches) {
966
- this.media$.next(Media.Mobile);
967
- this.orientation$.next(MediaOrientation.Landscape);
968
- }
969
- });
970
- breakpointObserver.observe([Breakpoints.HandsetPortrait]).subscribe(res => {
971
- if (res.matches) {
972
- this.media$.next(Media.Mobile);
973
- this.orientation$.next(MediaOrientation.Portrait);
974
- }
975
- });
976
- breakpointObserver.observe([Breakpoints.TabletLandscape]).subscribe(res => {
977
- if (res.matches) {
978
- this.media$.next(Media.Tablet);
979
- this.orientation$.next(MediaOrientation.Landscape);
980
- }
981
- });
982
- breakpointObserver.observe([Breakpoints.TabletPortrait]).subscribe(res => {
983
- if (res.matches) {
984
- this.media$.next(Media.Tablet);
985
- this.orientation$.next(MediaOrientation.Portrait);
986
- }
987
- });
988
- breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe(res => {
989
- if (res.matches) {
990
- this.media$.next(Media.Desktop);
991
- this.orientation$.next(MediaOrientation.Landscape);
992
- }
993
- });
994
- breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe(res => {
995
- if (res.matches) {
996
- this.media$.next(Media.Desktop);
997
- this.orientation$.next(MediaOrientation.Portrait);
998
- }
999
- });
1000
- }
1001
- getMedia() {
1002
- return this.media$.value;
1003
- }
1004
- getOrientation() {
1005
- return this.orientation$.value;
1006
- }
1007
- isTouchScreen() {
1008
- return 'ontouchstart' in document.documentElement ? true : false;
1009
- }
1010
- isMobile() {
1011
- const media = this.getMedia();
1012
- return media === 'mobile';
1013
- }
1014
- isDesktop() {
1015
- const media = this.getMedia();
1016
- return media === 'desktop';
1017
- }
1018
- }
1019
- MediaService.ɵfac = function MediaService_Factory(t) { return new (t || MediaService)(i0.ɵɵinject(i1$4.BreakpointObserver)); };
1020
- MediaService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediaService, factory: MediaService.ɵfac, providedIn: 'root' });
1021
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediaService, [{
1022
- type: Injectable,
1023
- args: [{
1024
- providedIn: 'root'
1025
- }]
958
+ class MediaService {
959
+ constructor(breakpointObserver) {
960
+ this.media$ = new BehaviorSubject(undefined);
961
+ this.orientation$ = new BehaviorSubject(undefined);
962
+ breakpointObserver
963
+ .observe([Breakpoints.HandsetLandscape])
964
+ .subscribe(res => {
965
+ if (res.matches) {
966
+ this.media$.next(Media.Mobile);
967
+ this.orientation$.next(MediaOrientation.Landscape);
968
+ }
969
+ });
970
+ breakpointObserver.observe([Breakpoints.HandsetPortrait]).subscribe(res => {
971
+ if (res.matches) {
972
+ this.media$.next(Media.Mobile);
973
+ this.orientation$.next(MediaOrientation.Portrait);
974
+ }
975
+ });
976
+ breakpointObserver.observe([Breakpoints.TabletLandscape]).subscribe(res => {
977
+ if (res.matches) {
978
+ this.media$.next(Media.Tablet);
979
+ this.orientation$.next(MediaOrientation.Landscape);
980
+ }
981
+ });
982
+ breakpointObserver.observe([Breakpoints.TabletPortrait]).subscribe(res => {
983
+ if (res.matches) {
984
+ this.media$.next(Media.Tablet);
985
+ this.orientation$.next(MediaOrientation.Portrait);
986
+ }
987
+ });
988
+ breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe(res => {
989
+ if (res.matches) {
990
+ this.media$.next(Media.Desktop);
991
+ this.orientation$.next(MediaOrientation.Landscape);
992
+ }
993
+ });
994
+ breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe(res => {
995
+ if (res.matches) {
996
+ this.media$.next(Media.Desktop);
997
+ this.orientation$.next(MediaOrientation.Portrait);
998
+ }
999
+ });
1000
+ }
1001
+ getMedia() {
1002
+ return this.media$.value;
1003
+ }
1004
+ getOrientation() {
1005
+ return this.orientation$.value;
1006
+ }
1007
+ isTouchScreen() {
1008
+ return 'ontouchstart' in document.documentElement ? true : false;
1009
+ }
1010
+ isMobile() {
1011
+ const media = this.getMedia();
1012
+ return media === 'mobile';
1013
+ }
1014
+ isDesktop() {
1015
+ const media = this.getMedia();
1016
+ return media === 'desktop';
1017
+ }
1018
+ }
1019
+ MediaService.ɵfac = function MediaService_Factory(t) { return new (t || MediaService)(i0.ɵɵinject(i1$4.BreakpointObserver)); };
1020
+ MediaService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediaService, factory: MediaService.ɵfac, providedIn: 'root' });
1021
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediaService, [{
1022
+ type: Injectable,
1023
+ args: [{
1024
+ providedIn: 'root'
1025
+ }]
1026
1026
  }], function () { return [{ type: i1$4.BreakpointObserver }]; }, null); })();
1027
1027
 
1028
- var StorageScope;
1029
- (function (StorageScope) {
1030
- StorageScope["SESSION"] = "Session";
1031
- StorageScope["LOCAL"] = "Local";
1032
- })(StorageScope || (StorageScope = {}));
1033
- var StorageServiceEventEnum;
1034
- (function (StorageServiceEventEnum) {
1035
- StorageServiceEventEnum["ADDED"] = "Added";
1036
- StorageServiceEventEnum["MODIFIED"] = "Modified";
1037
- StorageServiceEventEnum["REMOVED"] = "Removed";
1038
- StorageServiceEventEnum["CLEARED"] = "Cleared";
1028
+ var StorageScope;
1029
+ (function (StorageScope) {
1030
+ StorageScope["SESSION"] = "Session";
1031
+ StorageScope["LOCAL"] = "Local";
1032
+ })(StorageScope || (StorageScope = {}));
1033
+ var StorageServiceEventEnum;
1034
+ (function (StorageServiceEventEnum) {
1035
+ StorageServiceEventEnum["ADDED"] = "Added";
1036
+ StorageServiceEventEnum["MODIFIED"] = "Modified";
1037
+ StorageServiceEventEnum["REMOVED"] = "Removed";
1038
+ StorageServiceEventEnum["CLEARED"] = "Cleared";
1039
1039
  })(StorageServiceEventEnum || (StorageServiceEventEnum = {}));
1040
1040
 
1041
- class StorageService {
1042
- constructor(config) {
1043
- this.config = config;
1044
- this.storageChange$ = new BehaviorSubject(undefined);
1045
- this.options = this.config.getConfig('storage') || { key: 'igo' };
1046
- }
1047
- /**
1048
- * Use to get the data found in storage file
1049
- */
1050
- get(key, scope) {
1051
- let value;
1052
- if (!scope || scope === StorageScope.SESSION) {
1053
- value = sessionStorage.getItem(`${this.options.key}.${key}`);
1054
- }
1055
- if (scope === StorageScope.LOCAL || (!value && !scope)) {
1056
- value = localStorage.getItem(`${this.options.key}.${key}`);
1057
- }
1058
- if (value) {
1059
- try {
1060
- value = JSON.parse(value);
1061
- }
1062
- catch {
1063
- value = value;
1064
- }
1065
- }
1066
- return value;
1067
- }
1068
- set(key, value, scope = StorageScope.LOCAL) {
1069
- const previousValue = this.get(key, scope);
1070
- if (scope === StorageScope.SESSION) {
1071
- sessionStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));
1072
- }
1073
- else {
1074
- localStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));
1075
- }
1076
- const currentValue = this.get(key, scope);
1077
- if (currentValue !== previousValue) {
1078
- this.storageChange$.next({
1079
- key, scope,
1080
- event: previousValue !== undefined ? StorageServiceEventEnum.MODIFIED : StorageServiceEventEnum.ADDED,
1081
- previousValue,
1082
- currentValue
1083
- });
1084
- }
1085
- }
1086
- remove(key, scope = StorageScope.LOCAL) {
1087
- const previousValue = this.get(key, scope);
1088
- if (scope === StorageScope.SESSION) {
1089
- sessionStorage.removeItem(`${this.options.key}.${key}`);
1090
- }
1091
- else {
1092
- localStorage.removeItem(`${this.options.key}.${key}`);
1093
- }
1094
- this.storageChange$.next({ key, scope, event: StorageServiceEventEnum.REMOVED, previousValue });
1095
- }
1096
- clear(scope = StorageScope.LOCAL) {
1097
- if (scope === StorageScope.SESSION) {
1098
- sessionStorage.clear();
1099
- }
1100
- else {
1101
- localStorage.clear();
1102
- }
1103
- this.storageChange$.next({ scope, event: StorageServiceEventEnum.CLEARED });
1104
- }
1105
- }
1106
- StorageService.ɵfac = function StorageService_Factory(t) { return new (t || StorageService)(i0.ɵɵinject(ConfigService)); };
1107
- StorageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageService, factory: StorageService.ɵfac, providedIn: 'root' });
1108
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageService, [{
1109
- type: Injectable,
1110
- args: [{
1111
- providedIn: 'root'
1112
- }]
1041
+ class StorageService {
1042
+ constructor(config) {
1043
+ this.config = config;
1044
+ this.storageChange$ = new BehaviorSubject(undefined);
1045
+ this.options = this.config.getConfig('storage') || { key: 'igo' };
1046
+ }
1047
+ /**
1048
+ * Use to get the data found in storage file
1049
+ */
1050
+ get(key, scope) {
1051
+ let value;
1052
+ if (!scope || scope === StorageScope.SESSION) {
1053
+ value = sessionStorage.getItem(`${this.options.key}.${key}`);
1054
+ }
1055
+ if (scope === StorageScope.LOCAL || (!value && !scope)) {
1056
+ value = localStorage.getItem(`${this.options.key}.${key}`);
1057
+ }
1058
+ if (value) {
1059
+ try {
1060
+ value = JSON.parse(value);
1061
+ }
1062
+ catch {
1063
+ value = value;
1064
+ }
1065
+ }
1066
+ return value;
1067
+ }
1068
+ set(key, value, scope = StorageScope.LOCAL) {
1069
+ const previousValue = this.get(key, scope);
1070
+ if (scope === StorageScope.SESSION) {
1071
+ sessionStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));
1072
+ }
1073
+ else {
1074
+ localStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));
1075
+ }
1076
+ const currentValue = this.get(key, scope);
1077
+ if (currentValue !== previousValue) {
1078
+ this.storageChange$.next({
1079
+ key, scope,
1080
+ event: previousValue !== undefined ? StorageServiceEventEnum.MODIFIED : StorageServiceEventEnum.ADDED,
1081
+ previousValue,
1082
+ currentValue
1083
+ });
1084
+ }
1085
+ }
1086
+ remove(key, scope = StorageScope.LOCAL) {
1087
+ const previousValue = this.get(key, scope);
1088
+ if (scope === StorageScope.SESSION) {
1089
+ sessionStorage.removeItem(`${this.options.key}.${key}`);
1090
+ }
1091
+ else {
1092
+ localStorage.removeItem(`${this.options.key}.${key}`);
1093
+ }
1094
+ this.storageChange$.next({ key, scope, event: StorageServiceEventEnum.REMOVED, previousValue });
1095
+ }
1096
+ clear(scope = StorageScope.LOCAL) {
1097
+ if (scope === StorageScope.SESSION) {
1098
+ sessionStorage.clear();
1099
+ }
1100
+ else {
1101
+ localStorage.clear();
1102
+ }
1103
+ this.storageChange$.next({ scope, event: StorageServiceEventEnum.CLEARED });
1104
+ }
1105
+ }
1106
+ StorageService.ɵfac = function StorageService_Factory(t) { return new (t || StorageService)(i0.ɵɵinject(ConfigService)); };
1107
+ StorageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageService, factory: StorageService.ɵfac, providedIn: 'root' });
1108
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageService, [{
1109
+ type: Injectable,
1110
+ args: [{
1111
+ providedIn: 'root'
1112
+ }]
1113
1113
  }], function () { return [{ type: ConfigService }]; }, null); })();
1114
1114
 
1115
- function getNumber(v, endposition, length) {
1116
- /* tslint:disable:no-bitwise*/
1117
- const mask = ((1 << length) - 1);
1118
- return (v >> endposition) & mask;
1119
- /* tslint:enable:no-bitwise*/
1120
- }
1121
- class CompressionService {
1122
- constructor() {
1123
- this.base64Index = new Map();
1124
- this.indexBase64 = new Map();
1125
- this.generateBase64Index();
1126
- }
1127
- generateBase64Index() {
1128
- // https://fr.wikipedia.org/wiki/Base64
1129
- // A-Z => [0, 25]
1130
- for (let i = 0; i < 26; i++) {
1131
- this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
1132
- this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
1133
- }
1134
- // a-z => [26, 51]
1135
- for (let i = 0; i < 26; i++) {
1136
- this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
1137
- this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
1138
- }
1139
- // 0-9 => [52, 61]
1140
- for (let i = 0; i < 10; i++) {
1141
- this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
1142
- this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
1143
- }
1144
- // + / => [62, 63]
1145
- this.base64Index.set('+', 62);
1146
- this.base64Index.set('/', 63);
1147
- this.indexBase64.set(62, '+');
1148
- this.indexBase64.set(63, '/');
1149
- }
1150
- compressBlob(blob) {
1151
- if (!blob) {
1152
- return;
1153
- }
1154
- const observable = new Observable((observer) => {
1155
- const reader = new FileReader();
1156
- reader.readAsDataURL(blob);
1157
- reader.onload = () => {
1158
- const base64 = reader.result.valueOf();
1159
- const text64 = base64.substr(base64.indexOf(',') + 1);
1160
- const compressed = this.compressStringBase64(text64);
1161
- const compressedData = { length: text64.length,
1162
- type: blob.type,
1163
- object: compressed };
1164
- observer.next(compressedData);
1165
- };
1166
- });
1167
- return observable;
1168
- }
1169
- decompressBlob(compressedData) {
1170
- /* tslint:disable:no-bitwise*/
1171
- const object = compressedData.object;
1172
- const length = compressedData.length;
1173
- const decompressed = this.decompressStringBase64(object, length);
1174
- const byteCharacters = atob(decompressed);
1175
- const byteNumbers = new Array(byteCharacters.length);
1176
- for (let i = 0; i < byteCharacters.length; i++) {
1177
- byteNumbers[i] = byteCharacters.charCodeAt(i);
1178
- }
1179
- const byteArray = new Uint8Array(byteNumbers);
1180
- const blob = new Blob([byteArray], { type: compressedData.type });
1181
- /* tslint:enable:no-bitwise*/
1182
- return blob;
1183
- }
1184
- compressStringBase64(s) {
1185
- /* tslint:disable:no-bitwise*/
1186
- let out = '';
1187
- let bits = 16;
1188
- let chr = 0;
1189
- let rem = 0;
1190
- for (const c of s) {
1191
- const value = this.base64Index.get(c);
1192
- if (bits > 6) {
1193
- bits -= 6;
1194
- chr += value << bits;
1195
- }
1196
- else {
1197
- rem = 6 - bits;
1198
- chr += value >> rem;
1199
- out += String.fromCharCode(chr);
1200
- chr = (value) << (16 - rem);
1201
- bits = 16 - rem;
1202
- }
1203
- }
1204
- if (s.length % 8 !== 0) {
1205
- out += String.fromCharCode(chr);
1206
- }
1207
- /* tslint:enable:no-bitwise*/
1208
- return String.fromCharCode(9731) + out;
1209
- }
1210
- decompressStringBase64(c, length) {
1211
- /* tslint:disable:no-bitwise*/
1212
- if (!c) {
1213
- return;
1214
- }
1215
- if (c.charCodeAt(0) !== 9731) {
1216
- return c;
1217
- }
1218
- let chr = 0;
1219
- let rem = 0;
1220
- let bits = 16;
1221
- let out = '';
1222
- let j = 1;
1223
- let value = c.charCodeAt(j);
1224
- for (let i = 0; i < length; i++) {
1225
- if (bits > 6) {
1226
- bits -= 6;
1227
- chr = getNumber(value, bits, 6);
1228
- out += this.indexBase64.get(chr);
1229
- }
1230
- else {
1231
- rem = 6 - bits;
1232
- chr = getNumber(value, 0, bits) << rem;
1233
- value = c.charCodeAt(++j);
1234
- chr += getNumber(value, 16 - rem, rem);
1235
- out += this.indexBase64.get(chr);
1236
- bits = 16 - rem;
1237
- }
1238
- }
1239
- return out;
1240
- /* tslint:enable:no-bitwise*/
1241
- }
1242
- }
1243
- CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
1244
- CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
1245
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
1246
- type: Injectable,
1247
- args: [{
1248
- providedIn: 'root'
1249
- }]
1115
+ function getNumber(v, endposition, length) {
1116
+ /* tslint:disable:no-bitwise*/
1117
+ const mask = ((1 << length) - 1);
1118
+ return (v >> endposition) & mask;
1119
+ /* tslint:enable:no-bitwise*/
1120
+ }
1121
+ class CompressionService {
1122
+ constructor() {
1123
+ this.base64Index = new Map();
1124
+ this.indexBase64 = new Map();
1125
+ this.generateBase64Index();
1126
+ }
1127
+ generateBase64Index() {
1128
+ // https://fr.wikipedia.org/wiki/Base64
1129
+ // A-Z => [0, 25]
1130
+ for (let i = 0; i < 26; i++) {
1131
+ this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
1132
+ this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
1133
+ }
1134
+ // a-z => [26, 51]
1135
+ for (let i = 0; i < 26; i++) {
1136
+ this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
1137
+ this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
1138
+ }
1139
+ // 0-9 => [52, 61]
1140
+ for (let i = 0; i < 10; i++) {
1141
+ this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
1142
+ this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
1143
+ }
1144
+ // + / => [62, 63]
1145
+ this.base64Index.set('+', 62);
1146
+ this.base64Index.set('/', 63);
1147
+ this.indexBase64.set(62, '+');
1148
+ this.indexBase64.set(63, '/');
1149
+ }
1150
+ compressBlob(blob) {
1151
+ if (!blob) {
1152
+ return;
1153
+ }
1154
+ const observable = new Observable((observer) => {
1155
+ const reader = new FileReader();
1156
+ reader.readAsDataURL(blob);
1157
+ reader.onload = () => {
1158
+ const base64 = reader.result.valueOf();
1159
+ const text64 = base64.substr(base64.indexOf(',') + 1);
1160
+ const compressed = this.compressStringBase64(text64);
1161
+ const compressedData = { length: text64.length,
1162
+ type: blob.type,
1163
+ object: compressed };
1164
+ observer.next(compressedData);
1165
+ };
1166
+ });
1167
+ return observable;
1168
+ }
1169
+ decompressBlob(compressedData) {
1170
+ /* tslint:disable:no-bitwise*/
1171
+ const object = compressedData.object;
1172
+ const length = compressedData.length;
1173
+ const decompressed = this.decompressStringBase64(object, length);
1174
+ const byteCharacters = atob(decompressed);
1175
+ const byteNumbers = new Array(byteCharacters.length);
1176
+ for (let i = 0; i < byteCharacters.length; i++) {
1177
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
1178
+ }
1179
+ const byteArray = new Uint8Array(byteNumbers);
1180
+ const blob = new Blob([byteArray], { type: compressedData.type });
1181
+ /* tslint:enable:no-bitwise*/
1182
+ return blob;
1183
+ }
1184
+ compressStringBase64(s) {
1185
+ /* tslint:disable:no-bitwise*/
1186
+ let out = '';
1187
+ let bits = 16;
1188
+ let chr = 0;
1189
+ let rem = 0;
1190
+ for (const c of s) {
1191
+ const value = this.base64Index.get(c);
1192
+ if (bits > 6) {
1193
+ bits -= 6;
1194
+ chr += value << bits;
1195
+ }
1196
+ else {
1197
+ rem = 6 - bits;
1198
+ chr += value >> rem;
1199
+ out += String.fromCharCode(chr);
1200
+ chr = (value) << (16 - rem);
1201
+ bits = 16 - rem;
1202
+ }
1203
+ }
1204
+ if (s.length % 8 !== 0) {
1205
+ out += String.fromCharCode(chr);
1206
+ }
1207
+ /* tslint:enable:no-bitwise*/
1208
+ return String.fromCharCode(9731) + out;
1209
+ }
1210
+ decompressStringBase64(c, length) {
1211
+ /* tslint:disable:no-bitwise*/
1212
+ if (!c) {
1213
+ return;
1214
+ }
1215
+ if (c.charCodeAt(0) !== 9731) {
1216
+ return c;
1217
+ }
1218
+ let chr = 0;
1219
+ let rem = 0;
1220
+ let bits = 16;
1221
+ let out = '';
1222
+ let j = 1;
1223
+ let value = c.charCodeAt(j);
1224
+ for (let i = 0; i < length; i++) {
1225
+ if (bits > 6) {
1226
+ bits -= 6;
1227
+ chr = getNumber(value, bits, 6);
1228
+ out += this.indexBase64.get(chr);
1229
+ }
1230
+ else {
1231
+ rem = 6 - bits;
1232
+ chr = getNumber(value, 0, bits) << rem;
1233
+ value = c.charCodeAt(++j);
1234
+ chr += getNumber(value, 16 - rem, rem);
1235
+ out += this.indexBase64.get(chr);
1236
+ bits = 16 - rem;
1237
+ }
1238
+ }
1239
+ return out;
1240
+ /* tslint:enable:no-bitwise*/
1241
+ }
1242
+ }
1243
+ CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
1244
+ CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
1245
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
1246
+ type: Injectable,
1247
+ args: [{
1248
+ providedIn: 'root'
1249
+ }]
1250
1250
  }], function () { return []; }, null); })();
1251
1251
 
1252
- class NetworkService {
1253
- constructor(messageService, injector) {
1254
- this.messageService = messageService;
1255
- this.injector = injector;
1256
- this.stateChangeEventEmitter = new EventEmitter();
1257
- this.state = {
1258
- connection: window.navigator.onLine
1259
- };
1260
- this.checkNetworkState();
1261
- }
1262
- checkNetworkState() {
1263
- this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
1264
- if (this.previousMessageId) {
1265
- this.messageService.remove(this.previousMessageId);
1266
- }
1267
- const translate = this.injector.get(LanguageService).translate;
1268
- const message = translate.instant('igo.core.network.online.message');
1269
- const title = translate.instant('igo.core.network.online.title');
1270
- const messageObj = this.messageService.info(message, title);
1271
- this.previousMessageId = messageObj.toastId;
1272
- this.state.connection = true;
1273
- this.emitEvent();
1274
- });
1275
- this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
1276
- if (this.previousMessageId) {
1277
- this.messageService.remove(this.previousMessageId);
1278
- }
1279
- const translate = this.injector.get(LanguageService).translate;
1280
- const message = translate.instant('igo.core.network.offline.message');
1281
- const title = translate.instant('igo.core.network.offline.title');
1282
- const messageObj = this.messageService.info(message, title);
1283
- this.previousMessageId = messageObj.toastId;
1284
- this.state.connection = false;
1285
- this.emitEvent();
1286
- });
1287
- }
1288
- emitEvent() {
1289
- this.stateChangeEventEmitter.emit(this.state);
1290
- }
1291
- ngOnDestroy() {
1292
- try {
1293
- this.offlineSubscription.unsubscribe();
1294
- this.onlineSubscription.unsubscribe();
1295
- }
1296
- catch (e) { }
1297
- }
1298
- currentState(reportState = true) {
1299
- return reportState
1300
- ? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
1301
- : this.stateChangeEventEmitter.pipe(debounceTime(300));
1302
- }
1303
- }
1304
- NetworkService.ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(MessageService), i0.ɵɵinject(i0.Injector)); };
1305
- NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
1306
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
1307
- type: Injectable,
1308
- args: [{
1309
- providedIn: 'root'
1310
- }]
1252
+ class NetworkService {
1253
+ constructor(messageService, injector) {
1254
+ this.messageService = messageService;
1255
+ this.injector = injector;
1256
+ this.stateChangeEventEmitter = new EventEmitter();
1257
+ this.state = {
1258
+ connection: window.navigator.onLine
1259
+ };
1260
+ this.checkNetworkState();
1261
+ }
1262
+ checkNetworkState() {
1263
+ this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
1264
+ if (this.previousMessageId) {
1265
+ this.messageService.remove(this.previousMessageId);
1266
+ }
1267
+ const translate = this.injector.get(LanguageService).translate;
1268
+ const message = translate.instant('igo.core.network.online.message');
1269
+ const title = translate.instant('igo.core.network.online.title');
1270
+ const messageObj = this.messageService.info(message, title);
1271
+ this.previousMessageId = messageObj.toastId;
1272
+ this.state.connection = true;
1273
+ this.emitEvent();
1274
+ });
1275
+ this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
1276
+ if (this.previousMessageId) {
1277
+ this.messageService.remove(this.previousMessageId);
1278
+ }
1279
+ const translate = this.injector.get(LanguageService).translate;
1280
+ const message = translate.instant('igo.core.network.offline.message');
1281
+ const title = translate.instant('igo.core.network.offline.title');
1282
+ const messageObj = this.messageService.info(message, title);
1283
+ this.previousMessageId = messageObj.toastId;
1284
+ this.state.connection = false;
1285
+ this.emitEvent();
1286
+ });
1287
+ }
1288
+ emitEvent() {
1289
+ this.stateChangeEventEmitter.emit(this.state);
1290
+ }
1291
+ ngOnDestroy() {
1292
+ try {
1293
+ this.offlineSubscription.unsubscribe();
1294
+ this.onlineSubscription.unsubscribe();
1295
+ }
1296
+ catch (e) { }
1297
+ }
1298
+ currentState(reportState = true) {
1299
+ return reportState
1300
+ ? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
1301
+ : this.stateChangeEventEmitter.pipe(debounceTime(300));
1302
+ }
1303
+ }
1304
+ NetworkService.ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(MessageService), i0.ɵɵinject(i0.Injector)); };
1305
+ NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
1306
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
1307
+ type: Injectable,
1308
+ args: [{
1309
+ providedIn: 'root'
1310
+ }]
1311
1311
  }], function () { return [{ type: MessageService }, { type: i0.Injector }]; }, null); })();
1312
1312
 
1313
- class RegexService {
1314
- constructor(config) {
1315
- this.config = config;
1316
- this.options = this.config.getConfig('regex');
1317
- }
1318
- getAll() {
1319
- return this.options;
1320
- }
1321
- get(key) {
1322
- if (this.options) {
1323
- return this.options[key];
1324
- }
1325
- return;
1326
- }
1327
- }
1328
- RegexService.ɵfac = function RegexService_Factory(t) { return new (t || RegexService)(i0.ɵɵinject(ConfigService)); };
1329
- RegexService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RegexService, factory: RegexService.ɵfac, providedIn: 'root' });
1330
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RegexService, [{
1331
- type: Injectable,
1332
- args: [{
1333
- providedIn: 'root'
1334
- }]
1313
+ class RegexService {
1314
+ constructor(config) {
1315
+ this.config = config;
1316
+ this.options = this.config.getConfig('regex');
1317
+ }
1318
+ getAll() {
1319
+ return this.options;
1320
+ }
1321
+ get(key) {
1322
+ if (this.options) {
1323
+ return this.options[key];
1324
+ }
1325
+ return;
1326
+ }
1327
+ }
1328
+ RegexService.ɵfac = function RegexService_Factory(t) { return new (t || RegexService)(i0.ɵɵinject(ConfigService)); };
1329
+ RegexService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RegexService, factory: RegexService.ɵfac, providedIn: 'root' });
1330
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RegexService, [{
1331
+ type: Injectable,
1332
+ args: [{
1333
+ providedIn: 'root'
1334
+ }]
1335
1335
  }], function () { return [{ type: ConfigService }]; }, null); })();
1336
1336
 
1337
- /*
1338
- * Public API Surface of core
1337
+ /*
1338
+ * Public API Surface of core
1339
1339
  */
1340
1340
 
1341
- /**
1342
- * Generated bundle index. Do not edit.
1341
+ /**
1342
+ * Generated bundle index. Do not edit.
1343
1343
  */
1344
1344
 
1345
1345
  export { ActivityInterceptor, ActivityService, AnalyticsService, CONFIG_OPTIONS, CompressionService, ConfigService, ErrorInterceptor, IgoActivityModule, IgoConfigModule, IgoCoreModule, IgoErrorModule, IgoGestureConfig, IgoGestureModule, IgoLanguageModule, IgoLoggingModule, IgoMessageModule, IgoMissingTranslationHandler, LanguageLoader, LanguageService, LoggingInterceptor, Media, MediaOrientation, MediaService, MessageService, MessageType, NetworkService, ROUTE_SERVICE_OPTIONS, RegexService, RouteService, StorageScope, StorageService, StorageServiceEventEnum, configFactory, defaultLanguageLoader, provideConfigLoader, provideConfigOptions, provideDefaultLanguageLoader, provideLanguageLoader, provideRouteServiceOptions, version };