@n-isi-platform/design-system 1.0.15 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Input, Output, Component, SecurityContext, HostListener, ViewChild, ChangeDetectionStrategy, forwardRef } from '@angular/core';
2
+ import { Injectable, inject, EventEmitter, Input, Output, Component, SecurityContext, HostListener, ViewChild, ChangeDetectionStrategy, forwardRef } from '@angular/core';
3
3
  import * as i1 from '@angular/router';
4
- import { BehaviorSubject, throwError, of, interval, firstValueFrom, Subscription, take } from 'rxjs';
4
+ import { Router } from '@angular/router';
5
+ import * as i1$2 from '@ngx-translate/core';
6
+ import { TranslateService, TranslateModule } from '@ngx-translate/core';
7
+ import { BehaviorSubject, throwError, interval, firstValueFrom, Subscription, take } from 'rxjs';
5
8
  import { catchError } from 'rxjs/operators';
6
9
  import * as i1$1 from 'primeng/api';
7
10
  import { PrimeTemplate, ConfirmEventType } from 'primeng/api';
8
- import * as i1$2 from '@ngx-translate/core';
9
- import { TranslateModule } from '@ngx-translate/core';
10
11
  import * as i1$4 from '@angular/forms';
11
12
  import { FormsModule, ReactiveFormsModule, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
12
13
  import * as i1$3 from 'primeng/accordion';
@@ -352,81 +353,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
352
353
  }]
353
354
  }], ctorParameters: () => [] });
354
355
 
355
- /**
356
- * 2024-07-04 Mare:
357
- * pustil samo ta generalni error.interceptor v design-system, prej je bil za backoffice posebej
358
- * * loči se preko this.injector.get('ENVIRONMENT') === 'backoffice' oz. 'public'
359
- */
360
- class ErrorInterceptor {
361
- messageService;
362
- translateService;
363
- localStorageService;
364
- router;
365
- injector;
366
- constructor(messageService, translateService, localStorageService, router, injector) {
367
- this.messageService = messageService;
368
- this.translateService = translateService;
369
- this.localStorageService = localStorageService;
370
- this.router = router;
371
- this.injector = injector;
372
- }
373
- intercept(httpRequest, next) {
374
- return next.handle(httpRequest).pipe(catchError((err) => {
375
- if (err.status === 401) {
376
- this.messageService.add({
377
- key: 'notification',
378
- severity: 'error',
379
- summary: this.translateService?.instant('errors.jwtTokenExpired'),
380
- life: 5000
381
- });
382
- this.localStorageService.removeItem('userData');
383
- // backoffice vs public: preveže na različen url
384
- this.injector.get('ENVIRONMENT') === 'backoffice' ?
385
- this.router.navigateByUrl('/login') : this.router.navigateByUrl('/sl');
386
- }
387
- else if (err.status === 403) {
388
- this.router.navigate([""]);
389
- }
390
- else {
391
- // Seznam end-pointov pri katerih se error ne prikaže.
392
- const whiteListEndPoints = ["preveri-nove-dokumente-v-krpanu", "preveri-nove-zadeve-v-krpanu"];
393
- let displayError = true;
394
- whiteListEndPoints.forEach(item => {
395
- if (err.url?.includes(item)) {
396
- displayError = false;
397
- }
398
- });
399
- if (displayError) {
400
- // Mapping of error codes and their corresponding translation keys
401
- const errorTranslationKeyMapping = {
402
- 'VE-0001': 'errors.timeslotNotAvailable',
403
- 'VE-0002': 'errors.jwtTokenExpired',
404
- 'VE-0003': 'errors.unauthorizedRole',
405
- 'VE-0007': 'errors.applicationNotFound',
406
- };
407
- const translationKey = errorTranslationKeyMapping[err.error] || 'errors.thereWasAnError';
408
- // If error message exists in the response display it, otherwise take error message from error code
409
- const errorMessage = err.error.message ? err.error.message : this.translateService?.instant(translationKey);
410
- // ES-307; 2024-07-02: Mare; dodajanje kode napake uporabniku
411
- const errorCode = err.error?.code ? `${this.translateService.instant('errors.errorCode')} ${err.error.code}` : '';
412
- this.messageService.add({
413
- key: 'notification',
414
- severity: 'error',
415
- summary: `${errorMessage} ${errorCode}`,
416
- life: 5000
417
- });
418
- }
419
- }
420
- return throwError(() => new Error(err.error?.error?.message + '\n' + err.message));
421
- }));
422
- }
423
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1$1.MessageService }, { token: i1$2.TranslateService }, { token: LocalStorageService }, { token: i1.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
424
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor });
425
- }
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor, decorators: [{
427
- type: Injectable
428
- }], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i1$2.TranslateService }, { type: LocalStorageService }, { type: i1.Router }, { type: i0.Injector }] });
429
-
430
356
  class SharedAuthService {
431
357
  router;
432
358
  localStorageService;
@@ -484,35 +410,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
484
410
  }]
