@igo2/core 1.11.1 → 1.13.0-alpha.0

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 (122) hide show
  1. package/__ivy_ngcc__/locale/en.auth.json +29 -29
  2. package/__ivy_ngcc__/locale/en.common.json +43 -43
  3. package/__ivy_ngcc__/locale/en.context.json +198 -198
  4. package/__ivy_ngcc__/locale/en.core.json +29 -29
  5. package/__ivy_ngcc__/locale/en.geo.json +737 -727
  6. package/__ivy_ngcc__/locale/en.integration.json +123 -105
  7. package/__ivy_ngcc__/locale/en.json +32 -4
  8. package/__ivy_ngcc__/locale/fr.auth.json +32 -32
  9. package/__ivy_ngcc__/locale/fr.common.json +43 -43
  10. package/__ivy_ngcc__/locale/fr.context.json +198 -198
  11. package/__ivy_ngcc__/locale/fr.core.json +29 -29
  12. package/__ivy_ngcc__/locale/fr.geo.json +737 -727
  13. package/__ivy_ngcc__/locale/fr.integration.json +125 -107
  14. package/__ivy_ngcc__/locale/fr.json +34 -6
  15. package/assets/icons/mdi.svg +1 -1
  16. package/{esm2015/igo2-core.js → esm2020/igo2-core.mjs} +0 -0
  17. package/{esm2015/lib/activity/activity.interceptor.js → esm2020/lib/activity/activity.interceptor.mjs} +1 -1
  18. package/{esm2015/lib/activity/activity.module.js → esm2020/lib/activity/activity.module.mjs} +2 -2
  19. package/{esm2015/lib/activity/activity.service.js → esm2020/lib/activity/activity.service.mjs} +1 -1
  20. package/{esm2015/lib/activity/index.js → esm2020/lib/activity/index.mjs} +1 -1
  21. package/{esm2015/lib/analytics/index.js → esm2020/lib/analytics/index.mjs} +1 -1
  22. package/{esm2015/lib/analytics/shared/analytics.interface.js → esm2020/lib/analytics/shared/analytics.interface.mjs} +1 -1
  23. package/{esm2015/lib/analytics/shared/analytics.service.js → esm2020/lib/analytics/shared/analytics.service.mjs} +1 -1
  24. package/{esm2015/lib/analytics/shared/index.js → esm2020/lib/analytics/shared/index.mjs} +1 -1
  25. package/esm2020/lib/compression/compressedData.interface.mjs +2 -0
  26. package/esm2020/lib/compression/compression.service.mjs +140 -0
  27. package/esm2020/lib/compression/index.mjs +3 -0
  28. package/{esm2015/lib/config/config.interface.js → esm2020/lib/config/config.interface.mjs} +1 -1
  29. package/{esm2015/lib/config/config.module.js → esm2020/lib/config/config.module.mjs} +2 -2
  30. package/{esm2015/lib/config/config.provider.js → esm2020/lib/config/config.provider.mjs} +1 -1
  31. package/{esm2015/lib/config/config.service.js → esm2020/lib/config/config.service.mjs} +1 -1
  32. package/{esm2015/lib/config/index.js → esm2020/lib/config/index.mjs} +1 -1
  33. package/esm2020/lib/config/version.mjs +5 -0
  34. package/esm2020/lib/core.module.mjs +84 -0
  35. package/{esm2015/lib/gesture/gesture.module.js → esm2020/lib/gesture/gesture.module.mjs} +2 -2
  36. package/{esm2015/lib/gesture/gesture.provider.js → esm2020/lib/gesture/gesture.provider.mjs} +1 -1
  37. package/{esm2015/lib/language/index.js → esm2020/lib/language/index.mjs} +1 -1
  38. package/{esm2015/lib/language/language.module.js → esm2020/lib/language/language.module.mjs} +7 -9
  39. package/{esm2015/lib/language/shared/index.js → esm2020/lib/language/shared/index.mjs} +1 -1
  40. package/{esm2015/lib/language/shared/language.interface.js → esm2020/lib/language/shared/language.interface.mjs} +1 -1
  41. package/esm2020/lib/language/shared/language.loader.mjs +27 -0
  42. package/{esm2015/lib/language/shared/language.provider.js → esm2020/lib/language/shared/language.provider.mjs} +1 -1
  43. package/{esm2015/lib/language/shared/language.service.js → esm2020/lib/language/shared/language.service.mjs} +1 -1
  44. package/{esm2015/lib/language/shared/missing-translation.guard.js → esm2020/lib/language/shared/missing-translation.guard.mjs} +2 -2
  45. package/{esm2015/lib/media/index.js → esm2020/lib/media/index.mjs} +1 -1
  46. package/{esm2015/lib/media/media.enum.js → esm2020/lib/media/media.enum.mjs} +1 -1
  47. package/{esm2015/lib/media/media.service.js → esm2020/lib/media/media.service.mjs} +1 -1
  48. package/{esm2015/lib/message/index.js → esm2020/lib/message/index.mjs} +1 -1
  49. package/esm2020/lib/message/message.module.mjs +56 -0
  50. package/{esm2015/lib/message/shared/index.js → esm2020/lib/message/shared/index.mjs} +1 -1
  51. package/{esm2015/lib/message/shared/message.enum.js → esm2020/lib/message/shared/message.enum.mjs} +1 -1
  52. package/esm2020/lib/message/shared/message.interface.mjs +2 -0
  53. package/{esm2015/lib/message/shared/message.service.js → esm2020/lib/message/shared/message.service.mjs} +1 -1
  54. package/{esm2015/lib/network/index.js → esm2020/lib/network/index.mjs} +1 -1
  55. package/{esm2015/lib/network/network.interfaces.js → esm2020/lib/network/network.interfaces.mjs} +1 -1
  56. package/{esm2015/lib/network/network.service.js → esm2020/lib/network/network.service.mjs} +1 -1
  57. package/esm2020/lib/request/error.interceptor.mjs +59 -0
  58. package/{esm2015/lib/request/error.module.js → esm2020/lib/request/error.module.mjs} +2 -2
  59. package/{esm2015/lib/request/index.js → esm2020/lib/request/index.mjs} +1 -1
  60. package/{esm2015/lib/request/logging.interceptor.js → esm2020/lib/request/logging.interceptor.mjs} +2 -2
  61. package/{esm2015/lib/request/logging.module.js → esm2020/lib/request/logging.module.mjs} +2 -2
  62. package/esm2020/lib/route/route.interface.mjs +2 -0
  63. package/{esm2015/lib/route/route.service.js → esm2020/lib/route/route.service.mjs} +1 -1
  64. package/{esm2015/lib/storage/index.js → esm2020/lib/storage/index.mjs} +1 -1
  65. package/{esm2015/lib/storage/storage.interface.js → esm2020/lib/storage/storage.interface.mjs} +1 -1
  66. package/{esm2015/lib/storage/storage.service.js → esm2020/lib/storage/storage.service.mjs} +2 -2
  67. package/{esm2015/public_api.js → esm2020/public_api.mjs} +2 -1
  68. package/fesm2015/igo2-core.mjs +1286 -0
  69. package/fesm2015/igo2-core.mjs.map +1 -0
  70. package/{fesm2015/igo2-core.js → fesm2020/igo2-core.mjs} +213 -68
  71. package/fesm2020/igo2-core.mjs.map +1 -0
  72. package/{igo2-core.d.ts → index.d.ts} +0 -0
  73. package/lib/compression/compressedData.interface.d.ts +5 -0
  74. package/lib/compression/compression.service.d.ts +15 -0
  75. package/lib/compression/index.d.ts +2 -0
  76. package/lib/core.module.d.ts +2 -1
  77. package/lib/request/error.interceptor.d.ts +1 -3
  78. package/locale/en.auth.json +29 -29
  79. package/locale/en.common.json +43 -43
  80. package/locale/en.context.json +198 -198
  81. package/locale/en.core.json +29 -29
  82. package/locale/en.geo.json +737 -727
  83. package/locale/en.integration.json +123 -105
  84. package/locale/en.json +32 -4
  85. package/locale/fr.auth.json +32 -32
  86. package/locale/fr.common.json +43 -43
  87. package/locale/fr.context.json +198 -198
  88. package/locale/fr.core.json +29 -29
  89. package/locale/fr.geo.json +737 -727
  90. package/locale/fr.integration.json +125 -107
  91. package/locale/fr.json +34 -6
  92. package/package.json +26 -12
  93. package/public_api.d.ts +1 -0
  94. package/style/all.theming.scss +5 -5
  95. package/style/core.theming.scss +9 -9
  96. package/style/foreground.scss +20 -20
  97. package/style/index.theming.scss +867 -763
  98. package/style/material.font.scss +9 -9
  99. package/style/partial/core.variables.scss +4 -4
  100. package/style/partial/media.scss +80 -80
  101. package/style/setup.scss +2 -1
  102. package/style/themes/blue.theme.scss +19 -19
  103. package/style/themes/bluedq.theme.scss +52 -52
  104. package/style/themes/bluegrey.theme.scss +16 -16
  105. package/style/themes/dark.theme.scss +16 -16
  106. package/style/themes/deeppurple.theme.scss +16 -16
  107. package/style/themes/indigo.theme.scss +16 -16
  108. package/style/themes/orange.theme.scss +16 -16
  109. package/style/themes/qcca.theme.scss +98 -0
  110. package/style/themes/teal.theme.scss +16 -16
  111. package/style/theming.scss +7 -7
  112. package/style/typography.scss +15 -15
  113. package/bundles/igo2-core.umd.js +0 -1593
  114. package/bundles/igo2-core.umd.js.map +0 -1
  115. package/esm2015/lib/config/version.js +0 -5
  116. package/esm2015/lib/core.module.js +0 -71
  117. package/esm2015/lib/language/shared/language.loader.js +0 -28
  118. package/esm2015/lib/message/message.module.js +0 -56
  119. package/esm2015/lib/message/shared/message.interface.js +0 -2
  120. package/esm2015/lib/request/error.interceptor.js +0 -62
  121. package/esm2015/lib/route/route.interface.js +0 -2
  122. package/fesm2015/igo2-core.js.map +0 -1
