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 2729dcad0..c2bab6c7c 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 @@ -37,11 +37,12 @@ export const canRecategorizeAnnotation = (annotation: AnnotationWrapper, canReca ((annotation.isImage && !annotation.isSuggestion) || annotation.isSuggestionRecategorizeImage || annotation.hintDictionary) && !annotation.pending; -export const canResizeAnnotation = (annotation: AnnotationWrapper, canAddRedaction: boolean) => +export const canResizeAnnotation = (annotation: AnnotationWrapper, canAddRedaction: boolean, hasDictionary = false) => canAddRedaction && !annotation.isSkipped && !annotation.pending && (((annotation.isRedacted || annotation.isImage) && !annotation.isSuggestion) || annotation.isSuggestionResize || annotation.isDictBasedHint || - annotation.isRecommendation); + annotation.isRecommendation || + (hasDictionary && annotation.isRuleBased)); 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 87ffb175e..8e8fcb1a2 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -2,6 +2,7 @@ import { IqserPermissionsService } from '@iqser/common-ui'; import { Dictionary } from '@red/domain'; import { Roles } from '@users/roles'; import { isArray } from 'lodash-es'; +import { IMAGE_CATEGORIES } from '../../modules/file-preview/utils/constants'; import { canAcceptRecommendation, canChangeLegalBasis, @@ -16,7 +17,6 @@ import { canUndo, } from './annotation-permissions.utils'; import { AnnotationWrapper } from './annotation.wrapper'; -import { IMAGE_CATEGORIES } from '../../modules/file-preview/utils/constants'; export class AnnotationPermissions { canUndo = true; @@ -60,7 +60,7 @@ export class AnnotationPermissions { permissions.canRemoveRedaction = canRemoveRedaction(annotation, permissions); permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction); permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction); - permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction); + permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction, annotationEntity.hasDictionary); permissions.canEditAnnotations = (annotation.isSkipped || annotation.isRedacted) && !annotation.isImage; permissions.canEditHints = diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 91c88b5bc..a5af43e45 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -197,6 +197,10 @@ export class AnnotationWrapper implements IListable { return !!SuggestionsSuperTypes[this.superType]; } + get isRuleBased() { + return this.engines.includes(LogEntryEngines.RULE); + } + get isSuggestionResize() { return this.superType === SuperTypes.SuggestionResize; }