From d2394452e81fdb9ed453d41b16789afd48e0925b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 19 Oct 2021 20:10:22 +0300 Subject: [PATCH] RED-2424: Add stopword error toast --- ...-edit-dossier-attribute-dialog.component.ts | 2 +- .../services/manual-annotation.service.ts | 18 ++++++++++++------ .../annotation-actions-translations.ts | 3 ++- apps/red-ui/src/assets/i18n/en.json | 2 +- libs/common-ui | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts index 31da50fd9..258c0050e 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts @@ -71,7 +71,7 @@ export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribe impl }, (error: HttpErrorResponse) => { this._loadingService.stop(); - this._toaster.error(_('add-edit-dossier-attribute.error.generic'), { error: error }); + this._toaster.error(_('add-edit-dossier-attribute.error.generic'), { error }); }, ); } 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 a3ac0dac7..e3548915f 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 { RemoveRedactionRequest, } from '@redaction/red-ui-http'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { ErrorMessageService, GenericService, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; +import { CONFLICT_ERROR_CODE, ErrorMessageService, GenericService, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { tap } from 'rxjs/operators'; import { UserService } from '@services/user.service'; @@ -20,6 +20,7 @@ import { AnnotationActionMode } from '../models/annotation-action-mode.model'; import { annotationActionsTranslations } from '../translations/annotation-actions-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { HttpErrorResponse } from '@angular/common/http'; @Injectable() export class ManualAnnotationService extends GenericService { @@ -63,9 +64,14 @@ export class ManualAnnotationService extends GenericService { return obs.pipe( tap( () => this._toaster.success(this._getMessage(mode, modifyDictionary), { positionClass: 'toast-file-preview' }), - error => { - this._toaster.error(this._getMessage(mode, modifyDictionary, true), { - params: { error: this._errorMessageService.getMessage(error) }, + (error: HttpErrorResponse) => { + const isConflict = error.status === CONFLICT_ERROR_CODE; + this._toaster.error(this._getMessage(mode, modifyDictionary, true, isConflict), { + error, + params: { + dictionaryName: this._appStateService.getDictionaryTypeValue(body.type).label, + content: body.value, + }, positionClass: 'toast-file-preview', }); }, @@ -318,9 +324,9 @@ export class ManualAnnotationService extends GenericService { return this._post(body, url); } - private _getMessage(mode: AnnotationActionMode, modifyDictionary?: boolean, error: boolean = false) { + private _getMessage(mode: AnnotationActionMode, modifyDictionary?: boolean, error = false, isConflict = false) { const type = modifyDictionary ? 'dictionary' : 'manual-redaction'; - const resultType = error ? 'error' : 'success'; + const resultType = error ? (isConflict ? 'conflictError' : 'error') : 'success'; return annotationActionsTranslations[type][mode][resultType]; } } diff --git a/apps/red-ui/src/app/modules/dossier/translations/annotation-actions-translations.ts b/apps/red-ui/src/app/modules/dossier/translations/annotation-actions-translations.ts index 987cda37b..2910794ae 100644 --- a/apps/red-ui/src/app/modules/dossier/translations/annotation-actions-translations.ts +++ b/apps/red-ui/src/app/modules/dossier/translations/annotation-actions-translations.ts @@ -1,7 +1,7 @@ import { AnnotationActionMode } from '../models/annotation-action-mode.model'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -type ActionType = { [key in AnnotationActionMode]?: { error: string; success: string } }; +type ActionType = { [key in AnnotationActionMode]?: { error: string; success: string; conflictError?: string } }; export const annotationActionsTranslations: { dictionary: ActionType; @@ -10,6 +10,7 @@ export const annotationActionsTranslations: { dictionary: { add: { error: _('annotation-actions.message.dictionary.add.error'), + conflictError: _('annotation-actions.message.dictionary.add.conflict-error'), success: _('annotation-actions.message.dictionary.add.success'), }, approve: { diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index fa152ff18..f54b440f1 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -150,6 +150,7 @@ "message": { "dictionary": { "add": { + "conflict-error": "Cannot add ''{content}'' to the {dictionaryName} dictionary because it was recognized as a general term that appears too often in texts.", "error": "Failed to add entry to dictionary: {error}", "success": "Entry added to dictionary. Changes will be visible after reanalysis." }, @@ -1210,7 +1211,6 @@ }, "end-user-license-text": "The use of this product is subject to the terms of the Redaction End User Agreement, unless otherwise specified therein.", "end-user-license-title": "End User License Agreement", - "frontend-version": "Frontend Application Version", "licensed-page-count": "Number of licensed pages", "licensed-to": "Licensed to", "licensing-details": "Licensing Details", diff --git a/libs/common-ui b/libs/common-ui index 127c47576..dfd4a420c 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 127c47576b6b93f7cdbaabc5fd8d27a4bfc3680c +Subproject commit dfd4a420c8911bfac6c2ffe94247dd2b378d5bc5