@@ -3,12 +3,14 @@ import { Injectable, NgModule, InjectionToken, APP_INITIALIZER, Injector, Inject
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { HTTP_INTERCEPTORS, HttpClient, HttpErrorResponse, HttpClientModule, HttpResponse } from '@angular/common/http';
5
5
  import { finalize, catchError, map, tap, debounceTime, startWith } from 'rxjs/operators';
6
- import { BehaviorSubject, throwError, of, combineLatest, fromEvent } from 'rxjs';
6
+ import { BehaviorSubject, throwError, combineLatest, Observable, fromEvent } from 'rxjs';
7
7
  import { uuid, ObjectUtils } from '@igo2/utils';
8
8
  import * as i1 from '@ngx-translate/core';
9
9
  import { TranslateLoader, TranslateModule, MissingTranslationHandler } from '@ngx-translate/core';
10
10
  import * as i1$1 from 'ngx-toastr';
11
11
  import { ToastrModule, ToastrService } from 'ngx-toastr';
12
+ import * as i8 from 'ngx-indexed-db';
13
+ import { NgxIndexedDBModule } from 'ngx-indexed-db';
12
14
  import * as i1$2 from '@angular/material/icon';
13
15
  import * as i2 from '@angular/platform-browser';
14
16
  import { HammerGestureConfig, HAMMER_GESTURE_CONFIG, HammerModule } from '@angular/platform-browser';
@@ -87,7 +89,7 @@ class IgoActivityModule {
87
89
  }
88
90
  IgoActivityModule.ɵfac = function IgoActivityModule_Factory(t) { return new (t || IgoActivityModule)(); };
89
91
  IgoActivityModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoActivityModule });
