diff --git a/apps/red-ui/src/app/modules/admin/components/dossier-template-actions/dossier-template-actions.component.ts b/apps/red-ui/src/app/modules/admin/components/dossier-template-actions/dossier-template-actions.component.ts index bd7cc22a0..17f8bd24d 100644 --- a/apps/red-ui/src/app/modules/admin/components/dossier-template-actions/dossier-template-actions.component.ts +++ b/apps/red-ui/src/app/modules/admin/components/dossier-template-actions/dossier-template-actions.component.ts @@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { AppStateService } from '@state/app-state.service'; import { Router } from '@angular/router'; import { AdminDialogService } from '../../services/admin-dialog.service'; -import { CircleButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { CircleButtonTypes, CONFLICT, LoadingService, Toaster } from '@iqser/common-ui'; import { UserService } from '@services/user.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; @@ -57,7 +57,7 @@ export class DossierTemplateActionsComponent implements OnInit { await this._router.navigate(['main', 'admin']); }) .catch(error => { - if (error.status === 409) { + if (error.status === CONFLICT) { this._toaster.error(_('dossier-templates-listing.error.conflict')); } else { this._toaster.error(_('dossier-templates-listing.error.generic')); diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 75fe1ac4e..cfb116a53 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Observable } from 'rxjs'; -import { BaseDialogComponent, shareDistinctLast, Toaster } from '@iqser/common-ui'; +import { BAD_REQUEST, BaseDialogComponent, CONFLICT, shareDistinctLast, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { AppStateService } from '@state/app-state.service'; @@ -105,9 +105,9 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { .toPromise() .then(() => this._dialogRef.close(true)) .catch(error => { - if (error.status === 409) { + if (error.status === CONFLICT) { this._toaster.error(_('add-edit-dictionary.error.dictionary-already-exists')); - } else if (error.status === 400) { + } else if (error.status === BAD_REQUEST) { this._toaster.error(_('add-edit-dictionary.error.invalid-color-or-rank')); } else { this._toaster.error(_('add-edit-dictionary.error.generic')); diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index d39d36831..99cdcff77 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -7,7 +7,7 @@ import { Moment } from 'moment'; import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { downloadTypesTranslations } from '../../../../translations/download-types-translations'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { BaseDialogComponent, CONFLICT_ERROR_CODE, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, CONFLICT, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DownloadFileType, IDossierTemplate } from '@red/domain'; @@ -108,9 +108,7 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { this.dialogRef.close(true); } catch (error: any) { const message = - error.status === CONFLICT_ERROR_CODE - ? _('add-edit-dossier-template.error.conflict') - : _('add-edit-dossier-template.error.generic'); + error.status === CONFLICT ? _('add-edit-dossier-template.error.conflict') : _('add-edit-dossier-template.error.generic'); this._toaster.error(message, { error }); } } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 515a3f642..93c5fc42f 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -1,7 +1,7 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AdminDialogService } from '../../../services/admin-dialog.service'; -import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { CONFLICT, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { rolesTranslations } from '../../../../../translations/roles-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { User } from '@red/domain'; @@ -119,7 +119,7 @@ export class UserDetailsComponent implements OnInit { this.closeDialog.emit(true); }) .catch(error => { - if (error.status === 409) { + if (error.status === CONFLICT) { this._toaster.error(_('add-edit-user.error.email-already-used')); } else { this._toaster.error(_('add-edit-user.error.generic')); diff --git a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts index 7dff45c3b..c7de0bedb 100644 --- a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts @@ -1,7 +1,7 @@ import { Component, OnDestroy } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { lastIndexOfEnd } from '@utils/functions'; -import { AutoUnsubscribe, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { AutoUnsubscribe, BAD_REQUEST, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { RouterHistoryService } from '@services/router-history.service'; @@ -55,7 +55,7 @@ export class DigitalSignatureScreenComponent extends AutoUnsubscribe implements this._toaster.success(_('digital-signature-screen.action.save-success')); }, error => { - if (error.status === 400) { + if (error.status === BAD_REQUEST) { this._toaster.error(_('digital-signature-screen.action.certificate-not-valid-error')); } else { this._toaster.error(_('digital-signature-screen.action.save-error')); diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts index e905389d8..e74eaab38 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts @@ -5,6 +5,7 @@ import { AdminDialogService } from '../../services/admin-dialog.service'; import { DossierTemplate } from '@red/domain'; import { CircleButtonTypes, + CONFLICT, DefaultListingServicesTmp, EntitiesService, IconButtonTypes, @@ -89,7 +90,7 @@ export class DossierTemplatesListingScreenComponent extends ListingComponent { - if (error.status === 409) { + if (error.status === CONFLICT) { this._toaster.error(_('dossier-templates-listing.error.conflict')); } else { this._toaster.error(_('dossier-templates-listing.error.generic')); diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index 3c8e316d5..b7dc65b46 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -3,6 +3,7 @@ import { AppStateService } from '@state/app-state.service'; import { AdminDialogService } from '../../services/admin-dialog.service'; import { CircleButtonTypes, + CONFLICT, DefaultListingServices, IconButtonTypes, ListingComponent, @@ -117,7 +118,8 @@ export class FileAttributesListingScreenComponent extends ListingComponent { - if (error.status === 409) { + console.log('error'); + if (error.status === CONFLICT) { this._toaster.error(_('file-attributes-listing.error.conflict')); } else { this._toaster.error(_('file-attributes-listing.error.generic')); diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts index d834b4d15..d02b6f91e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts @@ -188,7 +188,7 @@ export class DossierOverviewScreenComponent extends ListingComponent imple async ngOnAttach() { await this.ngOnInit(); - this._tableComponent.tableContent.scrollToLastIndex(); + this._tableComponent?.scrollToLastIndex(); } ngOnDetach() { diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/screen/dossiers-listing-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/screen/dossiers-listing-screen.component.ts index 343b79224..873d0e2ea 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/screen/dossiers-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/screen/dossiers-listing-screen.component.ts @@ -78,7 +78,7 @@ export class DossiersListingScreenComponent extends ListingComponent im ngOnAttach(): void { this.ngOnInit(); - this._tableComponent.tableContent.scrollToLastIndex(); + this._tableComponent?.scrollToLastIndex(); } ngOnDetach(): void { diff --git a/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts b/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts index f35fc0c20..c0e18acf8 100644 --- a/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts @@ -11,7 +11,7 @@ import { IResizeRequest, } from '@red/domain'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { CONFLICT_ERROR_CODE, GenericService, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; +import { CONFLICT, GenericService, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; import { map, tap } from 'rxjs/operators'; import { PermissionsService } from '@services/permissions.service'; import { AnnotationActionMode } from '../models/annotation-action-mode.model'; @@ -60,7 +60,7 @@ export class ManualAnnotationService extends GenericService tap( () => this._toaster.success(this._getMessage(mode, modifyDictionary), { positionClass: 'toast-file-preview' }), (error: HttpErrorResponse) => { - const isConflict = error.status === CONFLICT_ERROR_CODE; + const isConflict = error.status === CONFLICT; this._toaster.error(this._getMessage(mode, modifyDictionary, true, isConflict), { error, params: { diff --git a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts index 0a3e0a9ab..3da2b813e 100644 --- a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts +++ b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts @@ -1,5 +1,5 @@ import { Injectable, Injector } from '@angular/core'; -import { EntitiesService, List, mapEach, QueryParam, RequiredParam, shareLast, Toaster, Validate } from '@iqser/common-ui'; +import { CONFLICT, EntitiesService, List, mapEach, QueryParam, RequiredParam, shareLast, Toaster, Validate } from '@iqser/common-ui'; import { Dossier, IDossier, IDossierRequest } from '@red/domain'; import { catchError, filter, map, mapTo, switchMap, tap } from 'rxjs/operators'; import { combineLatest, iif, Observable, of, throwError } from 'rxjs'; @@ -35,7 +35,7 @@ export class DossiersService extends EntitiesService { mapEach(entity => new Dossier(entity)), /* Load stats before updating entities */ switchMap(dossiers => this._dossierStatsService.getFor(dossierIds(dossiers)).pipe(mapTo(dossiers))), - tap(dossiers => this.replace(dossiers)), + tap(dossiers => this.setEntities(dossiers)), ); } @@ -46,7 +46,7 @@ export class DossiersService extends EntitiesService { @Validate() createOrUpdate(@RequiredParam() dossier: IDossierRequest): Observable { const showToast = (error: HttpErrorResponse) => { - this._toaster.error(error.status === 409 ? DOSSIER_EXISTS_MSG : GENERIC_MGS); + this._toaster.error(error.status === CONFLICT ? DOSSIER_EXISTS_MSG : GENERIC_MGS); return throwError(error); }; diff --git a/apps/red-ui/src/app/services/user.service.ts b/apps/red-ui/src/app/services/user.service.ts index 7ffdf7a9c..fe2626696 100644 --- a/apps/red-ui/src/app/services/user.service.ts +++ b/apps/red-ui/src/app/services/user.service.ts @@ -56,7 +56,7 @@ export class UserService extends EntitiesService { const userId = (<{ sub: string }>decoded).sub; const roles = this._keycloakService.getUserRoles(true).filter(role => role.startsWith('RED_')); - this.replace([new User(await this._keycloakService.loadUserProfile(true), roles, userId)]); + this.replace(new User(await this._keycloakService.loadUserProfile(true), roles, userId)); this._currentUser$.next(this.find(userId)); } diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index e70ef2188..5e8bc6c10 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -154,7 +154,7 @@ export class AppStateService { await this._fileAttributesService.getFileAttributesConfig(dossierTemplateId).toPromise(); const newDossierTemplate = new DossierTemplate(dossierTemplate); - this._dossierTemplatesService.replace([newDossierTemplate]); + this._dossierTemplatesService.replace(newDossierTemplate); await this.refreshDossierTemplateDictionaryData(dossierTemplateId); } diff --git a/libs/common-ui b/libs/common-ui index 5b26f76f0..b338dd9ba 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 5b26f76f0e48f4ead6d6f5dfe9a3d76e4a429bfc +Subproject commit b338dd9baa8fd67a83d2f8c5710f8b56b0e360cd