@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/fesm2015/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';
|
|
@@ -106,8 +106,8 @@ IgoActivityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
|
106
106
|
})();
|
|
107
107
|
|
|
108
108
|
const version = {
|
|
109
|
-
lib: '1.13.
|
|
110
|
-
releaseDate:
|
|
109
|
+
lib: '1.13.2',
|
|
110
|
+
releaseDate: 1668455692587
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
class ConfigService {
|
|
@@ -243,7 +243,7 @@ function provideDefaultLanguageLoader(loader) {
|
|
|
243
243
|
class IgoMissingTranslationHandler {
|
|
244
244
|
handle(params) {
|
|
245
245
|
if (!params.translateService.langs.length) {
|
|
246
|
-
const error = 'Translations are not yet loaded. \
|
|
246
|
+
const error = 'Translations are not yet loaded. \
|
|
247
247
|
Check that the LanguageService is injected.';
|
|
248
248
|
throw new Error(error);
|
|
249
249
|
}
|
|
@@ -351,20 +351,24 @@ var MessageType;
|
|
|
351
351
|
MessageType["WARNING"] = "warning";
|
|
352
352
|
MessageType["INFO"] = "info";
|
|
353
353
|
MessageType["SUCCESS"] = "success";
|
|
354
|
+
MessageType["SHOW"] = "show";
|
|
354
355
|
})(MessageType || (MessageType = {}));
|
|
355
356
|
|
|
356
357
|
class LanguageService {
|
|
357
358
|
constructor(translate) {
|
|
358
359
|
this.translate = translate;
|
|
359
360
|
this.language = this.translate.getBrowserLang();
|
|
361
|
+
this.language$ = new BehaviorSubject(undefined);
|
|
360
362
|
const lang = this.getLanguage();
|
|
361
363
|
this.translate.setDefaultLang(lang);
|
|
364
|
+
this.language$.next(lang);
|
|
362
365
|
}
|
|
363
366
|
getLanguage() {
|
|
364
367
|
return this.language.match(/en|fr/) ? this.language : 'en';
|
|
365
368
|
}
|
|
366
369
|
setLanguage(language) {
|
|
367
370
|
this.language = language.match(/en|fr/) ? language : 'en';
|
|
371
|
+
this.language$.next(this.language);
|
|
368
372
|
this.translate.use(this.language);
|
|
369
373
|
this.translate.reloadLang(this.language);
|
|
370
374
|
}
|
|
@@ -386,7 +390,39 @@ class MessageService {
|
|
|
386
390
|
this.configService = configService;
|
|
387
391
|
this.languageService = languageService;
|
|
388
392
|
this.messages$ = new BehaviorSubject([]);
|
|
393
|
+
this.activeMessageTranslations = [];
|
|
389
394
|
this.options = this.configService.getConfig('message') || {};
|
|
395
|
+
this.languageService.language$.pipe(debounceTime(500)).subscribe(r => {
|
|
396
|
+
if (this.toastr.toasts.length === 0) {
|
|
397
|
+
this.activeMessageTranslations = [];
|
|
398
|
+
}
|
|
399
|
+
this.toastr.toasts.map(toast => {
|
|
400
|
+
const activeMessageTranslation = this.activeMessageTranslations.find(amt => amt.id === toast.toastId);
|
|
401
|
+
if (activeMessageTranslation) {
|
|
402
|
+
const translatedTextInterpolateParams = Object.assign({}, activeMessageTranslation.textInterpolateParams);
|
|
403
|
+
const translatedTitleInterpolateParams = Object.assign({}, activeMessageTranslation.titleInterpolateParams);
|
|
404
|
+
if (activeMessageTranslation.textInterpolateParams) {
|
|
405
|
+
Object.keys(activeMessageTranslation.textInterpolateParams).map(k => {
|
|
406
|
+
translatedTextInterpolateParams[k] =
|
|
407
|
+
this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
if (activeMessageTranslation.titleInterpolateParams) {
|
|
411
|
+
Object.keys(activeMessageTranslation.titleInterpolateParams).map(k => {
|
|
412
|
+
translatedTitleInterpolateParams[k] =
|
|
413
|
+
this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
forkJoin([
|
|
417
|
+
this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
|
|
418
|
+
this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
|
|
419
|
+
]).pipe(first()).subscribe((res) => {
|
|
420
|
+
toast.toastRef.componentInstance.message = res[0];
|
|
421
|
+
toast.toastRef.componentInstance.title = res[1];
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
});
|
|
390
426
|
}
|
|
391
427
|
get toastr() {
|
|
392
428
|
return this.injector.get(ToastrService);
|
|
@@ -396,6 +432,8 @@ class MessageService {
|
|
|
396
432
|
return this.error(httpError.error.message, httpError.error.title);
|
|
397
433
|
}
|
|
398
434
|
message(message) {
|
|
435
|
+
const messageType = message.type;
|
|
436
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
|
|
399
437
|
this.messages$.next(this.messages$.value.concat([message]));
|
|
400
438
|
message.options = message.options || {};
|
|
401
439
|
const currentDate = new Date();
|
|
@@ -408,50 +446,93 @@ class MessageService {
|
|
|
408
446
|
message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
|
|
409
447
|
}
|
|
410
448
|
if (currentDate > message.options.from && currentDate < message.options.to) {
|
|
449
|
+
if (message.showIcon === false) {
|
|
450
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
|
|
451
|
+
}
|
|
411
452
|
message = this.handleTemplate(message);
|
|
412
453
|
if (message.text) {
|
|
413
454
|
let messageShown;
|
|
414
455
|
switch (message.type) {
|
|
415
456
|
case MessageType.SUCCESS:
|
|
416
|
-
messageShown = this.success(message.text, message.title, message.options);
|
|
457
|
+
messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
417
458
|
break;
|
|
418
459
|
case MessageType.ERROR:
|
|
419
|
-
messageShown = this.error(message.text, message.title, message.options);
|
|
460
|
+
messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
420
461
|
break;
|
|
421
462
|
case MessageType.INFO:
|
|
422
|
-
messageShown = this.info(message.text, message.title, message.options);
|
|
463
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
464
|
+
break;
|
|
465
|
+
case MessageType.SHOW:
|
|
466
|
+
messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
423
467
|
break;
|
|
424
468
|
case MessageType.ALERT:
|
|
425
469
|
case MessageType.WARNING:
|
|
426
|
-
messageShown = this.alert(message.text, message.title, message.options);
|
|
470
|
+
messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
427
471
|
break;
|
|
428
472
|
default:
|
|
429
|
-
messageShown = this.info(message.text, message.title, message.options);
|
|
473
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
430
474
|
break;
|
|
431
475
|
}
|
|
432
476
|
message.options.id = messageShown.toastId;
|
|
433
477
|
}
|
|
434
478
|
}
|
|
435
479
|
}
|
|
436
|
-
success(text, title = 'igo.core.message.success', options = {}) {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
480
|
+
success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
481
|
+
return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
482
|
+
}
|
|
483
|
+
error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
484
|
+
return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
440
485
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
const translatedTitle = this.languageService.translate.instant(title);
|
|
444
|
-
return this.toastr.error(message, translatedTitle, options);
|
|
486
|
+
info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
487
|
+
return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
445
488
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
const translatedTitle = this.languageService.translate.instant(title);
|
|
449
|
-
return this.toastr.info(message, translatedTitle, options);
|
|
489
|
+
alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
490
|
+
return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
450
491
|
}
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
492
|
+
show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
493
|
+
return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
494
|
+
}
|
|
495
|
+
handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
496
|
+
const translatedTextInterpolateParams = Object.assign({}, textInterpolateParams);
|
|
497
|
+
const translatedTitlenterpolateParams = Object.assign({}, titleInterpolateParams);
|
|
498
|
+
if (textInterpolateParams) {
|
|
499
|
+
Object.keys(textInterpolateParams).map(k => {
|
|
500
|
+
translatedTextInterpolateParams[k] =
|
|
501
|
+
this.languageService.translate.instant(textInterpolateParams[k]);
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
if (titleInterpolateParams) {
|
|
505
|
+
Object.keys(titleInterpolateParams).map(k => {
|
|
506
|
+
translatedTitlenterpolateParams[k] =
|
|
507
|
+
this.languageService.translate.instant(titleInterpolateParams[k]);
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
|
|
511
|
+
const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
|
|
512
|
+
let activeToast;
|
|
513
|
+
switch (type) {
|
|
514
|
+
case 'success':
|
|
515
|
+
activeToast = this.toastr.success(message, translatedTitle, options);
|
|
516
|
+
break;
|
|
517
|
+
case 'error':
|
|
518
|
+
activeToast = this.toastr.error(message, translatedTitle, options);
|
|
519
|
+
break;
|
|
520
|
+
case 'show':
|
|
521
|
+
case 'info':
|
|
522
|
+
activeToast = this.toastr.info(message, translatedTitle, options);
|
|
523
|
+
break;
|
|
524
|
+
case 'alert':
|
|
525
|
+
activeToast = this.toastr.warning(message, translatedTitle, options);
|
|
526
|
+
break;
|
|
527
|
+
}
|
|
528
|
+
this.activeMessageTranslations.push({
|
|
529
|
+
id: activeToast.toastId,
|
|
530
|
+
titleKey: title,
|
|
531
|
+
textKey: text,
|
|
532
|
+
textInterpolateParams,
|
|
533
|
+
titleInterpolateParams
|
|
534
|
+
});
|
|
535
|
+
return activeToast;
|
|
455
536
|
}
|
|
456
537
|
remove(id) {
|
|
457
538
|
this.toastr.remove(id);
|
|
@@ -496,7 +577,14 @@ class ErrorInterceptor {
|
|
|
496
577
|
constructor(injector) {
|
|
497
578
|
this.injector = injector;
|
|
498
579
|
}
|
|
499
|
-
intercept(
|
|
580
|
+
intercept(originalReq, next) {
|
|
581
|
+
const interceptError = originalReq.headers.get('interceptError');
|
|
582
|
+
const req = originalReq.clone({
|
|
583
|
+
headers: originalReq.headers.delete('interceptError')
|
|
584
|
+
});
|
|
585
|
+
if (interceptError === 'false') {
|
|
586
|
+
return next.handle(req);
|
|
587
|
+
}
|
|
500
588
|
const errorContainer = { httpError: undefined };
|
|
501
589
|
return next.handle(req).pipe(catchError(error => this.handleError(error, errorContainer)), finalize(() => {
|
|
502
590
|
this.handleCaughtError(errorContainer);
|
|
@@ -712,7 +800,7 @@ class LoggingInterceptor {
|
|
|
712
800
|
// Log when response observable either completes or errors
|
|
713
801
|
finalize(() => {
|
|
714
802
|
const elapsed = Date.now() - started;
|
|
715
|
-
const msg = `${req.method} "${req.urlWithParams}"
|
|
803
|
+
const msg = `${req.method} "${req.urlWithParams}"
|
|
716
804
|
${ok} in ${elapsed} ms.`;
|
|
717
805
|
console.log(msg);
|
|
718
806
|
}));
|