90
- IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
92
+ IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
91
93
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActivityModule, [{
92
94
  type: NgModule,
93
95
  args: [{
@@ -98,8 +100,8 @@ IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] })
98
100
  }], null, null); })();
99
101
 
100
102
  const version = {
101
- lib: '1.11.1',
102
- releaseDate: 1649355043171
103
+ lib: '1.13.0-alpha.0',
104
+ releaseDate: 1658258974797
103
105
  };
104
106
 
105
107
  class ConfigService {
@@ -176,7 +178,7 @@ class IgoConfigModule {
176
178
  }
177
179
  IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
178
180
  IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
179
- IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
181
+ IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
180
182
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
181
183
  type: NgModule,
182
184
  args: [{
@@ -194,8 +196,7 @@ class LanguageLoader {
194
196
  this.config = config;
195
197
  }
196
198
  getTranslation(lang) {
197
- const translation = require(`../locale/${lang}.json`);
198
- const igoLocale$ = of(translation);
199
+ const igoLocale$ = this.http.get(`locale/libs_locale/${lang}.json`);
199
200
  if (this.config && !this.prefix) {
200
201
  const prefix = this.config.getConfig('language.prefix');
201
202
  this.prefix = !prefix || Array.isArray(prefix) ? prefix : [prefix];
@@ -232,7 +233,7 @@ function provideDefaultLanguageLoader(loader) {
232
233
  class IgoMissingTranslationHandler {
233
234
  handle(params) {
234
235
  if (!params.translateService.langs.length) {
235
- const error = 'Translations are not yet loaded. \
236
+ const error = 'Translations are not yet loaded. \
236
237
  Check that the LanguageService is injected.';
237
238
  throw new Error(error);
238
239
  }
@@ -255,14 +256,12 @@ class IgoLanguageModule {
255
256
  }
256
257
  IgoLanguageModule.ɵfac = function IgoLanguageModule_Factory(t) { return new (t || IgoLanguageModule)(); };
257
258
  IgoLanguageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLanguageModule });
258
- IgoLanguageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
259
- TranslateModule.forRoot({
260
- missingTranslationHandler: {
261
- provide: MissingTranslationHandler,
262
- useClass: IgoMissingTranslationHandler
263
- }
264
- })
265
- ], TranslateModule] });
259
+ IgoLanguageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TranslateModule.forRoot({
260
+ missingTranslationHandler: {
261
+ provide: MissingTranslationHandler,
262
+ useClass: IgoMissingTranslationHandler
263
+ }
264
+ }), TranslateModule] });
266
265
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLanguageModule, [{
267
266
  type: NgModule,
268
267
  args: [{
@@ -290,22 +289,22 @@ class IgoMessageModule {
290
289
  }
291
290
  IgoMessageModule.ɵfac = function IgoMessageModule_Factory(t) { return new (t || IgoMessageModule)(); };
292
291
  IgoMessageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoMessageModule });
293
- IgoMessageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[CommonModule,
294
- ToastrModule.forRoot({
295
- positionClass: 'toast-bottom-right',
296
- timeOut: 10000,
297
- extendedTimeOut: 10000,
298
- messageClass: 'toast-message mat-typography',
299
- closeButton: true,
300
- progressBar: true,
301
- enableHtml: true,
302
- tapToDismiss: true,
303
- maxOpened: 4,
304
- preventDuplicates: true,
305
- resetTimeoutOnDuplicate: true,
306
- countDuplicates: false,
307
- includeTitleDuplicates: true
308
- })]] });
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
+ })] });
309
308
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoMessageModule, [{
310
309
  type: NgModule,
311
310
  args: [{
@@ -331,6 +330,15 @@ IgoMessageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[Common
331
330
  }], null, null); })();
