@igo2/core 1.13.0 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__ivy_ngcc__/locale/en.auth.json +29 -29
- package/__ivy_ngcc__/locale/en.common.json +43 -43
- package/__ivy_ngcc__/locale/en.context.json +199 -198
- package/__ivy_ngcc__/locale/en.core.json +29 -29
- package/__ivy_ngcc__/locale/en.geo.json +756 -737
- package/__ivy_ngcc__/locale/en.integration.json +123 -123
- package/__ivy_ngcc__/locale/en.json +25 -5
- package/__ivy_ngcc__/locale/fr.auth.json +32 -32
- package/__ivy_ngcc__/locale/fr.common.json +43 -43
- package/__ivy_ngcc__/locale/fr.context.json +199 -198
- package/__ivy_ngcc__/locale/fr.core.json +29 -29
- package/__ivy_ngcc__/locale/fr.geo.json +756 -737
- package/__ivy_ngcc__/locale/fr.integration.json +125 -125
- package/__ivy_ngcc__/locale/fr.json +24 -4
- package/esm2020/lib/activity/activity.interceptor.mjs +1 -1
- package/esm2020/lib/activity/activity.module.mjs +1 -1
- package/esm2020/lib/activity/activity.service.mjs +1 -1
- package/esm2020/lib/activity/index.mjs +1 -1
- package/esm2020/lib/analytics/index.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.interface.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.service.mjs +1 -1
- package/esm2020/lib/analytics/shared/index.mjs +1 -1
- package/esm2020/lib/compression/compressedData.interface.mjs +1 -1
- package/esm2020/lib/compression/compression.service.mjs +1 -1
- package/esm2020/lib/compression/index.mjs +1 -1
- package/esm2020/lib/config/config.interface.mjs +1 -1
- package/esm2020/lib/config/config.module.mjs +1 -1
- package/esm2020/lib/config/config.provider.mjs +1 -1
- package/esm2020/lib/config/config.service.mjs +1 -1
- package/esm2020/lib/config/index.mjs +1 -1
- package/esm2020/lib/config/version.mjs +3 -3
- package/esm2020/lib/core.module.mjs +1 -1
- package/esm2020/lib/gesture/gesture.module.mjs +1 -1
- package/esm2020/lib/gesture/gesture.provider.mjs +1 -1
- package/esm2020/lib/language/index.mjs +1 -1
- package/esm2020/lib/language/language.module.mjs +1 -1
- package/esm2020/lib/language/shared/index.mjs +1 -1
- package/esm2020/lib/language/shared/language.interface.mjs +1 -1
- package/esm2020/lib/language/shared/language.loader.mjs +1 -1
- package/esm2020/lib/language/shared/language.provider.mjs +1 -1
- package/esm2020/lib/language/shared/language.service.mjs +5 -1
- package/esm2020/lib/language/shared/missing-translation.guard.mjs +2 -2
- package/esm2020/lib/media/index.mjs +1 -1
- package/esm2020/lib/media/media.enum.mjs +1 -1
- package/esm2020/lib/media/media.service.mjs +1 -1
- package/esm2020/lib/message/index.mjs +1 -1
- package/esm2020/lib/message/message.module.mjs +1 -1
- package/esm2020/lib/message/shared/index.mjs +1 -1
- package/esm2020/lib/message/shared/message.enum.mjs +2 -1
- package/esm2020/lib/message/shared/message.interface.mjs +1 -1
- package/esm2020/lib/message/shared/message.service.mjs +101 -23
- package/esm2020/lib/network/index.mjs +1 -1
- package/esm2020/lib/network/network.interfaces.mjs +1 -1
- package/esm2020/lib/network/network.service.mjs +1 -1
- package/esm2020/lib/request/error.interceptor.mjs +9 -2
- package/esm2020/lib/request/error.module.mjs +1 -1
- package/esm2020/lib/request/index.mjs +1 -1
- package/esm2020/lib/request/logging.interceptor.mjs +2 -2
- package/esm2020/lib/request/logging.module.mjs +1 -1
- package/esm2020/lib/route/route.interface.mjs +1 -1
- package/esm2020/lib/route/route.service.mjs +1 -1
- package/esm2020/lib/storage/index.mjs +1 -1
- package/esm2020/lib/storage/storage.interface.mjs +1 -1
- package/esm2020/lib/storage/storage.service.mjs +1 -1
- package/esm2020/public_api.mjs +1 -1
- package/fesm2015/igo2-core.mjs +116 -28
- package/fesm2015/igo2-core.mjs.map +1 -1
- package/fesm2020/igo2-core.mjs +116 -28
- package/fesm2020/igo2-core.mjs.map +1 -1
- package/lib/language/shared/language.service.d.ts +2 -0
- package/lib/message/shared/message.enum.d.ts +2 -1
- package/lib/message/shared/message.interface.d.ts +3 -0
- package/lib/message/shared/message.service.d.ts +7 -4
- package/lib/request/error.interceptor.d.ts +1 -1
- package/locale/en.auth.json +29 -29
- package/locale/en.common.json +43 -43
- package/locale/en.context.json +199 -198
- package/locale/en.core.json +29 -29
- package/locale/en.geo.json +756 -737
- package/locale/en.integration.json +123 -123
- package/locale/en.json +25 -5
- package/locale/fr.auth.json +32 -32
- package/locale/fr.common.json +43 -43
- package/locale/fr.context.json +199 -198
- package/locale/fr.core.json +29 -29
- package/locale/fr.geo.json +756 -737
- package/locale/fr.integration.json +125 -125
- package/locale/fr.json +24 -4
- package/package.json +3 -3
- package/style/all.theming.scss +5 -5
- package/style/core.theming.scss +9 -9
- package/style/foreground.scss +20 -20
- package/style/index.theming.scss +825 -763
- package/style/material.font.scss +9 -9
- package/style/partial/core.variables.scss +4 -4
- package/style/partial/media.scss +80 -80
- package/style/setup.scss +2 -2
- package/style/themes/blue.theme.scss +19 -19
- package/style/themes/bluedq.theme.scss +52 -52
- package/style/themes/bluegrey.theme.scss +16 -16
- package/style/themes/dark.theme.scss +16 -16
- package/style/themes/deeppurple.theme.scss +16 -16
- package/style/themes/indigo.theme.scss +16 -16
- package/style/themes/orange.theme.scss +16 -16
- package/style/themes/teal.theme.scss +16 -16
- package/style/theming.scss +5 -5
- package/style/typography.scss +17 -17
package/fesm2020/igo2-core.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, NgModule, InjectionToken, APP_INITIALIZER, Injector, Inject, Optional, SkipSelf, EventEmitter } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { HTTP_INTERCEPTORS, HttpClient, HttpErrorResponse, HttpClientModule, HttpResponse } from '@angular/common/http';
|
|
5
|
-
import { finalize, catchError, map,
|
|
6
|
-
import { BehaviorSubject, throwError, combineLatest, Observable, fromEvent } from 'rxjs';
|
|
5
|
+
import { finalize, catchError, map, debounceTime, first, tap, startWith } from 'rxjs/operators';
|
|
6
|
+
import { BehaviorSubject, throwError, combineLatest, forkJoin, 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';
|
|
@@ -100,8 +100,8 @@ IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
100
100
|
}], null, null); })();
|
|
101
101
|
|
|
102
102
|
const version = {
|
|
103
|
-
lib: '1.13.
|
|
104
|
-
releaseDate:
|
|
103
|
+
lib: '1.13.2',
|
|
104
|
+
releaseDate: 1668455692587
|
|
105
105
|
};
|
|
106
106
|
|
|
107
107
|
class ConfigService {
|
|
@@ -233,7 +233,7 @@ function provideDefaultLanguageLoader(loader) {
|
|
|
233
233
|
class IgoMissingTranslationHandler {
|
|
234
234
|
handle(params) {
|
|
235
235
|
if (!params.translateService.langs.length) {
|
|
236
|
-
const error = 'Translations are not yet loaded. \
|
|
236
|
+
const error = 'Translations are not yet loaded. \
|
|
237
237
|
Check that the LanguageService is injected.';
|
|
238
238
|
throw new Error(error);
|
|
239
239
|
}
|
|
@@ -337,20 +337,24 @@ var MessageType;
|
|
|
337
337
|
MessageType["WARNING"] = "warning";
|
|
338
338
|
MessageType["INFO"] = "info";
|
|
339
339
|
MessageType["SUCCESS"] = "success";
|
|
340
|
+
MessageType["SHOW"] = "show";
|
|
340
341
|
})(MessageType || (MessageType = {}));
|
|
341
342
|
|
|
342
343
|
class LanguageService {
|
|
343
344
|
constructor(translate) {
|
|
344
345
|
this.translate = translate;
|
|
345
346
|
this.language = this.translate.getBrowserLang();
|
|
347
|
+
this.language$ = new BehaviorSubject(undefined);
|
|
346
348
|
const lang = this.getLanguage();
|
|
347
349
|
this.translate.setDefaultLang(lang);
|
|
350
|
+
this.language$.next(lang);
|
|
348
351
|
}
|
|
349
352
|
getLanguage() {
|
|
350
353
|
return this.language.match(/en|fr/) ? this.language : 'en';
|
|
351
354
|
}
|
|
352
355
|
setLanguage(language) {
|
|
353
356
|
this.language = language.match(/en|fr/) ? language : 'en';
|
|
357
|
+
this.language$.next(this.language);
|
|
354
358
|
this.translate.use(this.language);
|
|
355
359
|
this.translate.reloadLang(this.language);
|
|
356
360
|
}
|
|
@@ -370,7 +374,39 @@ class MessageService {
|
|
|
370
374
|
this.configService = configService;
|
|
371
375
|
this.languageService = languageService;
|
|
372
376
|
this.messages$ = new BehaviorSubject([]);
|
|
377
|
+
this.activeMessageTranslations = [];
|
|
373
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
|
+
});
|
|
374
410
|
}
|
|
375
411
|
get toastr() {
|
|
376
412
|
return this.injector.get(ToastrService);
|
|
@@ -380,6 +416,8 @@ class MessageService {
|
|
|
380
416
|
return this.error(httpError.error.message, httpError.error.title);
|
|
381
417
|
}
|
|
382
418
|
message(message) {
|
|
419
|
+
const messageType = message.type;
|
|
420
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
|
|
383
421
|
this.messages$.next(this.messages$.value.concat([message]));
|
|
384
422
|
message.options = message.options || {};
|
|
385
423
|
const currentDate = new Date();
|
|
@@ -392,50 +430,93 @@ class MessageService {
|
|
|
392
430
|
message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
|
|
393
431
|
}
|
|
394
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
|
+
}
|
|
395
436
|
message = this.handleTemplate(message);
|
|
396
437
|
if (message.text) {
|
|
397
438
|
let messageShown;
|
|
398
439
|
switch (message.type) {
|
|
399
440
|
case MessageType.SUCCESS:
|
|
400
|
-
messageShown = this.success(message.text, message.title, message.options);
|
|
441
|
+
messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
401
442
|
break;
|
|
402
443
|
case MessageType.ERROR:
|
|
403
|
-
messageShown = this.error(message.text, message.title, message.options);
|
|
444
|
+
messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
404
445
|
break;
|
|
405
446
|
case MessageType.INFO:
|
|
406
|
-
messageShown = this.info(message.text, message.title, message.options);
|
|
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);
|
|
407
451
|
break;
|
|
408
452
|
case MessageType.ALERT:
|
|
409
453
|
case MessageType.WARNING:
|
|
410
|
-
messageShown = this.alert(message.text, message.title, message.options);
|
|
454
|
+
messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
411
455
|
break;
|
|
412
456
|
default:
|
|
413
|
-
messageShown = this.info(message.text, message.title, message.options);
|
|
457
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
414
458
|
break;
|
|
415
459
|
}
|
|
416
460
|
message.options.id = messageShown.toastId;
|
|
417
461
|
}
|
|
418
462
|
}
|
|
419
463
|
}
|
|
420
|
-
success(text, title = 'igo.core.message.success', options = {}) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
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);
|
|
424
469
|
}
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
const translatedTitle = this.languageService.translate.instant(title);
|
|
428
|
-
return this.toastr.error(message, translatedTitle, options);
|
|
470
|
+
info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
471
|
+
return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
429
472
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
const translatedTitle = this.languageService.translate.instant(title);
|
|
433
|
-
return this.toastr.info(message, translatedTitle, options);
|
|
473
|
+
alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
474
|
+
return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
434
475
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
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;
|
|
439
520
|
}
|
|
440
521
|
remove(id) {
|
|
441
522
|
this.toastr.remove(id);
|
|
@@ -476,7 +557,14 @@ class ErrorInterceptor {
|
|
|
476
557
|
constructor(injector) {
|
|
477
558
|
this.injector = injector;
|
|
478
559
|
}
|
|
479
|
-
intercept(
|
|
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
|
+
}
|
|
480
568
|
const errorContainer = { httpError: undefined };
|
|
481
569
|
return next.handle(req).pipe(catchError(error => this.handleError(error, errorContainer)), finalize(() => {
|
|
482
570
|
this.handleCaughtError(errorContainer);
|
|
@@ -678,7 +766,7 @@ class LoggingInterceptor {
|
|
|
678
766
|
// Log when response observable either completes or errors
|
|
679
767
|
finalize(() => {
|
|
680
768
|
const elapsed = Date.now() - started;
|
|
681
|
-
const msg = `${req.method} "${req.urlWithParams}"
|
|
769
|
+
const msg = `${req.method} "${req.urlWithParams}"
|
|
682
770
|
${ok} in ${elapsed} ms.`;
|
|
683
771
|
console.log(msg);
|
|
684
772
|
}));
|