From ebb3625bcb92895353e1525af57afcce77fe55b8 Mon Sep 17 00:00:00 2001 From: Timo Date: Wed, 24 Feb 2021 17:44:09 +0200 Subject: [PATCH] fixed suggestions for skipped --- .../screens/file/model/annotation.permissions.ts | 13 ++++++++----- .../app/screens/file/model/annotation.wrapper.ts | 3 +++ .../src/app/screens/file/model/file-data.model.ts | 7 ++++++- .../file/pdf-viewer/pdf-viewer.component.html | 2 -- .../screens/file/pdf-viewer/pdf-viewer.component.ts | 7 ------- package.json | 5 ++--- yarn.lock | 8 ++++---- 7 files changed, 23 insertions(+), 22 deletions(-) diff --git a/apps/red-ui/src/app/screens/file/model/annotation.permissions.ts b/apps/red-ui/src/app/screens/file/model/annotation.permissions.ts index 7ba795427..223d1af7c 100644 --- a/apps/red-ui/src/app/screens/file/model/annotation.permissions.ts +++ b/apps/red-ui/src/app/screens/file/model/annotation.permissions.ts @@ -19,16 +19,19 @@ export class AnnotationPermissions { public static forUser(isManagerAndOwner: boolean, user: UserWrapper, annotation: AnnotationWrapper) { const permissions: AnnotationPermissions = new AnnotationPermissions(); - permissions.canUndo = annotation.isUndoableSuperType && (annotation.userId === user.id || (annotation.userId && isManagerAndOwner)); + permissions.canUndo = + annotation.isUndoableSuperType && (annotation.userId === user.id || (annotation.userId && isManagerAndOwner && !annotation.isSuggestion)); + permissions.canForceRedaction = annotation.isSkipped && !permissions.canUndo; permissions.canAcceptRecommendation = annotation.isRecommendation; - permissions.canMarkAsFalsePositive = annotation.canBeMarkedAsFalsePositive; - permissions.canMarkTextOnlyAsFalsePositive = annotation.canBeMarkedAsFalsePositiveWithTextOnly; + permissions.canMarkAsFalsePositive = annotation.canBeMarkedAsFalsePositive && !annotation.force; + permissions.canMarkTextOnlyAsFalsePositive = annotation.canBeMarkedAsFalsePositiveWithTextOnly && !annotation.force; - permissions.canRemoveOrSuggestToRemoveOnlyHere = annotation.isRedacted; - permissions.canRemoveOrSuggestToRemoveFromDictionary = annotation.isRedacted && !annotation.isManualRedaction && annotation.isModifyDictionary; + permissions.canRemoveOrSuggestToRemoveOnlyHere = annotation.isRedacted && !annotation.force; + permissions.canRemoveOrSuggestToRemoveFromDictionary = + annotation.isRedacted && !annotation.isManualRedaction && annotation.isModifyDictionary && !annotation.force; permissions.canAcceptSuggestion = isManagerAndOwner && (annotation.isSuggestion || annotation.isDeclinedSuggestion); permissions.canRejectSuggestion = diff --git a/apps/red-ui/src/app/screens/file/model/annotation.wrapper.ts b/apps/red-ui/src/app/screens/file/model/annotation.wrapper.ts index 678b69923..ec19d9dae 100644 --- a/apps/red-ui/src/app/screens/file/model/annotation.wrapper.ts +++ b/apps/red-ui/src/app/screens/file/model/annotation.wrapper.ts @@ -36,6 +36,8 @@ export class AnnotationWrapper { positions: Rectangle[]; recommendationType: string; + force?: boolean; + textAfter?: string; textBefore?: string; @@ -168,6 +170,7 @@ export class AnnotationWrapper { const annotationWrapper = new AnnotationWrapper(); annotationWrapper.annotationId = redactionLogEntry.id; + annotationWrapper.force = redactionLogEntry.force; annotationWrapper.isChangeLogEntry = redactionLogEntry.isChangeLogEntry; annotationWrapper.changeLogType = redactionLogEntry.changeLogType; annotationWrapper.redaction = redactionLogEntry.redacted; diff --git a/apps/red-ui/src/app/screens/file/model/file-data.model.ts b/apps/red-ui/src/app/screens/file/model/file-data.model.ts index 1381e4bfb..9655eb8ac 100644 --- a/apps/red-ui/src/app/screens/file/model/file-data.model.ts +++ b/apps/red-ui/src/app/screens/file/model/file-data.model.ts @@ -102,11 +102,16 @@ export class FileDataModel { }); this.manualRedactions.forceRedactions.forEach((forceRedaction) => { + const relevantRedactionLogEntry = result.find((r) => r.id === forceRedaction.id); + if (forceRedaction.status === 'DECLINED') { + relevantRedactionLogEntry.status = 'DECLINED'; + relevantRedactionLogEntry.userId = forceRedaction.user; + relevantRedactionLogEntry.dictionaryEntry = false; + relevantRedactionLogEntry.force = true; return; } - const relevantRedactionLogEntry = result.find((r) => r.id === forceRedaction.id); // an entry for this request already exists in the redactionLog if (!!relevantRedactionLogEntry) { relevantRedactionLogEntry.userId = forceRedaction.user; diff --git a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.html b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.html index 36cb89b06..af7ce7b13 100644 --- a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.html +++ b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.html @@ -1,5 +1,3 @@
- -
diff --git a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts index 1bcca9675..6550239ee 100644 --- a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts +++ b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts @@ -37,8 +37,6 @@ import Tool = Tools.Tool; export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges { private _selectedText = ''; - public searching = false; - @Input() fileData: Blob; @Input() fileStatus: FileStatusWrapper; @Input() canPerformActions = false; @@ -116,11 +114,6 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges { } }); - instance.docViewer.on('searchInProgress', (inProgress) => { - this.searching = inProgress; - this._changeDetectorRef.detectChanges(); - }); - instance.docViewer.on('pageNumberUpdated', (p) => { if (this.shouldDeselectAnnotationsOnPageChange) { this.instance.annotManager.deselectAllAnnotations(); diff --git a/package.json b/package.json index 8c745497b..36b0c3ddc 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@ngx-translate/core": "^13.0.0", "@ngx-translate/http-loader": "^6.0.0", "@nrwl/angular": "^10.2.0", - "@pdftron/webviewer": "^7.2.0", + "@pdftron/webviewer": "7.3.0-20210223", "@swimlane/ngx-charts": "^17.0.0", "file-saver": "^2.0.2", "jwt-decode": "^3.0.0", @@ -62,8 +62,7 @@ "ngx-dropzone": "^2.2.2", "ngx-toastr": "^13.0.0", "rxjs": "~6.6.0", - "scroll-into-view-if-needed": "^2.2.26", - "streamsaver": "^2.0.5", + "scroll-into-view-if-needed": "^2.2.26","streamsaver": "^2.0.5", "tslib": "^2.0.0", "zone.js": "~0.10.2" }, diff --git a/yarn.lock b/yarn.lock index 6ae583b27..d2c2ccc8b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2245,10 +2245,10 @@ tmp "0.0.33" yargs "15.4.1" -"@pdftron/webviewer@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-7.2.0.tgz#2e81f09cc5c58fa4f4ac231821b7512d5efd4879" - integrity sha512-Nh2O1Gb/H02q3VMwIJQMZNpfBHQ7Te/Cnpz+bu9Pyn9cibHboSZIZ2PJAeYzrzR1P70JWORrAHFL6AvH0JrDoA== +"@pdftron/webviewer@7.3.0-20210223": + version "7.3.0-20210223" + resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-7.3.0-20210223.tgz#be8427ed67069a8700f78142452d654bd41e997d" + integrity sha512-7DRGNmB2uRSFceyVmi4eXrm14XVxSNCUAGzxwsngE4Fuv2RAenejvNUrtOa1WsGmR9j9MQTwWfx4ji077WxldA== "@rollup/plugin-commonjs@^15.0.0": version "15.1.0"