332
331
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoMessageModule, { imports: [CommonModule, i1$1.ToastrModule] }); })();
333
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 || (MessageType = {}));
341
+
334
342
  class LanguageService {
335
343
  constructor(translate) {
336
344
  this.translate = translate;
@@ -356,15 +364,6 @@ LanguageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Language
356
364
  }]
357
365
  }], function () { return [{ type: i1.TranslateService }]; }, null); })();
358
366
 
359
- var MessageType;
360
- (function (MessageType) {
361
- MessageType["ERROR"] = "error";
362
- MessageType["ALERT"] = "warning";
363
- MessageType["WARNING"] = "warning";
364
- MessageType["INFO"] = "info";
365
- MessageType["SUCCESS"] = "success";
366
- })(MessageType || (MessageType = {}));
367
-
368
367
  class MessageService {
369
368
  constructor(injector, configService, languageService) {
370
369
  this.injector = injector;
@@ -474,8 +473,7 @@ MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageSe
474
473
  }] }, { type: ConfigService }, { type: LanguageService }]; }, null); })();
475
474
 
476
475
  class ErrorInterceptor {
477
- constructor(messageService, injector) {
478
- this.messageService = messageService;
476
+ constructor(injector) {
479
477
  this.injector = injector;
480
478
  }
481
479
  intercept(req, next) {
@@ -505,28 +503,27 @@ class ErrorInterceptor {
505
503
  const httpError = errorContainer.httpError;
506
504
  if (httpError && httpError.error.toDisplay) {
507
505
  httpError.error.caught = true;
508
- this.messageService.error(httpError.error.message, httpError.error.title);
506
+ const messageService = this.injector.get(MessageService);
507
+ messageService.error(httpError.error.message, httpError.error.title);
509
508
  }
510
509
  }
511
510
  handleUncaughtError(errorContainer) {
512
511
  const httpError = errorContainer.httpError;
513
512
  if (httpError && !httpError.error.caught) {
514
- const translate = this.injector.get(LanguageService).translate;
515
- const message = translate.instant('igo.core.errors.uncaught.message');
516
- const title = translate.instant('igo.core.errors.uncaught.title');
513
+ const messageService = this.injector.get(MessageService);
517
514
  httpError.error.caught = true;
518
- this.messageService.error(message, title);
515
+ messageService.error('igo.core.errors.uncaught.message', 'igo.core.errors.uncaught.title');
519
516
  }
520
517
  }
521
518
  }
522
- ErrorInterceptor.ɵfac = function ErrorInterceptor_Factory(t) { return new (t || ErrorInterceptor)(i0.ɵɵinject(MessageService), i0.ɵɵinject(i0.Injector)); };
519
+ ErrorInterceptor.ɵfac = function ErrorInterceptor_Factory(t) { return new (t || ErrorInterceptor)(i0.ɵɵinject(i0.Injector)); };
523
520
  ErrorInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ErrorInterceptor, factory: ErrorInterceptor.ɵfac, providedIn: 'root' });