485
411
  }], ctorParameters: () => [{ type: i1.Router }, { type: LocalStorageService }] });
486
412
 
487
- class JwtInterceptor {
488
- localStorageService;
489
- sharedAuthService;
490
- constructor(localStorageService, sharedAuthService) {
491
- this.localStorageService = localStorageService;
492
- this.sharedAuthService = sharedAuthService;
413
+ class SharedMessageService {
414
+ messageService;
415
+ translateService;
416
+ constructor(messageService, translateService) {
417
+ this.messageService = messageService;
418
+ this.translateService = translateService;
493
419
  }
494
- intercept(request, next) {
495
- return next.handle(request).pipe(catchError((error) => {
496
- if (error.status === 401) {
497
- this.sharedAuthService.logout();
498
- console.error('Your session has expired. Please log in again.');
499
- return of();
420
+ successMessage(message) {
421
+ this.messageService.add({
422
+ key: 'notification',
423
+ severity: 'success',
424
+ summary: message ? message : this.translateService.instant('common.akcijaUspesna'),
425
+ life: 6000,
426
+ });
427
+ }
428
+ errorMessage(message) {
429
+ this.messageService.add({
430
+ key: 'notification',
431
+ severity: 'error',
432
+ summary: message ? message : this.translateService.instant("errors.thereWasAnError"),
433
+ life: 5000
434
+ });
435
+ }
436
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, deps: [{ token: i1$1.MessageService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
437
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, providedIn: 'root' });
438
+ }
439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, decorators: [{
440
+ type: Injectable,
441
+ args: [{
442
+ providedIn: 'root',
443
+ }]
444
+ }], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i1$2.TranslateService }] });
445
+
446
+ /**
447
+ * 2024-07-04 Mare:
448
+ * pustil samo ta generalni error.interceptor v design-system, prej je bil za backoffice posebej
449
+ * * loči se preko this.injector.get('ENVIRONMENT') === 'backoffice' oz. 'public'
450
+ */
451
+ class ErrorInterceptor {
452
+ sharedAuthService = inject(SharedAuthService);
453
+ sharedMessageService = inject(SharedMessageService);
454
+ translateService = inject(TranslateService);
455
+ router = inject(Router);
456
+ constructor() { }
457
+ intercept(httpRequest, next) {
458
+ return next.handle(httpRequest).pipe(catchError((err) => {
459
+ if (err.status === 401) {
460
+ if (err?.error?.errorCode == 2056) {
461
+ this.sharedMessageService.errorMessage(this.translateService?.instant('errors.deactivatedAccount'));
462
+ this.sharedAuthService.logout();
463
+ }
464
+ else {
465
+ this.sharedMessageService.errorMessage(this.translateService?.instant('errors.jwtTokenExpired'));
466
+ this.sharedAuthService.logout();
467
+ }
500
468
  }
501
- // JWT malformed: če npr. spremeniš jwt token
502
- else if (error.status === 500 && error.error.message && error.error.message.includes('JWT')) {
469
+ else if (err.status === 500 && err.error.message && err.error.message.includes('JWT')) {
470
+ // JWT malformed: če npr. spremeniš jwt token
503
471
  this.sharedAuthService.logout();
504
472
  console.error('Invalid session detected. Please log in again.');
505
- return of();
506
473
  }
507
- return throwError(() => error);
474
+ else if (err.status === 403) {
475
+ this.router.navigate([""]);
476
+ }
477
+ else {
478
+ // Seznam end-pointov pri katerih se error ne prikaže.
479
+ const whiteListEndPoints = ["preveri-nove-dokumente-v-krpanu", "preveri-nove-zadeve-v-krpanu"];
480
+ let displayError = true;
481
+ whiteListEndPoints.forEach(item => {
482
+ if (err.url?.includes(item)) {
483
+ displayError = false;
484
+ }
485
+ });
486
+ if (displayError) {
487
+ // Mapping of error codes and their corresponding translation keys
488
+ const errorTranslationKeyMapping = {
489
+ 'VE-0001': 'errors.timeslotNotAvailable',
490
+ 'VE-0002': 'errors.jwtTokenExpired',
491
+ 'VE-0003': 'errors.unauthorizedRole',
492
+ 'VE-0007': 'errors.applicationNotFound',
493
+ };
494
+ const translationKey = errorTranslationKeyMapping[err.error] || 'errors.thereWasAnError';
495
+ // If error message exists in the response display it, otherwise take error message from error code
496
+ const errorMessage = err.error.message ? err.error.message : this.translateService?.instant(translationKey);
497
+ // ES-307; 2024-07-02: Mare; dodajanje kode napake uporabniku
498
+ const errorCode = err.error?.code ? `${this.translateService.instant('errors.errorCode')} ${err.error.code}` : '';
499
+ this.sharedMessageService.errorMessage(`${errorMessage} ${errorCode}`);
500
+ }
501
+ }
502
+ return throwError(() => new Error(err.error?.error?.message + '\n' + err.message));
508
503
  }));
509
504
  }
510
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: JwtInterceptor, deps: [{ token: LocalStorageService }, { token: SharedAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
511
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: JwtInterceptor });
505
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
506
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor });
512
507
  }
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: JwtInterceptor, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor, decorators: [{
514
509
  type: Injectable
515
- }], ctorParameters: () => [{ type: LocalStorageService }, { type: SharedAuthService }] });
510
+ }], ctorParameters: () => [] });
516
511
 
