RED-8073: show annotations without type in PDF.

This commit is contained in:
Nicoleta Panaghiu 2023-12-13 13:54:21 +02:00
parent 5d771913dd
commit 023910ce34
6 changed files with 27 additions and 14 deletions

View File

@ -13,7 +13,7 @@ export const canForceRedaction = (annotation: AnnotationWrapper, canAddRedaction
export const canAcceptRecommendation = (annotation: AnnotationWrapper) => annotation.isRecommendation && !annotation.pending;
export const canMarkAsFalsePositive = (annotation: AnnotationWrapper, annotationEntity: Dictionary) =>
annotation.canBeMarkedAsFalsePositive && annotationEntity.hasDictionary;
annotation.canBeMarkedAsFalsePositive && annotationEntity?.hasDictionary;
export const canRemoveOnlyHere = (annotation: AnnotationWrapper, canAddRedaction: boolean) =>
canAddRedaction && !annotation.pending && (annotation.isRedacted || (annotation.isHint && !annotation.isImage));

View File

@ -62,7 +62,7 @@ export class AnnotationPermissions {
permissions.canRemoveRedaction = canRemoveRedaction(annotation, permissions);
permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction);
permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction);
permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction, annotationEntity.hasDictionary);
permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction, annotationEntity?.hasDictionary);
permissions.canEditAnnotations = canEditAnnotation(annotation);
permissions.canEditHints = canEditHint(annotation);
permissions.canEditImages = canEditImage(annotation);

View File

@ -1,9 +1,11 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { IListable } from '@iqser/common-ui';
import {
annotationDefaultColorConfig,
annotationEntityColorConfig,
AnnotationIconType,
ChangeType,
DefaultColors,
Dictionary,
Earmark,
EntityTypes,
@ -213,6 +215,7 @@ export class AnnotationWrapper implements IListable {
changeLogType: ChangeType,
legalBasisList: ILegalBasis[],
isDocumine: boolean,
defaultColors: DefaultColors,
) {
const annotationWrapper = new AnnotationWrapper();
@ -273,10 +276,11 @@ export class AnnotationWrapper implements IListable {
annotationWrapper.isRemoved = logEntry.state === EntryStates.REMOVED;
annotationWrapper.isRemovedLocally = lastRelevantManualChange?.manualRedactionType === ManualRedactionTypes.REMOVE_LOCALLY;
annotationWrapper.typeLabel = dictionary.virtual ? undefined : dictionary.label;
annotationWrapper.typeLabel = dictionary?.virtual ? undefined : dictionary?.label;
const colorKey = annotationEntityColorConfig[annotationWrapper.superType];
annotationWrapper.color = dictionary[colorKey] as string;
const defaultColor = annotationDefaultColorConfig[annotationWrapper.superType];
annotationWrapper.color = dictionary ? (dictionary[colorKey] as string) : (defaultColors[defaultColor] as string);
annotationWrapper['entry'] = logEntry;
return annotationWrapper;

View File

@ -26,8 +26,8 @@ export class ResizeAnnotationDialogComponent extends IqserDialogComponent<
this.close({
comment: formValue.comment,
updateDictionary: this.entity.hasDictionary,
addToAllDossiers: this.entity.hasDictionary,
updateDictionary: this.entity?.hasDictionary,
addToAllDossiers: this.entity?.hasDictionary,
});
}
}

View File

@ -18,6 +18,7 @@ import { firstValueFrom, Observable } from 'rxjs';
import { FilePreviewStateService } from './file-preview-state.service';
import { MultiSelectService } from './multi-select.service';
import { ViewModeService } from './view-mode.service';
import { DefaultColorsService } from '@services/entity-services/default-colors.service';
const DELTA_VIEW_TIME = 10 * 60 * 1000; // 10 minutes;
@ -55,6 +56,7 @@ export class FileDataService extends EntitiesService<AnnotationWrapper, Annotati
private readonly _earmarksService: EarmarksService,
private readonly _multiSelectService: MultiSelectService,
private readonly _filesService: FilesService,
private readonly _defaultColorsService: DefaultColorsService,
) {
super();
this.annotations$ = toObservable(this.#annotations);
@ -167,6 +169,7 @@ export class FileDataService extends EntitiesService<AnnotationWrapper, Annotati
const file = this._state.file();
const annotations: AnnotationWrapper[] = [];
const dictionaries = this._state.dictionaries;
const defaultColors = this._defaultColorsService.find(this._state.dossierTemplateId);
let checkDictionary = true;
for (const entry of entityLog.entityLogEntry) {
@ -207,11 +210,17 @@ export class FileDataService extends EntitiesService<AnnotationWrapper, Annotati
if (!dictionary) {
this.missingTypes.add(entry.type);
continue;
}
const changeType = this.#getChangeLogType(entry, file);
const annotation = AnnotationWrapper.fromData(entry, dictionary, changeType, entityLog.legalBasis ?? [], this.#isDocumine);
const annotation = AnnotationWrapper.fromData(
entry,
dictionary,
changeType,
entityLog.legalBasis ?? [],
this.#isDocumine,
defaultColors,
);
annotations.push(annotation);
}

View File

@ -21,11 +21,11 @@ export class TypeFilterComponent implements OnChanges {
this.filter.metadata?.shortLabel === ''
? ''
: this.filter.id === 'none'
? '-'
: this._needsAnalysisKeys.includes(this.filter.id)
? 'A'
: this.filter.skipTranslation
? this.filter.label.charAt(0)
: this._translateService.instant(this.filter.label).charAt(0);
? '-'
: this._needsAnalysisKeys.includes(this.filter.id)
? 'A'
: this.filter.skipTranslation
? this.filter.label?.charAt(0)
: this._translateService.instant(this.filter.label).charAt(0);
}
}