524
521
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorInterceptor, [{
525
522
  type: Injectable,
526
523
  args: [{
527
524
  providedIn: 'root'
528
525
  }]
529
- }], function () { return [{ type: MessageService }, { type: i0.Injector }]; }, null); })();
526
+ }], function () { return [{ type: i0.Injector }]; }, null); })();
530
527
 
531
528
  class IgoErrorModule {
532
529
  constructor(parentModule) {
@@ -549,7 +546,7 @@ class IgoErrorModule {
549
546
  }
550
547
  IgoErrorModule.ɵfac = function IgoErrorModule_Factory(t) { return new (t || IgoErrorModule)(i0.ɵɵinject(IgoErrorModule, 12)); };
551
548
  IgoErrorModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoErrorModule });
552
- IgoErrorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
549
+ IgoErrorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
553
550
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoErrorModule, [{
554
551
  type: NgModule,
555
552
  args: [{
@@ -563,6 +560,17 @@ IgoErrorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
563
560
  type: SkipSelf
564
561
  }] }]; }, null); })();
565
562
 
563
+ const dbConfig = {
564
+ name: 'igo2DB',
565
+ version: 1,
566
+ objectStoresMeta: [{
567
+ store: 'geoData',
568
+ storeConfig: { keyPath: 'url', autoIncrement: false },
569
+ storeSchema: [
570
+ { name: 'regionID', keypath: 'regionID', options: { unique: false } }
571
+ ]
572
+ }]
573
+ };
566
574
  class IgoCoreModule {
567
575
  constructor(matIconRegistry, domSanitizer) {
568
576
  matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./assets/igo2/core/icons/mdi.svg'));
@@ -576,15 +584,14 @@ class IgoCoreModule {
576
584
  }
577
585
  IgoCoreModule.ɵfac = function IgoCoreModule_Factory(t) { return new (t || IgoCoreModule)(i0.ɵɵinject(i1$2.MatIconRegistry), i0.ɵɵinject(i2.DomSanitizer)); };
578
586
  IgoCoreModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoCoreModule });
