diff --git a/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts b/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts index 516445c5b..77addc55a 100644 --- a/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts +++ b/apps/red-ui/src/app/models/file/annotation-permissions.utils.ts @@ -34,9 +34,9 @@ export const canRemoveRedaction = (annotations: AnnotationWrapper[], permissions export const canChangeLegalBasis = (annotation: AnnotationWrapper, canAddRedaction: boolean) => canAddRedaction && annotation.isRedacted && !annotation.pending; -export const canRecategorizeImage = (annotation: AnnotationWrapper, canRecategorize: boolean) => +export const canRecategorizeAnnotation = (annotation: AnnotationWrapper, canRecategorize: boolean) => canRecategorize && - ((annotation.isImage && !annotation.isSuggestion) || annotation.isSuggestionRecategorizeImage) && + ((annotation.isImage && !annotation.isSuggestion) || annotation.isSuggestionRecategorizeImage || annotation.hintDictionary) && !annotation.pending; export const canResizeAnnotation = (annotation: AnnotationWrapper, canAddRedaction: boolean) => diff --git a/apps/red-ui/src/app/models/file/annotation.permissions.ts b/apps/red-ui/src/app/models/file/annotation.permissions.ts index fdfe2b954..50ea54fb6 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -9,7 +9,7 @@ import { canForceHint, canForceRedaction, canMarkAsFalsePositive, - canRecategorizeImage, + canRecategorizeAnnotation, canRemoveFromDictionary, canRemoveOnlyHere, canRemoveRedaction, @@ -27,7 +27,7 @@ export class AnnotationPermissions { canForceRedaction = true; canChangeLegalBasis = true; canResizeAnnotation = true; - canRecategorizeImage = true; + canRecategorizeAnnotation = true; canForceHint = true; static forUser( @@ -56,7 +56,7 @@ export class AnnotationPermissions { permissions.canRemoveFromDictionary = canRemoveFromDictionary(annotation); permissions.canRemoveRedaction = canRemoveRedaction(annotations, permissions); permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction); - permissions.canRecategorizeImage = canRecategorizeImage(annotation, canAddRedaction); + permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction); permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction); summedPermissions._merge(permissions); diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.html index 5f6814da6..cb5b3a1f0 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.html @@ -35,7 +35,7 @@ - - - - - - - - -
@@ -30,28 +36,29 @@ - + + +
+ + + + + {{ option.label }} + + + +
-
- - - - - {{ option.label }} - - - -
- -
- - -
+
+ + +
+
@@ -73,7 +80,7 @@
[] | undefined; legalOptions: LegalBasisOption[] = []; dictionaries: Dictionary[] = []; form: UntypedFormGroup; readonly #initialType: string; readonly #initialReason: string; - #applyToAllDossiers: boolean; readonly #dossier: Dossier; + #applyToAllDossiers: boolean; + constructor( private readonly _justificationsService: JustificationsService, private readonly _activeDossiersService: ActiveDossiersService, @@ -53,21 +55,23 @@ export class EditRedactionDialogComponent this.#initialType = firstEntry.type; this.isModifyDictionary = firstEntry.isModifyDictionary; this.isManualRedaction = firstEntry.type === SuperTypes.ManualRedaction; + this.isHint = firstEntry.isHint; + this.showLegalReason = !(firstEntry.isSkipped || firstEntry.isHint); this.form = this.#getForm(); + console.log(firstEntry); - this.form.valueChanges - .pipe( - tap(value => { - const reasonChanged = this.#initialReason !== value?.reason?.legalBasis; - const typeChanged = this.#initialType !== value?.type; - if (typeChanged || reasonChanged) { - this.#setOptions(value.type, reasonChanged); - } - }), - takeUntilDestroyed(), - ) - // eslint-disable-next-line rxjs/no-ignored-subscription - .subscribe(); + // this.form.valueChanges + // .pipe( + // tap(value => { + // const reasonChanged = this.#initialReason !== value?.reason?.legalBasis; + // const typeChanged = this.#initialType !== value?.type; + // if (typeChanged || reasonChanged) { + // this.#setOptions(value.type, reasonChanged); + // } + // }), + // takeUntilDestroyed(), + // ) + // .subscribe(); } get displayedDictionaryLabel() { @@ -107,7 +111,7 @@ export class EditRedactionDialogComponent const value = this.form.value; this.dialogRef.close({ typeChanged: this.#initialType !== value.type, - legalBasis: value.reason.legalBasis, + legalBasis: value.reason?.legalBasis ?? null, section: value.section, comment: value.comment, type: value.type, diff --git a/apps/red-ui/src/app/modules/file-preview/services/pdf-annotation-actions.service.ts b/apps/red-ui/src/app/modules/file-preview/services/pdf-annotation-actions.service.ts index 680ca13b5..238727638 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/pdf-annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/pdf-annotation-actions.service.ts @@ -51,20 +51,13 @@ export class PdfAnnotationActionsService { availableActions.push(resizeButton); } - if (permissions.canChangeLegalBasis || permissions.canRecategorizeImage) { + if (permissions.canChangeLegalBasis || permissions.canRecategorizeAnnotation) { const editButton = this.#getButton('edit', _('annotation-actions.edit-redaction.label'), () => this.#annotationActionsService.editRedaction(annotations), ); availableActions.push(editButton); } - // if (permissions.canRecategorizeImage) { - // const recategorizeButton = this.#getButton('thumb-down', _('annotation-actions.recategorize-image'), () => - // this.#annotationActionsService.editRedaction(annotations), - // ); - // availableActions.push(recategorizeButton); - // } - if (permissions.canAcceptRecommendation) { const acceptRecommendationButton = this.#getButton('check', _('annotation-actions.accept-recommendation.label'), () => this.#annotationActionsService.convertRecommendationToAnnotation(annotations), @@ -113,7 +106,7 @@ export class PdfAnnotationActionsService { return { canResize: permissions.length === 1 && permissions[0].canResizeAnnotation, canChangeLegalBasis: permissions.reduce((acc, next) => acc && next.canChangeLegalBasis, true), - canRecategorizeImage: permissions.reduce((acc, next) => acc && next.canRecategorizeImage, true), + canRecategorizeAnnotation: permissions.reduce((acc, next) => acc && next.canRecategorizeAnnotation, true), canRemoveFromDictionary: permissions.reduce((acc, next) => acc && next.canRemoveFromDictionary, true), canAcceptRecommendation: permissions.reduce((acc, next) => acc && next.canAcceptRecommendation, true), canMarkAsFalsePositive: permissions.reduce((acc, next) => acc && next.canMarkAsFalsePositive, true), diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 61652dca4..402f8d048 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -1234,7 +1234,8 @@ "type": "" }, "title-edit-image": "", - "title-edit-text": "" + "title-edit-text": "", + "title-hint": "" } }, "entities-listing": { diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 84402e32d..a247f485b 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1234,7 +1234,8 @@ "type": "Type" }, "title-edit-image": "Edit image redaction", - "title-edit-text": "Edit redaction" + "title-edit-text": "Edit redaction", + "title-hint": "Edit hint" } }, "entities-listing": { diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 98d1522a1..3bed22f37 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -1234,7 +1234,8 @@ "type": "" }, "title-edit-image": "", - "title-edit-text": "" + "title-edit-text": "", + "title-hint": "" } }, "entities-listing": { diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index a31b8bebd..9bdf482ce 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -1234,7 +1234,8 @@ "type": "Type" }, "title-edit-image": "", - "title-edit-text": "Edit annotation" + "title-edit-text": "Edit annotation", + "title-hint": "" } }, "entities-listing": {