517
512
  var ButtonColor;
518
513
  (function (ButtonColor) {
@@ -2560,39 +2555,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2560
2555
  type: Output
2561
2556
  }] } });
2562
2557
 
2563
- class SharedMessageService {
2564
- messageService;
2565
- translateService;
2566
- constructor(messageService, translateService) {
2567
- this.messageService = messageService;
2568
- this.translateService = translateService;
2569
- }
2570
- successMessage(message) {
2571
- this.messageService.add({
2572
- key: 'notification',
2573
- severity: 'success',
2574
- summary: message ? message : this.translateService.instant('common.akcijaUspesna'),
2575
- life: 6000,
2576
- });
2577
- }
2578
- errorMessage(message) {
2579
- this.messageService.add({
2580
- key: 'notification',
2581
- severity: 'error',
2582
- summary: message ? message : this.translateService.instant("errors.thereWasAnError"),
2583
- life: 5000
2584
- });
2585
- }
2586
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, deps: [{ token: i1$1.MessageService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
2587
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, providedIn: 'root' });
2588
- }
2589
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: SharedMessageService, decorators: [{
2590
- type: Injectable,
2591
- args: [{
2592
- providedIn: 'root',
2593
- }]
2594
- }], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i1$2.TranslateService }] });
2595
-
2596
2558
  class FileUploadComponent {
2597
2559
  config;
2598
2560
  sharedMessageService;
@@ -4209,5 +4171,5 @@ function emailListValidator() {
4209
4171
  * Generated bundle index. Do not edit.
4210
4172
  */
4211
4173
 
4212
- export { AccordionComponent, AppConfigService, AutocompleteComponent, BreadcrumbsComponent, ButtonColor, ButtonComponent, ButtonIconPosition, ButtonLinkComponent, ButtonSize, CacheService, CaptionColor, CardComponent, CheckboxComponent, ConfirmModalComponent, ConfirmModalService, CustomTableComponent, DateInputComponent, DateService, DialogColor, DividerComponent, DropdownComponent, DynamicRouteService, ErrorComponent, ErrorInterceptor, ExpandedTable, ExpandedTableComponent, ExportService, FileUploadComponent, FilterHeaderComponent, FilterHeaderService, FooterComponent, GenericTableComponent, GlobalErrorHandler, IconButtonComponent, InputComponent, InputMaskComponent, InputType, IsNotBlank, IsNotDecimal, JwtInterceptor, LoaderComponent, LocalStorageService, MainMenuComponent, ModalComponent, NavbarComponent, NoDataFoundComponent, NoInternetService, PicklistComponent, PositionKey, ProgressBarComponent, SelectionMode, SharedAuthService, SharedMessageService, TableColumnSelectComponent, TableColumnsService, TagColor, TagComponent, TextareaComponent, TinymceEditorComponent, ToastSeverity, ToggleSwitchComponent, TooltipComponent, TooltipHoverEventEnum, TooltipPosition, TranslateSanitizerService, TranslationService, TreeSelectComponent, atLeastOneFieldPresentValidator, cleanMobilePhoneNumber, coordinateValidator, dateAndTimeMismatchValidator, dateMismatchValidator, emailListValidator, findUnavailableDates, formatDate, formatDateTime, formatDateToLocalISOString, getTomorrowDate, isEmpty, isFormInvalid, isMultipleOfFiveValidator, isOnePhoneNumberValidator, localFormatDate, mobilePhoneAreaCodeValidator, transformDateTime };
4174
+ export { AccordionComponent, AppConfigService, AutocompleteComponent, BreadcrumbsComponent, ButtonColor, ButtonComponent, ButtonIconPosition, ButtonLinkComponent, ButtonSize, CacheService, CaptionColor, CardComponent, CheckboxComponent, ConfirmModalComponent, ConfirmModalService, CustomTableComponent, DateInputComponent, DateService, DialogColor, DividerComponent, DropdownComponent, DynamicRouteService, ErrorComponent, ErrorInterceptor, ExpandedTable, ExpandedTableComponent, ExportService, FileUploadComponent, FilterHeaderComponent, FilterHeaderService, FooterComponent, GenericTableComponent, GlobalErrorHandler, IconButtonComponent, InputComponent, InputMaskComponent, InputType, IsNotBlank, IsNotDecimal, LoaderComponent, LocalStorageService, MainMenuComponent, ModalComponent, NavbarComponent, NoDataFoundComponent, NoInternetService, PicklistComponent, PositionKey, ProgressBarComponent, SelectionMode, SharedAuthService, SharedMessageService, TableColumnSelectComponent, TableColumnsService, TagColor, TagComponent, TextareaComponent, TinymceEditorComponent, ToastSeverity, ToggleSwitchComponent, TooltipComponent, TooltipHoverEventEnum, TooltipPosition, TranslateSanitizerService, TranslationService, TreeSelectComponent, atLeastOneFieldPresentValidator, cleanMobilePhoneNumber, coordinateValidator, dateAndTimeMismatchValidator, dateMismatchValidator, emailListValidator, findUnavailableDates, formatDate, formatDateTime, formatDateToLocalISOString, getTomorrowDate, isEmpty, isFormInvalid, isMultipleOfFiveValidator, isOnePhoneNumberValidator, localFormatDate, mobilePhoneAreaCodeValidator, transformDateTime };
4213
4175
  //# sourceMappingURL=n-isi-platform-design-system.mjs.map