579
- IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
580
- CommonModule,
581
- HttpClientModule,
582
- IgoActivityModule.forRoot(),
583
- IgoConfigModule.forRoot(),
584
- IgoErrorModule.forRoot(),
585
- IgoLanguageModule.forRoot(),
586
- IgoMessageModule.forRoot()
587
- ], IgoActivityModule,
587
+ IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
588
+ HttpClientModule,
589
+ IgoActivityModule.forRoot(),
590
+ IgoConfigModule.forRoot(),
591
+ IgoErrorModule.forRoot(),
592
+ IgoLanguageModule.forRoot(),
593
+ IgoMessageModule.forRoot(),
594
+ NgxIndexedDBModule.forRoot(dbConfig), IgoActivityModule,
588
595
  IgoConfigModule,
589
596
  IgoErrorModule,
590
597
  IgoLanguageModule,
@@ -599,7 +606,8 @@ IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
599
606
  IgoConfigModule.forRoot(),
600
607
  IgoErrorModule.forRoot(),
601
608
  IgoLanguageModule.forRoot(),
602
- IgoMessageModule.forRoot()
609
+ IgoMessageModule.forRoot(),
610
+ NgxIndexedDBModule.forRoot(dbConfig)
603
611
  ],
604
612
  declarations: [],
605
613
  exports: [
@@ -612,7 +620,7 @@ IgoCoreModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
612
620
  }]
613
621
  }], function () { return [{ type: i1$2.MatIconRegistry }, { type: i2.DomSanitizer }]; }, null); })();
614
622
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoCoreModule, { imports: [CommonModule,
615
- HttpClientModule, IgoActivityModule, IgoConfigModule, IgoErrorModule, IgoLanguageModule, IgoMessageModule], exports: [IgoActivityModule,
623
+ HttpClientModule, IgoActivityModule, IgoConfigModule, IgoErrorModule, IgoLanguageModule, IgoMessageModule, i8.NgxIndexedDBModule], exports: [IgoActivityModule,
616
624
  IgoConfigModule,
617
625
  IgoErrorModule,
618
626
  IgoLanguageModule,
@@ -646,7 +654,7 @@ class IgoGestureModule {
646
654
  }
647
655
  IgoGestureModule.ɵfac = function IgoGestureModule_Factory(t) { return new (t || IgoGestureModule)(); };
648
656
  IgoGestureModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoGestureModule });
649
- IgoGestureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[HammerModule]] });
657
+ IgoGestureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [HammerModule] });
650
658
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGestureModule, [{
651
659
  type: NgModule,
652
660
  args: [{
@@ -670,7 +678,7 @@ class LoggingInterceptor {
670
678
  // Log when response observable either completes or errors
671
679
  finalize(() => {
672
680
  const elapsed = Date.now() - started;
673
- const msg = `${req.method} "${req.urlWithParams}"
681
+ const msg = `${req.method} "${req.urlWithParams}"
674
682
  ${ok} in ${elapsed} ms.`;
675
683
  console.log(msg);
676
684
  }));
@@ -698,7 +706,7 @@ class IgoLoggingModule {
698
706
  }
699
707
  IgoLoggingModule.ɵfac = function IgoLoggingModule_Factory(t) { return new (t || IgoLoggingModule)(); };
700
708
  IgoLoggingModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoLoggingModule });
701
- IgoLoggingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
709
+ IgoLoggingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
702
710
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoLoggingModule, [{
703
711
  type: NgModule,
704
712
  args: [{
@@ -963,7 +971,7 @@ class StorageService {
963
971
  try {
964
972
  value = JSON.parse(value);
965
973
  }
966
- catch (_a) {
974
+ catch {
967
975
  value = value;
968
976
  }
969
977
  }
@@ -1016,6 +1024,143 @@ StorageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageSe
1016
1024
  }]
1017
1025
  }], function () { return [{ type: ConfigService }]; }, null); })();
1018
1026
 
1027
+ function getNumber(v, endposition, length) {
1028
+ /* tslint:disable:no-bitwise*/
1029
+ const mask = ((1 << length) - 1);
1030
+ return (v >> endposition) & mask;
1031
+ /* tslint:enable:no-bitwise*/
1032
+ }
1033
+ class CompressionService {
1034
+ constructor() {
1035
+ this.base64Index = new Map();
1036
+ this.indexBase64 = new Map();
1037
+ this.generateBase64Index();
1038
+ }
1039
+ generateBase64Index() {
1040
+ // https://fr.wikipedia.org/wiki/Base64
1041
+ // A-Z => [0, 25]
1042
+ for (let i = 0; i < 26; i++) {
1043
+ this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
1044
+ this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
1045
+ }
1046
+ // a-z => [26, 51]
1047
+ for (let i = 0; i < 26; i++) {
1048
+ this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
1049
+ this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
1050
+ }
1051
+ // 0-9 => [52, 61]
1052
+ for (let i = 0; i < 10; i++) {
1053
+ this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
1054
+ this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
1055
+ }
1056
+ // + / => [62, 63]
1057
+ this.base64Index.set('+', 62);
1058
+ this.base64Index.set('/', 63);
1059
+ this.indexBase64.set(62, '+');
1060
+ this.indexBase64.set(63, '/');
1061
+ }
1062
+ compressBlob(blob) {
1063
+ if (!blob) {
1064
+ return;
1065
+ }
1066
+ const observable = new Observable((observer) => {
1067
+ const reader = new FileReader();
1068
+ reader.readAsDataURL(blob);
1069
+ reader.onload = () => {
1070
+ const base64 = reader.result.valueOf();
1071
+ const text64 = base64.substr(base64.indexOf(',') + 1);
1072
+ const compressed = this.compressStringBase64(text64);
1073
+ const compressedData = { length: text64.length,
1074
+ type: blob.type,
1075
+ object: compressed };
1076
+ observer.next(compressedData);
1077
+ };
1078
+ });
1079
+ return observable;
1080
+ }
1081
+ decompressBlob(compressedData) {
1082
+ /* tslint:disable:no-bitwise*/
1083
+ const object = compressedData.object;
1084
+ const length = compressedData.length;
1085
+ const decompressed = this.decompressStringBase64(object, length);
1086
+ const byteCharacters = atob(decompressed);
1087
+ const byteNumbers = new Array(byteCharacters.length);
1088
+ for (let i = 0; i < byteCharacters.length; i++) {
1089
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
1090
+ }
1091
+ const byteArray = new Uint8Array(byteNumbers);
1092
+ const blob = new Blob([byteArray], { type: compressedData.type });
1093
+ /* tslint:enable:no-bitwise*/
1094
+ return blob;
1095
+ }
1096
+ compressStringBase64(s) {
1097
+ /* tslint:disable:no-bitwise*/
1098
+ let out = '';
1099
+ let bits = 16;
1100
+ let chr = 0;
1101
+ let rem = 0;
1102
+ for (const c of s) {
1103
+ const value = this.base64Index.get(c);
1104
+ if (bits > 6) {
1105
+ bits -= 6;
1106
+ chr += value << bits;
1107
+ }
1108
+ else {
1109
+ rem = 6 - bits;
1110
+ chr += value >> rem;
1111
+ out += String.fromCharCode(chr);
1112
+ chr = (value) << (16 - rem);
1113
+ bits = 16 - rem;
1114
+ }
1115
+ }
1116
+ if (s.length % 8 !== 0) {
1117
+ out += String.fromCharCode(chr);
1118
+ }
1119
+ /* tslint:enable:no-bitwise*/
1120
+ return String.fromCharCode(9731) + out;
1121
+ }
1122
+ decompressStringBase64(c, length) {
1123
+ /* tslint:disable:no-bitwise*/
1124
+ if (!c) {
1125
+ return;
1126
+ }
1127
+ if (c.charCodeAt(0) !== 9731) {
1128
+ return c;
1129
+ }
1130
+ let chr = 0;
1131
+ let rem = 0;
1132
+ let bits = 16;
1133
+ let out = '';
1134
+ let j = 1;
1135
+ let value = c.charCodeAt(j);
1136
+ for (let i = 0; i < length; i++) {
1137
+ if (bits > 6) {
1138
+ bits -= 6;
1139
+ chr = getNumber(value, bits, 6);
1140
+ out += this.indexBase64.get(chr);
1141
+ }
1142
+ else {
1143
+ rem = 6 - bits;
1144
+ chr = getNumber(value, 0, bits) << rem;
1145
+ value = c.charCodeAt(++j);
1146
+ chr += getNumber(value, 16 - rem, rem);
1147
+ out += this.indexBase64.get(chr);
1148
+ bits = 16 - rem;
1149
+ }
1150
+ }
1151
+ return out;
1152
+ /* tslint:enable:no-bitwise*/
1153
+ }
1154
+ }
1155
+ CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
1156
+ CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
1157
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
1158
+ type: Injectable,
1159
+ args: [{
1160
+ providedIn: 'root'
1161
+ }]
1162
+ }], function () { return []; }, null); })();
1163
+
1019
1164
  class NetworkService {
1020
1165
  constructor(messageService, injector) {
1021
1166
  this.messageService = messageService;
@@ -1085,5 +1230,5 @@ NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkSe
1085
1230
  * Generated bundle index. Do not edit.
1086
1231
  */
1087
1232
 
1088
- export { ActivityInterceptor, ActivityService, AnalyticsService, CONFIG_OPTIONS, ConfigService, ErrorInterceptor, IgoActivityModule, IgoConfigModule, IgoCoreModule, IgoErrorModule, IgoGestureConfig, IgoGestureModule, IgoLanguageModule, IgoLoggingModule, IgoMessageModule, IgoMissingTranslationHandler, LanguageLoader, LanguageService, LoggingInterceptor, Media, MediaOrientation, MediaService, MessageService, MessageType, NetworkService, ROUTE_SERVICE_OPTIONS, RouteService, StorageScope, StorageService, StorageServiceEventEnum, configFactory, defaultLanguageLoader, provideConfigLoader, provideConfigOptions, provideDefaultLanguageLoader, provideLanguageLoader, provideRouteServiceOptions, version };
1089
- //# sourceMappingURL=igo2-core.js.map
1233
+ 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, RouteService, StorageScope, StorageService, StorageServiceEventEnum, configFactory, defaultLanguageLoader, provideConfigLoader, provideConfigOptions, provideDefaultLanguageLoader, provideLanguageLoader, provideRouteServiceOptions, version };
1234
+ //# sourceMappingURL=igo2-core.mjs.map