From 9b31acf92328c425fac49e743f213628cf34bb1c Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 8 Dec 2022 14:44:08 +0100 Subject: [PATCH 01/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3382 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d848c7897..3eefea9f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.813.0", + "version": "3.814.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 8dd5cb2ab..48841e3d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.813.0", + "version": "3.814.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 25eb9ec3e98433aa0617f3d88680cf7b5baf88d2..b39662328e061a5edd92c69c23a0b9c0eb378670 100644 GIT binary patch delta 3297 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 From 16ee20ed485920efc7d2aa430555ef0ce786a8b1 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Thu, 8 Dec 2022 15:44:21 +0200 Subject: [PATCH 02/32] RED-5701 - Disable OCR button for files that are not yet initially analyzed --- .../modules/pdf-viewer/services/viewer-header.service.ts | 2 +- libs/red-domain/src/lib/files/file.model.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts index 8cfb3cf89..bc905600b 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts @@ -249,7 +249,7 @@ export class ViewerHeaderService { header.getItems().splice(10, header.getItems().length - 14, ...enabledItems); }); - this._pdf.instance.UI.updateElement('selectToolButton', { + this._pdf.instance?.UI.updateElement('selectToolButton', { img: this._convertPath('/assets/icons/general/pdftron-cursor.svg'), }); } diff --git a/libs/red-domain/src/lib/files/file.model.ts b/libs/red-domain/src/lib/files/file.model.ts index de62eaf4d..683eb6b9f 100644 --- a/libs/red-domain/src/lib/files/file.model.ts +++ b/libs/red-domain/src/lib/files/file.model.ts @@ -146,7 +146,11 @@ export class File extends Entity implements IFile { this.isUnderApproval = this.workflowStatus === WorkflowFileStatuses.UNDER_APPROVAL; this.canBeApproved = !this.hasSuggestions && !this.isProcessing && !this.isError; this.canBeOpened = !this.isError && !this.isUnprocessed && this.numberOfAnalyses > 0; - this.canBeOCRed = !this.excluded && !this.lastOCRTime && (this.isNew || this.isUnderReview || this.isUnderApproval); + this.canBeOCRed = + !this.excluded && + !this.lastOCRTime && + this.numberOfAnalyses !== 0 && + (this.isNew || this.isUnderReview || this.isUnderApproval); this.fileAttributes = file.fileAttributes && file.fileAttributes.attributeIdToValue ? file.fileAttributes : { attributeIdToValue: {} }; From 637e1b0c62b00b50e52b7e8361000da4da41d6b5 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 8 Dec 2022 14:47:12 +0100 Subject: [PATCH 03/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3eefea9f4..e3067e5b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.814.0", + "version": "3.815.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 48841e3d4..2b5a75f10 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.814.0", + "version": "3.815.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b39662328e061a5edd92c69c23a0b9c0eb378670..68ddde5a61fe4123da37f8f5c0a7b13ccb4f5e0b 100644 GIT binary patch delta 3295 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 delta 3295 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 Date: Thu, 8 Dec 2022 17:26:08 +0200 Subject: [PATCH 04/32] RED-5747: Fixed not all reports and document versions displaying. --- .../app/modules/shared/components/select/select.component.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/red-ui/src/app/modules/shared/components/select/select.component.scss b/apps/red-ui/src/app/modules/shared/components/select/select.component.scss index 8eb4edefd..5860f0d48 100644 --- a/apps/red-ui/src/app/modules/shared/components/select/select.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/select/select.component.scss @@ -25,6 +25,7 @@ flex-direction: column; overflow-x: hidden; overflow-y: auto; + flex-wrap: nowrap; @include common-mixins.scroll-bar(); } } From 06515cd610c5ab7ba04099abda2340665a5e8bb1 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 8 Dec 2022 16:28:55 +0100 Subject: [PATCH 05/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3382 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e3067e5b8..ec2c0d02c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.815.0", + "version": "3.816.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 2b5a75f10..3ca6616c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.815.0", + "version": "3.816.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 68ddde5a61fe4123da37f8f5c0a7b13ccb4f5e0b..40fe87ab3613e9104315c097ed9318ce2b55851f 100644 GIT binary patch delta 102 zcmV-s0Ga=|8nzmccv80=+Yg?>X8^BI@RMLOXid#hhOAYIdKI`eSLs ze??*(G1<3_>iWah-~wLxQ}Xvb$6fdGcLN9HzY4tIvCL!)2zvRZ Iu>ep208|V&)Bpeg delta 76 zcmV-S0JHzL8n_yecnezvjuSky9Xqhs&yj&3DS5VcmjBPuj>^9xF^-t*TSj&LVQX*! iuly Date: Fri, 9 Dec 2022 13:24:50 +0200 Subject: [PATCH 06/32] RED-5330: download button always available & use new prepare endpoint --- .../file-download-btn.component.ts | 10 +++++++--- .../expandable-file-actions.component.ts | 15 ++++++++++----- .../services/file-download.service.ts | 10 ++++------ .../src/app/services/permissions.service.ts | 2 +- apps/red-ui/src/app/users/red-role.guard.ts | 2 +- apps/red-ui/src/assets/i18n/redact/en.json | 2 +- apps/red-ui/src/assets/i18n/scm/en.json | 2 +- .../src/lib/downloads/prepare-download.request.ts | 8 ++++++-- 8 files changed, 31 insertions(+), 20 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index 0c9f3f8d9..a36f4e61c 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -4,7 +4,6 @@ import { Dossier, File } from '@red/domain'; import { FileDownloadService } from '@upload-download/services/file-download.service'; import { CircleButtonType, CircleButtonTypes, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-file-download-btn [files] [dossier]', @@ -35,9 +34,14 @@ export class FileDownloadBtnComponent implements OnChanges { async downloadFiles($event: MouseEvent) { $event.stopPropagation(); - const dossierId = this.files[0].dossierId; const filesIds = this.files.map(f => f.id); - await firstValueFrom(this._fileDownloadService.downloadFiles(filesIds, dossierId)); + await this._fileDownloadService.downloadFiles({ + dossierId: this.dossier.id, + fileIds: filesIds, + reportTemplateIds: this.dossier.reportTemplateIds, + downloadFileTypes: this.dossier.downloadFileTypes, + redactionPreviewColor: undefined, + }); this._toaster.info(_('download-status.queued')); } } diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts index 7dc7730c1..395038fdd 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core'; -import { Action, ActionTypes, File } from '@red/domain'; +import { Action, ActionTypes, Dossier, File } from '@red/domain'; import { CircleButtonType, IqserTooltipPosition, @@ -72,7 +72,7 @@ export class ExpandableFileActionsComponent implements OnChanges { // Patch download button const downloadBtn = this.actions.find(btn => btn.type === ActionTypes.downloadBtn); if (downloadBtn) { - downloadBtn.action = ($event: MouseEvent) => this._downloadFiles($event, downloadBtn.files); + downloadBtn.action = ($event: MouseEvent) => this._downloadFiles($event, downloadBtn.files, downloadBtn.dossier); downloadBtn.disabled = !this._permissionsService.canDownloadFiles(downloadBtn.files, downloadBtn.dossier); } } @@ -83,11 +83,16 @@ export class ExpandableFileActionsComponent implements OnChanges { } } - private async _downloadFiles($event: MouseEvent, files: File[]) { + private async _downloadFiles($event: MouseEvent, files: File[], dossier: Dossier) { $event.stopPropagation(); - const dossierId = files[0].dossierId; const filesIds = files.map(f => f.id); - await firstValueFrom(this._fileDownloadService.downloadFiles(filesIds, dossierId)); + await this._fileDownloadService.downloadFiles({ + dossierId: dossier.id, + fileIds: filesIds, + reportTemplateIds: dossier.reportTemplateIds, + downloadFileTypes: dossier.downloadFileTypes, + redactionPreviewColor: undefined, + }); this._toaster.info(_('download-status.queued')); } diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index 18a766f97..7bb2ea402 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -29,11 +29,9 @@ export class FileDownloadService extends EntitiesService { - return this.prepareDownload({ - fileIds, - dossierId, - }).pipe(switchMap(() => this.loadAll())); + downloadFiles(request: IPrepareDownloadRequest): Promise { + const prepare = this.prepareDownload(request).pipe(switchMap(() => this.loadAll())); + return firstValueFrom(prepare); } loadAll(): Observable { @@ -61,7 +59,7 @@ export class FileDownloadService extends EntitiesService { - return this._post(body, `${this._defaultModelPath}/prepare`); + return this._post(body, `${this._defaultModelPath}/prepare-option`); } @Validate() diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index 86d6a4964..f82d8483e 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -261,7 +261,7 @@ export class PermissionsService { if (files.length === 0) { return false; } - return this.isApprover(dossier) && files.reduce((prev, file) => prev && file.isApproved, true); + return this.isApprover(dossier) && files.reduce((prev, file) => prev && !file.isInitialProcessing, true); } canSoftDeleteDossier(dossier: IDossier): boolean { diff --git a/apps/red-ui/src/app/users/red-role.guard.ts b/apps/red-ui/src/app/users/red-role.guard.ts index 2d7dfc9b5..7a5b156ec 100644 --- a/apps/red-ui/src/app/users/red-role.guard.ts +++ b/apps/red-ui/src/app/users/red-role.guard.ts @@ -13,7 +13,7 @@ export class RedRoleGuard extends IqserRoleGuard { async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise { const currentUser = this._userService.currentUser; - if (!currentUser.hasAnyRole) { + if (!currentUser?.hasAnyRole) { await this._router.navigate(['/auth-error']); this._loadingService.stop(); return false; diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 79bb30582..7cebea594 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -849,7 +849,7 @@ } }, "download-file": "Download", - "download-file-disabled": "You need to be approver in the dossier and the {count, plural, one{file needs} other{files need}} to be approved in order to download.", + "download-file-disabled": "You need to be approver in the dossier and the {count, plural, one{file needs} other{files need}} to be initially processed in order to download.", "file-listing": { "file-entry": { "file-error": "Re-processing required", diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index d3360d811..985cd343f 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -849,7 +849,7 @@ } }, "download-file": "Download", - "download-file-disabled": "You need to be approver in the dossier and the {count, plural, one{file needs} other{files need}} to be approved in order to download.", + "download-file-disabled": "You need to be approver in the dossier and the {count, plural, one{file needs} other{files need}} to be initially processed in order to download.", "file-listing": { "file-entry": { "file-error": "Re-processing required", diff --git a/libs/red-domain/src/lib/downloads/prepare-download.request.ts b/libs/red-domain/src/lib/downloads/prepare-download.request.ts index cade875c9..22f7295ef 100644 --- a/libs/red-domain/src/lib/downloads/prepare-download.request.ts +++ b/libs/red-domain/src/lib/downloads/prepare-download.request.ts @@ -2,8 +2,12 @@ * Object containing information on which file and report types should be included in the download. */ import { List } from '@iqser/common-ui'; +import { DownloadFileType } from '../shared'; export interface IPrepareDownloadRequest { - readonly dossierId?: string; - readonly fileIds?: List; + readonly dossierId: string; + readonly fileIds: List; + readonly reportTemplateIds: List; + readonly downloadFileTypes: List; + readonly redactionPreviewColor: string; } From 85bcde4b4d42ef7a64acfa5390c1fc65ccff3934 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 9 Dec 2022 12:27:53 +0100 Subject: [PATCH 07/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3382 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ec2c0d02c..fa8fe27e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.816.0", + "version": "3.817.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 3ca6616c4..7da5de36c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.816.0", + "version": "3.817.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 40fe87ab3613e9104315c097ed9318ce2b55851f..57fe64246fdff34be10c96094fc96679e87b5814 100644 GIT binary patch delta 3297 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 From 501d9e838b71d5e67c21a56cf4758c64a09f40a9 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 9 Dec 2022 14:42:21 +0200 Subject: [PATCH 08/32] RED-5330: add download dialog --- .../reports-screen.component.ts | 5 +- ...edit-dossier-download-package.component.ts | 3 +- .../file-download-btn.component.ts | 23 ++++- .../expandable-file-actions.component.ts | 21 +++- .../add-dossier-dialog.component.ts | 2 +- .../download-dialog.component.html | 60 +++++++++++ .../download-dialog.component.scss | 0 .../download-dialog.component.ts | 99 +++++++++++++++++++ .../src/app/modules/shared/shared.module.ts | 3 +- .../app/services/report-template.service.ts | 5 +- .../download-types-translations.ts | 9 ++ apps/red-ui/src/assets/i18n/redact/de.json | 14 ++- apps/red-ui/src/assets/i18n/redact/en.json | 14 ++- apps/red-ui/src/assets/i18n/scm/de.json | 14 ++- apps/red-ui/src/assets/i18n/scm/en.json | 14 ++- 15 files changed, 266 insertions(+), 20 deletions(-) create mode 100644 apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html create mode 100644 apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.scss create mode 100644 apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts diff --git a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.ts index d0c835782..7cc2e0add 100644 --- a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.ts @@ -149,9 +149,8 @@ export class ReportsScreenComponent implements OnInit { } private async _loadReportTemplates() { - this.availableTemplates$.next( - await firstValueFrom(this._reportTemplateService.getAvailableReportTemplates(this.#dossierTemplateId)), - ); + const reportTemplates = await this._reportTemplateService.getAvailableReportTemplates(this.#dossierTemplateId); + this.availableTemplates$.next(reportTemplates); } private async _loadPlaceholders() { diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts index 345d3e39f..421d67be3 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts @@ -106,8 +106,7 @@ export class EditDossierDownloadPackageComponent existsWatermarks: this.#existsWatermarks$, }); - this.availableReportTypes = - (await firstValueFrom(this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId))) || []; + this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || []; this.form = this._getForm(); if (!this.canEditDossier) { diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index a36f4e61c..ebd2fde84 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -2,8 +2,15 @@ import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/c import { PermissionsService } from '@services/permissions.service'; import { Dossier, File } from '@red/domain'; import { FileDownloadService } from '@upload-download/services/file-download.service'; -import { CircleButtonType, CircleButtonTypes, Toaster } from '@iqser/common-ui'; +import { CircleButtonType, CircleButtonTypes, defaultDialogConfig, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { MatDialog } from '@angular/material/dialog'; +import { + DownloadDialogComponent, + DownloadDialogData, + DownloadDialogResult, +} from '@shared/dialogs/download-dialog/download-dialog.component'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-file-download-btn [files] [dossier]', @@ -24,6 +31,7 @@ export class FileDownloadBtnComponent implements OnChanges { constructor( private readonly _permissionsService: PermissionsService, private readonly _fileDownloadService: FileDownloadService, + private readonly _dialog: MatDialog, private readonly _toaster: Toaster, ) {} @@ -34,13 +42,20 @@ export class FileDownloadBtnComponent implements OnChanges { async downloadFiles($event: MouseEvent) { $event.stopPropagation(); + const ref = this._dialog.open(DownloadDialogComponent, { + ...defaultDialogConfig, + data: { dossier: this.dossier, hasUnapprovedDocuments: this.files.some(file => !file.isApproved) }, + }); + const result = await firstValueFrom(ref.afterClosed()); + if (!result) { + return; + } + const filesIds = this.files.map(f => f.id); await this._fileDownloadService.downloadFiles({ dossierId: this.dossier.id, fileIds: filesIds, - reportTemplateIds: this.dossier.reportTemplateIds, - downloadFileTypes: this.dossier.downloadFileTypes, - redactionPreviewColor: undefined, + ...result, }); this._toaster.info(_('download-status.queued')); } diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts index 395038fdd..943e6c0aa 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts @@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges, Vi import { Action, ActionTypes, Dossier, File } from '@red/domain'; import { CircleButtonType, + defaultDialogConfig, IqserTooltipPosition, OverlappingElements, ScrollableParentView, @@ -13,6 +14,12 @@ import { FileDownloadService } from '@upload-download/services/file-download.ser import { PermissionsService } from '@services/permissions.service'; import { firstValueFrom } from 'rxjs'; import { MatMenuTrigger } from '@angular/material/menu'; +import { + DownloadDialogComponent, + DownloadDialogData, + DownloadDialogResult, +} from '@shared/dialogs/download-dialog/download-dialog.component'; +import { MatDialog } from '@angular/material/dialog'; @Component({ selector: 'redaction-expandable-file-actions', @@ -39,6 +46,7 @@ export class ExpandableFileActionsComponent implements OnChanges { private readonly _fileDownloadService: FileDownloadService, private readonly _toaster: Toaster, private readonly _permissionsService: PermissionsService, + private readonly _dialog: MatDialog, ) {} ngOnChanges(changes: SimpleChanges) { @@ -85,13 +93,20 @@ export class ExpandableFileActionsComponent implements OnChanges { private async _downloadFiles($event: MouseEvent, files: File[], dossier: Dossier) { $event.stopPropagation(); + const ref = this._dialog.open(DownloadDialogComponent, { + ...defaultDialogConfig, + data: { dossier, hasUnapprovedDocuments: files.some(file => !file.isApproved) }, + }); + const result = await firstValueFrom(ref.afterClosed()); + if (!result) { + return; + } + const filesIds = files.map(f => f.id); await this._fileDownloadService.downloadFiles({ dossierId: dossier.id, fileIds: filesIds, - reportTemplateIds: dossier.reportTemplateIds, - downloadFileTypes: dossier.downloadFileTypes, - redactionPreviewColor: undefined, + ...result, }); this._toaster.info(_('download-status.queued')); } diff --git a/apps/red-ui/src/app/modules/shared/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts index b711e6ea0..fa1f2ce77 100644 --- a/apps/red-ui/src/app/modules/shared/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts @@ -102,7 +102,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent implements On if (dossierTemplate) { this.availableReportTypes = - (await firstValueFrom(this._reportTemplateController.getAvailableReportTemplates(dossierTemplate.dossierTemplateId))) || []; + (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplate.dossierTemplateId)) || []; // update dropdown values this.form.patchValue( { diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html new file mode 100644 index 000000000..7f5221946 --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html @@ -0,0 +1,60 @@ +
+
+
+ +
+
+
+ +
+ + + + +
+ + +
+ +
+
+
+
+ +
+ + +
+
+ + + {{ option.fileName }} {{ option.multiFileReport ? ('reports-screen.multi-file-report' | translate) : '' }} + diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.scss b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts new file mode 100644 index 000000000..fc13fe304 --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts @@ -0,0 +1,99 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { Dossier, DownloadFileType, IReportTemplate } from '@red/domain'; +import { downloadTypesForDownloadTranslations } from '@translations/download-types-translations'; +import { ReportTemplateService } from '@services/report-template.service'; +import { FormControl, FormGroup, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { DefaultColorsService } from '@services/entity-services/default-colors.service'; + +export interface DownloadDialogData { + readonly dossier: Dossier; + readonly hasUnapprovedDocuments: boolean; +} + +export interface DownloadDialogResult { + readonly downloadFileTypes: DownloadFileType[]; + readonly reportTemplateIds: string[]; + readonly redactionPreviewColor: string; +} + +interface DownloadDialogForm { + redactionPreviewColor: FormControl; + reportTemplateIds: FormControl; + downloadFileTypes: FormControl; +} + +@Component({ + selector: 'redaction-download-dialog', + templateUrl: './download-dialog.component.html', + styleUrls: ['./download-dialog.component.scss'], +}) +export class DownloadDialogComponent implements OnInit { + downloadTypes: { key: DownloadFileType; label: string }[] = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map( + (type: DownloadFileType) => ({ + key: type, + label: downloadTypesForDownloadTranslations[type], + }), + ); + + availableReportTypes: IReportTemplate[] = []; + + form: FormGroup; + + get reportTypesLength() { + return this.form.controls.reportTemplateIds?.value?.length || 0; + } + + get downloadFileTypesLength() { + return this.form.controls.downloadFileTypes?.value?.length || 0; + } + + async ngOnInit() { + const dossierTemplateId = this.data.dossier.dossierTemplateId; + + this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || []; + + this.form = this._getForm(); + } + + reportTemplateValueMapper = (reportTemplate: IReportTemplate) => reportTemplate.templateId; + + async save() { + const result: DownloadDialogResult = { + reportTemplateIds: this.form.controls.reportTemplateIds.value, + downloadFileTypes: this.form.controls.downloadFileTypes.value, + redactionPreviewColor: this.form.controls.redactionPreviewColor.value, + }; + + this._dialogRef.close(result); + } + + close() { + this._dialogRef.close(); + } + + private _getForm(): UntypedFormGroup { + const previewColor = this._defaultColorsService.getColor(this.data.dossier.dossierTemplateId, 'previewColor'); + return this._formBuilder.group( + { + reportTemplateIds: [this.data.dossier.reportTemplateIds], + downloadFileTypes: [this.data.dossier.downloadFileTypes], + redactionPreviewColor: [previewColor], + }, + { + validators: control => + control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 + ? null + : { downloadPackage: true }, + }, + ); + } + + constructor( + private readonly _defaultColorsService: DefaultColorsService, + private readonly _reportTemplateController: ReportTemplateService, + private readonly _formBuilder: UntypedFormBuilder, + private readonly _dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) readonly data: DownloadDialogData, + ) {} +} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index d6ae41945..1ceebe874 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -42,6 +42,7 @@ import { AddEditEntityComponent } from './components/add-edit-entity/add-edit-en import { ColorPickerModule } from 'ngx-color-picker'; import { WatermarkSelectorComponent } from './components/dossier-watermark-selector/watermark-selector.component'; import { OcrProgressBarComponent } from './components/ocr-progress-bar/ocr-progress-bar.component'; +import { DownloadDialogComponent } from './dialogs/download-dialog/download-dialog.component'; const buttons = [FileDownloadBtnComponent]; @@ -76,7 +77,7 @@ const services = [SharedDialogService]; const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule, ColorPickerModule]; @NgModule({ - declarations: [...components, ...utils, EditorComponent], + declarations: [...components, ...utils, EditorComponent, DownloadDialogComponent], imports: [ CommonModule, ...modules, diff --git a/apps/red-ui/src/app/services/report-template.service.ts b/apps/red-ui/src/app/services/report-template.service.ts index e58247d34..2ed205399 100644 --- a/apps/red-ui/src/app/services/report-template.service.ts +++ b/apps/red-ui/src/app/services/report-template.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { GenericService, HeadersConfiguration, RequiredParam, Validate } from '@iqser/common-ui'; import { IPlaceholdersResponse, IReportTemplate } from '@red/domain'; -import { Observable, of } from 'rxjs'; +import { firstValueFrom, Observable, of } from 'rxjs'; import { HttpResponse } from '@angular/common/http'; import { catchError } from 'rxjs/operators'; @@ -34,7 +34,8 @@ export class ReportTemplateService extends GenericService { @Validate() getAvailableReportTemplates(@RequiredParam() dossierTemplateId: string) { - return this.getAll(`${this._defaultModelPath}/${dossierTemplateId}`); + const request = this.getAll(`${this._defaultModelPath}/${dossierTemplateId}`); + return firstValueFrom(request); } @Validate() diff --git a/apps/red-ui/src/app/translations/download-types-translations.ts b/apps/red-ui/src/app/translations/download-types-translations.ts index ae98277c7..e11ea04a9 100644 --- a/apps/red-ui/src/app/translations/download-types-translations.ts +++ b/apps/red-ui/src/app/translations/download-types-translations.ts @@ -9,3 +9,12 @@ export const downloadTypesTranslations: { [key in DownloadFileType]: string } = FLATTEN: _('download-type.flatten'), DELTA_PREVIEW: _('download-type.delta-preview'), } as const; + +export const downloadTypesForDownloadTranslations: { [key in DownloadFileType]: string } = { + ORIGINAL: _('download-type.original'), + PREVIEW: _('download-type.preview'), + REDACTED: _('download-type.redacted-only'), + ANNOTATED: _('download-type.annotated'), + FLATTEN: _('download-type.flatten'), + DELTA_PREVIEW: _('download-type.delta-preview'), +} as const; diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 6780b082f..6fbb77a45 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -1017,6 +1017,17 @@ "active": "", "archive": "" }, + "download-dialog": { + "actions": { + "save": "" + }, + "form": { + "redaction-preview-color": "", + "redaction-preview-color-placeholder": "" + }, + "header": "", + "unapproved-files-warning": "" + }, "download-includes": "Wählen Sie die Dokumente für Ihr Download-Paket aus", "download-status": { "queued": "Ihr Download wurde zur Warteschlange hinzugefügt. Hier finden Sie alle angeforderten Downloads: My Downloads." @@ -1028,7 +1039,8 @@ "label": "{length} Dokumenten{length, plural, one{version} other{versionen}}", "original": "Optimiertes PDF", "preview": "PDF-Vorschau", - "redacted": "geschwärztes PDF" + "redacted": "geschwärztes PDF", + "redacted-only": "" }, "downloads-list": { "actions": { diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 7cebea594..f6403fca3 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1017,6 +1017,17 @@ "active": "Active", "archive": "Archived" }, + "download-dialog": { + "actions": { + "save": "Download" + }, + "form": { + "redaction-preview-color": "Redaction preview color", + "redaction-preview-color-placeholder": "" + }, + "header": "Download options", + "unapproved-files-warning": "This download contains unapproved file(s)" + }, "download-includes": "Choose what is included at download:", "download-status": { "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads." @@ -1028,7 +1039,8 @@ "label": "{length} document {length, plural, one{version} other{versions}}", "original": "Optimized PDF", "preview": "Preview PDF", - "redacted": "Redacted PDF" + "redacted": "Redacted PDF", + "redacted-only": "Redacted PDF (redacted documents only)" }, "downloads-list": { "actions": { diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 4338fded3..7cf98b4e0 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -1017,6 +1017,17 @@ "active": "", "archive": "" }, + "download-dialog": { + "actions": { + "save": "" + }, + "form": { + "redaction-preview-color": "", + "redaction-preview-color-placeholder": "" + }, + "header": "", + "unapproved-files-warning": "" + }, "download-includes": "Wählen Sie die Dokumente für Ihr Download-Paket aus", "download-status": { "queued": "Ihr Download wurde zur Warteschlange hinzugefügt. Hier finden Sie alle angeforderten Downloads: My Downloads." @@ -1028,7 +1039,8 @@ "label": "{length} Dokumenten{length, plural, one{version} other{versionen}}", "original": "Optimiertes PDF", "preview": "PDF-Vorschau", - "redacted": "geschwärztes PDF" + "redacted": "geschwärztes PDF", + "redacted-only": "" }, "downloads-list": { "actions": { diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 985cd343f..a0bb8ad46 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -1017,6 +1017,17 @@ "active": "Active", "archive": "Archived" }, + "download-dialog": { + "actions": { + "save": "Download" + }, + "form": { + "redaction-preview-color": "Redaction preview color", + "redaction-preview-color-placeholder": "" + }, + "header": "Download options", + "unapproved-files-warning": "This download contains unapproved file(s)" + }, "download-includes": "Choose what is included at download:", "download-status": { "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads." @@ -1028,7 +1039,8 @@ "label": "{length} document {length, plural, one{version} other{versions}}", "original": "Optimized PDF", "preview": "Preview PDF", - "redacted": "Redacted PDF" + "redacted": "Redacted PDF", + "redacted-only": "Redacted PDF (redacted documents only)" }, "downloads-list": { "actions": { From ef5b5bbe95ed69ba5e04c7af31c0697928ee447e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 9 Dec 2022 13:45:00 +0100 Subject: [PATCH 09/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3383 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fa8fe27e4..0d95ba9f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.817.0", + "version": "3.818.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 7da5de36c..674c2c353 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.817.0", + "version": "3.818.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 57fe64246fdff34be10c96094fc96679e87b5814..177fee16d1795abc7eaaee84c0cdd94787a5af03 100644 GIT binary patch delta 3294 zcmV<43?cKl8n+sdd4I0_wfoF=?7#`0q2MRMX3(0N;R>OjW2yhew$$Y>f7I+gBlXA9 zhR4g_^Bm_a|DU5Bm48KI95LCqjOzNs*5CqO`BU--S-b0A{;Ty0>x#OGRkZs5}qV;nKY z5n~)N#t~y2KIYdkt;-DGe^%e&^78uS#ggNPGb<%HCKdX}1w!vEn#bhr7CA5BS4t?X zzeRpvmv3KQJbw&kY_}mvii(JtA&zc$Rng?J6%|=gZP9agwo`+ILOySJ1YWj|B z(aPrw$X9oASxynW%VR)K91Zdk#8mqkq(E#OT>GR){3avJus{eQL+O0rn2Bv)~4`x6c{EGo`N zV zc)cev#i+=$dsIgiAvwZ%jINX|vgZ5kTEH^zYfXZ_+w#G@w+E69h0;<$s4oqe;|M4lfgeSpy*fbb@$+Cm9Y& zCJoWSs<~428F|Yr9!`MjMWj^-6PQT=1GCs_%xLzK=DF06&h!ZheFu)6CimSq6$b+l zl^^nDt?xaKl{C#p`$t^jlN&{VovqZcnzDjs86FnOi=52bm7Vqk19xB}CjexB)jD^~ z2Y=6JMCu<#GRiWtm^~G&StQ=DB5LOjMfC(U5PlLO*l5R}gimX)o`#iT^Tsw-?5dbV zMTJ|d4yr&ZZj2s-`Giyy^XG161~%SGTAP_mH`#cv_M7Zc>X1{2m^2#HbEQ3b@S=dHMBFvdVi#`GDI4#|M;a0YIj)h!yve-F;;#i!^?nrDQvCf}h?UtBB!vIQiN%yLxBdM|VN z_r$i>m)-2Y71eE$6?cQV?&RD}(9iuVFuSQCH+u(*Lp-B{@TNdG_Dv7s3z9eN9e=6z zB!B-Sml?9ksz_)y0Orr31%Tlwt!R`ox-+2^OhQS#9?CaOlqOAnE8-A+{%RTvx1axI zNOD-2=7>jb9f3tisw8{=LzEJDU!$)@<>HSx$2(HhgLT$Z>$v`=U+3#0%U~VOvoA((U&o0 zMK#n_ds171XoMvs3Q?L-^8VivQP>a-51ulJmWRkX)BC_VDB@RA;`RFp&^{< zJ>lUV&hIn85s%25+zhrGA8`2m&;R-7ziM=qzW<>~=#HSTDo~I7dI)WLH-7|@B0W>F zDpEHYn~I?mKM9g`J5NsFKr!v&R_XqFN8#AgQyf{RcbPm*fauO{ecwfs$u-)swUQr9 zgsYDYNmU=|xh&>3UL3@D)a4twDY{lhZi+5f@tcFLjZuC(Uh)$}+jf%JLx1d{kAn;%65MF3wK^;& zCdtNjGy?7+Rx9pgXSne~L#Jz$yzFeZQUEe?Ha82T4dGdfqa|5tj{xheoRzODPSfJ* zZ`K3eh%Q%jMK^{nF1;YUS;yh1i;Kux`_aZ3b#cK)LF^H2R!Q^QmMe}M#F`SNBrEqt zOb)h2a9m-kj94uaf?vVm`A>MDSSZe2Ek)ff$fH*QXGw5YPPN{tsL*kPq>)y;@lh5G$tXQ ztdAe|e;rkj&%n^G?+vc5I*e&vHmtUahH?LPt@U9ZB7gLduXR|`->{Sl0Yi-aZ3Sa_ zJS~3x0p~Gt93ZY&b&khQe+T`sPBB$_{f)XfXRr%OhQRHBpZa57EaVjxmk>nU4ZbqA=qG@Fa}I2d(pj z^S*hE?SDnG=Erbem$>BkjWycrS`^$>U`HdD&`%=>EAm?{(QKzVEy|%lhi2* zgY^F=5IKIL*F_~pAUNX3*APGt>H1(mdVN)KW6I1M>Sa0xKf4+-3J=+8_1_9SGz~ynkN;QhEDoI7wAI{{Xz`ZDm-zwdxed z#ogh|>R{oyjhHyy3lv=W`h7k3ke?2!CK@hwPsqgNVIF=|rHvXe4SMn%>By9)RNJS) zs@%#U3Y*I4_rOMkD@G&jJWf4p9VVz3^2lg#sX)C{(huQU#ETy#-Vynz<=xWNcV!Bg z`F~ue=@l}9N?ijmTXA6*O9(n4oPR^fow&rL4s374JdDQB{cc=6=>|h$&P&K6jq_}y z8h5V;ypurMox0F|@&l0>r#z;6Mk_jI3!(nhw8u z(hjdAg@+eFs9q8uYHD}uKx%(qA+x8if`HyC&QkI}!dY|`*qddD zOtM+I)uRr6BbG)3^n|m@xeg3j045R~GtN4oO%B%V;I@lw(LM}sQfPiqx#023-(z~v z@iAQ|Qu}A!89EA3IN1{*C!@9#kbCEL3jR~>@yuYylP>G1@Mqk}QHM`nyMNIK&AVGO zm^1SN%>bPz-;x=^drEMwYfpFIWkBcgOD&IJq+=53Nk;b8x2%eY#Gu_G`&-tGlqW97 zPlSe!DIgj1PG^5#;`qKHb)Q=pldpcnE5zcFD-VL7E*GeVFRLaM6;}3_ zujdL1Q)kgWEc>U_?O%0IJS3B^x~J6dUv*Du(7)=Q(pCSedn&u{YUC8=a!=y^@v6ui z+|1(f#Ly3`8BYTHkW%qToAox~hMFq7x=a}>>+OpdNq>>Edbul#T}E(8>t$5z zUw}fmzfJI-X7``{sU-PtzQK9Dr3`0_yIsm&+Y8UOU)l>_d*b~LwGQNrYn_AV?KEB1i35oy%@tO>57R3Ng) zZ>>8TvlL+2whC;EaKj4zyDVzTXaR33l3_;Qkkhc2?SHqGP?E)BCAo@Y+n;ctVNr2D zBBy+d>LQ~tdLBg)iM>OoRpFR6HBjE-W#Ds?B#*>py9GsvNLpl_;ENJRl-+NUy<9&M z*y3p`54AAfzaYb_W(nx>QR5gE97Bpw1GU$TMwL$#Z^GMjH#T&_Qg962|9|r=` z#p^wZDMm$}-J?3H2+0x7V|1l#ku~3M*8-M#UuzQd-IfpLy*-d@Ab0nJLR1Yr&4^Vt zVMZg&MKD3efUgo;cQY^p26(R!Zei+N_D@b+Dt|vL8cm|6a(I~#%o+#@pcBLkJjrlK zGHHkoR?U^F&&XS5@o)lEFCwi%n7~W|7?{OYV@9)=G|#1mbf!;8=sR%iG`a7_sW=#b zsQi#GYklu=tfXl++CSnFpWG+{>};im)sz)9%kZ#JUgTufuI#iY7`Ou)IRPO1tJb+= zK7V*VBU1k`l2MkC#q6nI%_8xJ6;V5PD5@u*f$)V(xVpqi^ zDk|Jsbx;LTabxrt%qOIxm_K(jGqCYi(%Q^iy2-|SwcliqQiqIcko?}O%$~nZXjL;S zN~!d;ni;YmM;L(1unF2IuA5JvuA!YV)_)_7l_An_{l_n5P`kr|A4ly{AAzaL=Wh?- zsT!-xM4&T=AHYh5aWqd!McIgV{d;g$FFr+I(mW%SHTe#G`r={uo^Hj*4DQYG2@AEK1N`x<>MDi?pmIo^?~9;~yTTF3P_{W@P4SqAHHo_#?o zGD-AiT9ked>~}?7Q$QDRVWfu(+kfp2XKV!WW)kE&Qb67|dmhrD5W?jURFrdNkG_m4 zE2^Qc+LPK6L?bLAQHauvlK20Xh{A?wc<_`#v^+%CncfG^K@q=_60hI?2$HI~4h`W< z?+Fk0aDJZwj(9}gM*i;Oi_(_ng+j(*V2a0JIw@UZdI||2^p5n+lz02fj0z`Lq>-#R6Os>(6t(E*> zB3ylJNUHis&utMMt=bWqf=$i1T~(|vuPt&DUhQ!vaL%YU8#H;Z#|Uzr9;2R7CVG0# z@JVRXadNlO$`qdJtJFCyOTsjU@tB~Etfps6WwOEw za^R?H_F--G{fZVQMZrXHTLYWqFE#%ZDsfyUTH4=2I0jws8--~7Mj4E2bHV|lQ;FhX zCy9-;@;lzm4zf&(LvH@583E|fcd&sc-PmPRl=q@mV}^C;SF3aZPk%f?ZebDMi}#jA zzpp_+WkrE>h@Zrk46{b$l!IQY+J!)zYcG)Ni4Wg2%H1M}PrxCnoj8hwtsH`G-?xw* z*AqY&$Z;HX&|%AM(OpWJ27w2l94?GeUqeKQ!;HX;=QrNX2HR?9Ua)?E#rT)S_cu3i zHwjKcZE*&H`pyzD@PAfSU3~zbYbQ>kvE&X{Iq!(W*wzpbR2Ya6WEiN)TE!ZTuL;;4 z%=o?p7UC<{T>%T-4d){;(_Y?OtHXB{xrgvnO&j$t8~QxQi+wWcTN^nkx;*H@7)PNu z>I%5Q@ZuoGqb}dbP0_V7a#M7&Ek>EyKt<_;M zF-bPIqY-cqv08B_JHw3^8aiF0(5Fv$rSVYpoCS5PzYEe67Qh{)VMg2pD4QZz~wf z<7x5h4>*q@1cILr1B91Zu`3J(RtWXlcy>^z)FyAY5IKdn6qG57K4B#5T zYG+@LboVFbSWNKXBV%H*6hgG4PzPchtBHDac!)j@ag1r~&wLbk5``HjfG1%rK4_gM zocGORY=1A3H9v;)y2K^NZ>-T~*P`IA0y`SHgnk-9SdrgqiDo;^X;B_!pN^8DoTN@k z7^MF{fynU_y)G&-0>KeKzJ>sLNY@7g((9`-?bT8;(z@TkjmRv!%3>z`3K-dZ!5#%tyQNu zF76IzRtF2uZN$XsUZCL0*YE4Ohx~LQP@;QzXvuVTrnDH=W*&;>o7sRkVi&?O9kqsl70x+B3}F`@s7wxE$^1DzAIC} z%zx)PO|OsPsMd^>J_#-Z#s8y;cCDCn0Yk$T|TLjotVNUeSTQEYZ5)x17fj>Y%UNC;x z-3Ox!UMOxjBzR)99P5Q^)(dx_7edLzJ`hi<6QNPhbZOZS!PY@tCT@X9Vq{HQ(scOM zlXiF|DLlLYLiLjPP*b~G2U7d{3Yk596$JEFah8(*5zeBk!2SeT;=01MN&rediGO_i z)Fa;hlt{NfxMWgqRA$q+)TFUD*7-&v-RS&9Wrtm*?(i^8fOZ>2P4X8zP*6BV}Vuyuc0~q^=L7WT&XeN zV3N(stsZso8?iJRpeLMF&UIkO0x*%_m~qwtZE~*lyak)S>d|5TAsIaoX zd_7lCm^zF0Vc9>WZvU!#;vt!Q)jg$t|EhaRgZ@?bl&<<$-Ba0pS0kq|mwOWTk5@(J z;AR$&Cx(7l&3F>nhm?v(@*FyuNB*nJ!&n`L5W6e(Cm{wJL`9p15Lmsr5PeUDs3_x; zUF%4fM{(oh@(u}c9DW}2Xkv=lEq0x=bMZ+4Nf9+ucSe5ce``Cpb33 Date: Fri, 9 Dec 2022 15:09:02 +0200 Subject: [PATCH 10/32] RED-5707: show preview redactions with 50% opacity --- .../modules/file-preview/file-preview-screen.component.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index b24a59e90..38057fe7d 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -92,10 +92,7 @@ export class FilePreviewScreenComponent fullScreen = false; readonly fileId = this.state.fileId; readonly dossierId = this.state.dossierId; - readonly file$ = this.state.file$.pipe( - tap(file => this._fileDataService.loadAnnotations(file)), - log('file'), - ); + readonly file$ = this.state.file$.pipe(tap(file => this._fileDataService.loadAnnotations(file))); width: number; @ViewChild('annotationFilterTemplate', { read: TemplateRef, @@ -764,7 +761,7 @@ export class FilePreviewScreenComponent private _setAnnotationsOpacity(annotations: Annotation[], restoreToOriginal = false) { annotations.forEach(annotation => { - annotation['Opacity'] = restoreToOriginal ? parseFloat(annotation.getCustomData('opacity')) : 1; + annotation['Opacity'] = restoreToOriginal ? parseFloat(annotation.getCustomData('opacity')) : 0.5; }); } From 9d9b492654892991b934b379bf01b918bc45fd1f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 9 Dec 2022 14:11:40 +0100 Subject: [PATCH 11/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3383 -> 3383 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0d95ba9f2..1a13e1526 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.818.0", + "version": "3.819.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 674c2c353..f610767a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.818.0", + "version": "3.819.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 177fee16d1795abc7eaaee84c0cdd94787a5af03..8a024182ad24c7aea6372bad2bcc50316f9b5552 100644 GIT binary patch delta 3294 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 Date: Fri, 9 Dec 2022 15:22:49 +0100 Subject: [PATCH 12/32] Fixed label for download redacted label (only for approved files). --- apps/red-ui/src/assets/i18n/redact/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index f6403fca3..bcd647a59 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1040,7 +1040,7 @@ "original": "Optimized PDF", "preview": "Preview PDF", "redacted": "Redacted PDF", - "redacted-only": "Redacted PDF (redacted documents only)" + "redacted-only": "Redacted PDF (approved documents only)" }, "downloads-list": { "actions": { From 71c8d4d0db40f5e86b835b7dc19f9cd6c4fa3eab Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 9 Dec 2022 15:39:02 +0100 Subject: [PATCH 13/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3383 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a13e1526..dbb12f7f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.819.0", + "version": "3.820.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index f610767a8..23d05d02e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.819.0", + "version": "3.820.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 8a024182ad24c7aea6372bad2bcc50316f9b5552..93126a3616f79551d0b574afc86b938e8a42218c 100644 GIT binary patch delta 3295 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 d&h6aJ?cC1o+|KRX&h6Zw{TJ8hhOAYIdKI`eSLs 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 From 544116035ab8af922aa9322259088fe3dc8c5494 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Mon, 12 Dec 2022 10:56:11 +0200 Subject: [PATCH 14/32] RED-5741: Filter out special characters in entity technical name. --- .../components/add-edit-entity/add-edit-entity.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts index 6581790e3..5cf023bb0 100644 --- a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts @@ -200,7 +200,7 @@ export class AddEditEntityComponent extends BaseFormComponent implements OnInit private _toTechnicalName(value: string) { const existingTechnicalNames = this._dictionariesMapService.get(this.dossierTemplateId).map(dict => dict.type); const baseTechnicalName = toSnakeCase(value.trim()); - let technicalName = baseTechnicalName; + let technicalName = baseTechnicalName.replaceAll(/[^A-Za-z0-9_-]/g, ''); let suffix = 1; while (existingTechnicalNames.includes(technicalName)) { technicalName = [baseTechnicalName, suffix++].join('_'); From 00250584f6684485547fffd882c82741be16ae03 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 09:59:20 +0100 Subject: [PATCH 15/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbb12f7f8..2b52aa815 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.820.0", + "version": "3.821.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 23d05d02e..ebc34730a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.820.0", + "version": "3.821.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 93126a3616f79551d0b574afc86b938e8a42218c..b8c316dfca39d80fe62871f7986e8a6f68ce9236 100644 GIT binary patch delta 3298 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 delta 3298 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 From b62cb136cdb0fad6cd3302fa5dcabb340b2cf743 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Mon, 12 Dec 2022 12:18:50 +0200 Subject: [PATCH 16/32] RED-5525: Fixed border still appearing after conversion. --- .../app/modules/file-preview/file-preview-screen.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index 38057fe7d..8cf05afde 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -26,7 +26,6 @@ import { HelpModeService, List, LoadingService, - log, NestedFilter, OnAttach, OnDetach, @@ -177,6 +176,7 @@ export class FilePreviewScreenComponent const earmarks$ = isEarmarksViewMode$.pipe( tap(() => this._loadingService.start()), switchMap(() => this._fileDataService.loadEarmarks()), + switchMap(() => this._fileDataService.earmarks$), tap(() => this.updateViewMode().then(() => this._loadingService.stop())), ); From d04c63c8f5c218e0dec08e593f0c98d5722f7ee2 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 11:21:49 +0100 Subject: [PATCH 17/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3383 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b52aa815..eec3dac25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.821.0", + "version": "3.822.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index ebc34730a..7a05c69bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.821.0", + "version": "3.822.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b8c316dfca39d80fe62871f7986e8a6f68ce9236..81ba41ccfedeb02cb9fae9767d63e24b47a334f9 100644 GIT binary patch delta 3296 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 delta 3297 zcmV<73?B2h8n_yecYh#QtvuU%W;=G^xX)1VlVCGwP0etH(9f~d|6*I}@|QnqcAt^@ zV`;MZ}CqaBrhMPeK=*|&`9`oq@X0$%x3^7lN)UH9@2;MsOo!ODJy?2k*T zx&5EZ|87|4cu%wY&;C@B{5Rj=yxvlVv&G#mWv}gpXWK9Bg)cq>@wpP8Yw@{(Pe+V# z#2816al{x$jB)swU&pjAGkpJ9eTU1->z5Zxjvvmfl;D_D=pPpdy|ZW@leb&syo6sV zp|JiI`GH-&eSdlJFqpC3h9oH}B4&m-y4_VplgCz6WJR?_&)tpZ`p$SBN*ytUGsCLs zJF-P9pD!R^-N|J+Mer`8Ik7raHtTla9#=b>TdXKy@VDP)S5Ybu z+2gm?9gSHEuxwiewneyM1^-B19xDvQF?ti6hGHx5!?u z9|>&nw3Ub2qUnVr^+MADXER5zW9FAQj%mIF050&`S$#%O8gzs)iAcSJh%9 z^z;Cpi+|IZlozXDdzZK(IeTfOKWeI)zbXrwGg29J!RFc^{_J@qY}4Y63YukjSST-YGHX|M+7k@ifsLF1ko{Hb z+yMm0!&?^R~c-zK!G znH8l}dRom4*^eU(z-8D3Z4}qdr%%_=&VLx|k;cjpX}JF5moli`VZo21cBzlRROR!x z2k=yl)ny{knZplYrNTIxr=+56#Jm1III9<*qAzKl5z3l;hdzCAu>{B#kU%oaQ8DYi z%;nz`+g@LGv;S69w@Fsq4d%L&b2mXh_piY0riR??9V`yl9=UY{79pvU?EMc>O5lBsz7~~>KjIwkNL3HkSx>Fw`kQ{8uZt{$bvVzy zAQhP;dNVCbzX$faqOK{R3%D@S!+(YCc84=I0(mnDavdokZ<{?2X;28^atJEQxw1!J z#*`J+P*?3qZ3&_gmXIh!X-3KWe@jGRLo_^i${<=EBI``=1LvTKUrCAA?|%eI)m(>$ zaHjW!hkH1`&j3d}B5!gt*lv8l;qyQL=b!(o(N+5XhbEyrg1)LiJ@V@zw14T{5J-yj zOvS25-DGSkhEDt>NY?Elk62u;DJX56kS)|b~7xe2fKI1@N$RGST&yw_s{xlWH!&nOc; zJ!kkNwCOlGTmfEW5CnniFn_LnGSD7ow&PVkMqFhIPxV#moR%eF8pC)@&_-6%v!yaw zVFfvGR5kmsHu`==3zMQ?BDk%AP4btTe+rd2E)y;7Zy_9muJ?^Xw0@%u#{w5GAhb@QL8b-I`pemx_^Kto*=idi0{RF z%c9@cAfU3MKsv-vVoQcuBXY_?uT||rAkMWH$o0gBZyM!p5yU6p5Y<(spUjhs9mFup6h3M9H++cWd5aUsoZ{()vS{b=1x?II?4!Sl*`R#bgPY`X}Nq=Gwv4=hmGKffUqpjBJ zu$Y)68{5$cxQAG+xRagX#tRLdu2J%`v)xJo$jI5;ERZ&YXDyDFWT`y@tg~`fzOFb; zi>tp`4|pTGT+tQX7`nLhg79V?hodeoB5&Zb&2L+-IBpPYN|chU z+!rx9*c!oob$^IzSH0G*_G>oa*z?}0I%{M1X#l+w_4RHsvpunbfUYj~1gT~HHyCI} zEX54fY0*F$9}>hZLPcX9`QD}Q0kIndk4*)(8z#}ER+&xZlR%dFTHh5{>udTl&AC{${bw_Avu!dnVTppaGNql1F&aZ(0w z4PdpiFGsrj6LTykc<_-iu~-Tr+EJ(jF^<(lJvux@ABQ-`H1=mc3OtFzj1$00Rh|qGE-Ir;9*e7%#kbf)jehEnB?W^G=Rqgx(@S?YsVe!_g zQydp}hcl~#h37V6;&d-iaOLaw_1r^#I;fgxxY#`*6O)H|_)(QMYQQw;$#bM5Q=U?7 zp9ZUPD~Bj-Dx=>68xgJ;jkNPP^{jQ6pkBx$qrs&D^-@VcgliEmew27e>ZLi@=NL}r}wnC=;^3}qwdMmc>KC99;U0I{YlNfqIm46&PC>QWA& z4W%!Q!u}L=K&PVg$5i|gmrv9xRg{wGHh-fv04^j*cy z+bY8EfXL|+cy&-`t&bf}bcRg{Mt>l&=Xh2Mh_Wi;PjK-{rFtAN+g9RGT>7)Y+v zm~Sx2X606oI{1xP8V%4B&MN0RFk}IkNN~(J>wq>nShIuMF0w`YFuX~j`9bA^$1i`6 z=|RWGbe%};pLJ*GC_v$4Pk@|^+D<_3o!cq+Pr1i4gB?%0tfRu8aU(|^K7V=bMjtfq zZp~oM%nLLFbe?=mW(e;o!MUzI-F=qjr$SVe z@yV`rq|2kY@o{;Fgg6dAk9jmP#q1Wl&e^&6B!HxdnyEV@zx2Pgo!hyc+qs?Fxt-g& fo!hyc+qs?Fxt-g&o!hyc8?^rd{}0Zm08jt`|L Date: Mon, 12 Dec 2022 16:11:24 +0200 Subject: [PATCH 18/32] RED-5238: fix auto select annotation on win virtual desktops --- .../components/file-workload/file-workload.component.ts | 5 +++-- .../modules/pdf-viewer/services/document-viewer.service.ts | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts index 29be6a15d..8b376701f 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts @@ -214,18 +214,19 @@ export class FileWorkloadComponent extends AutoUnsubscribe implements OnDestroy return; } - if ($event.key === 'ArrowLeft') { + if (!$event.metaKey && !$event.ctrlKey && $event.key === 'ArrowLeft') { this.pagesPanelActive = true; this._changeDetectorRef.markForCheck(); return; } - if ($event.key === 'ArrowRight') { + if (!$event.metaKey && !$event.ctrlKey && $event.key === 'ArrowRight') { this.pagesPanelActive = false; // if we activated annotationsPanel - // select first annotation from this page in case there is no // selected annotation on this page and not in multi select mode if (!this.pagesPanelActive && !this.multiSelectService.isActive) { + this._documentViewer.clearSelection(); this._selectFirstAnnotationOnCurrentPageIfNecessary(); } this._changeDetectorRef.markForCheck(); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts index cbc960487..0082f6ddc 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts @@ -80,6 +80,11 @@ export class REDDocumentViewer { return merge(this.#documentUnloaded$, this.#documentLoaded$).pipe(shareLast()); } + clearSelection() { + this.#document.clearSelection(); + this.#pdf.disable('textPopup'); + } + close() { this.#logger.info('[PDF] Closing document'); this.#document.closeDocument(); From 04aa63d0cb842d614428a4dac35fd25ea66f0cf6 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 15:14:21 +0100 Subject: [PATCH 19/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3383 -> 3382 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index eec3dac25..059fd6a04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.822.0", + "version": "3.823.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 7a05c69bb..9271a00d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.822.0", + "version": "3.823.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 81ba41ccfedeb02cb9fae9767d63e24b47a334f9..d7b2e5c109f1c4c0f69f898346dde3cc6dbd61c4 100644 GIT binary patch delta 3294 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 From 781819e1cfa4cbf1ea7ebf16d4c949a243e5e396 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Mon, 12 Dec 2022 17:08:29 +0200 Subject: [PATCH 20/32] RED-5399 - Toggle in preview: Make redactions (un)readable --- .../file-preview-screen.component.ts | 32 ++++--------------- .../services/suggestions.service.ts | 12 +++---- .../services/annotation-draw.service.ts | 2 ++ .../services/readable-redactions.service.ts | 28 +++++++++++++++- 4 files changed, 39 insertions(+), 35 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index 8cf05afde..0dbb75e5c 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -220,7 +220,7 @@ export class FilePreviewScreenComponent switch (this._viewModeService.viewMode) { case ViewModes.STANDARD: { - this._setAnnotationsColor(redactions, 'annotationColor'); + this._readableRedactionsService.setAnnotationsColor(redactions, 'annotationColor'); const wrappers = await this._fileDataService.annotations; const ocrAnnotationIds = wrappers.filter(a => a.isOCR).map(a => a.id); const standardEntries = annotations @@ -229,7 +229,7 @@ export class FilePreviewScreenComponent const nonStandardEntries = annotations.filter( a => bool(a.getCustomData('changeLogRemoved')) || this._annotationManager.isHidden(a.Id), ); - this._setAnnotationsOpacity(standardEntries, true); + this._readableRedactionsService.setAnnotationsOpacity(standardEntries, true); this._annotationManager.show(standardEntries); this._annotationManager.hide(nonStandardEntries); break; @@ -237,8 +237,8 @@ export class FilePreviewScreenComponent case ViewModes.DELTA: { const changeLogEntries = annotations.filter(a => bool(a.getCustomData('changeLog'))); const nonChangeLogEntries = annotations.filter(a => !bool(a.getCustomData('changeLog'))); - this._setAnnotationsColor(redactions, 'annotationColor'); - this._setAnnotationsOpacity(changeLogEntries, true); + this._readableRedactionsService.setAnnotationsColor(redactions, 'annotationColor'); + this._readableRedactionsService.setAnnotationsOpacity(changeLogEntries, true); this._annotationManager.show(changeLogEntries); this._annotationManager.hide(nonChangeLogEntries); break; @@ -247,14 +247,8 @@ export class FilePreviewScreenComponent const nonRedactionEntries = annotations.filter( a => !bool(a.getCustomData('redaction')) || bool(a.getCustomData('changeLogRemoved')), ); - if (this._readableRedactionsService.active) { - this._setAnnotationsOpacity(redactions, true); - this._setAnnotationsColor(redactions, 'annotationColor'); - } else { - this._setAnnotationsOpacity(redactions); - this._setAnnotationsColor(redactions, 'redactionColor'); - } - + this._readableRedactionsService.setPreviewAnnotationsOpacity(redactions); + this._readableRedactionsService.setPreviewAnnotationsColor(redactions); this._annotationManager.show(redactions); this._annotationManager.hide(nonRedactionEntries); this._suggestionsService.hideSuggestionsInPreview(redactions); @@ -759,20 +753,6 @@ export class FilePreviewScreenComponent } } - private _setAnnotationsOpacity(annotations: Annotation[], restoreToOriginal = false) { - annotations.forEach(annotation => { - annotation['Opacity'] = restoreToOriginal ? parseFloat(annotation.getCustomData('opacity')) : 0.5; - }); - } - - private _setAnnotationsColor(annotations: Annotation[], customData: string) { - annotations.forEach(annotation => { - const color = this._annotationDrawService.convertColor(annotation.getCustomData(customData)); - annotation['StrokeColor'] = color; - annotation['FillColor'] = color; - }); - } - private _navigateToDossier() { this._logger.info('Navigating to ', this.state.dossier.dossierName); return this._router.navigate([this.state.dossier.routerLink]); diff --git a/apps/red-ui/src/app/modules/file-preview/services/suggestions.service.ts b/apps/red-ui/src/app/modules/file-preview/services/suggestions.service.ts index 988f22ca0..429a4d2bd 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/suggestions.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/suggestions.service.ts @@ -6,6 +6,7 @@ import Annotation = Core.Annotations.Annotation; import { REDAnnotationManager } from '../../pdf-viewer/services/annotation-manager.service'; import { UserPreferenceService } from '@users/user-preference.service'; import { AnnotationDrawService } from '../../pdf-viewer/services/annotation-draw.service'; +import { ReadableRedactionsService } from '../../pdf-viewer/services/readable-redactions.service'; @Injectable() export class SuggestionsService { @@ -15,6 +16,7 @@ export class SuggestionsService { private readonly _annotationManager: REDAnnotationManager, private readonly _userPreferenceService: UserPreferenceService, private readonly _annotationDrawService: AnnotationDrawService, + private readonly _readableRedactionsService: ReadableRedactionsService, ) {} set removedRedactions(removedRedactions: AnnotationWrapper[]) { @@ -39,14 +41,8 @@ export class SuggestionsService { #convertRemoveSuggestionsToRedactions(suggestions: Annotation[]): void { const removeSuggestions = suggestions.filter(a => bool(a.getCustomData('suggestionRemove'))); - - removeSuggestions.forEach(suggestion => { - const color = this._annotationDrawService.convertColor(suggestion.getCustomData('redactionColor')); - suggestion['Opacity'] = 1; - suggestion['StrokeColor'] = color; - suggestion['FillColor'] = color; - }); - + this._readableRedactionsService.setPreviewAnnotationsOpacity(removeSuggestions); + this._readableRedactionsService.setPreviewAnnotationsColor(removeSuggestions); this._annotationManager.show(removeSuggestions); } } diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts index 0cd30eccc..4833ce1e4 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-draw.service.ts @@ -19,6 +19,7 @@ import Quad = Core.Math.Quad; const DEFAULT_TEXT_ANNOTATION_OPACITY = 1; const DEFAULT_REMOVED_ANNOTATION_OPACITY = 0.2; +const FINAL_REDACTION_COLOR = '#000000'; @Injectable() export class AnnotationDrawService { @@ -164,6 +165,7 @@ export class AnnotationDrawService { ? this._defaultColorsService.getColor(dossierTemplateId, 'requestAddColor') : this._defaultColorsService.getColor(dossierTemplateId, 'previewColor'); annotation.setCustomData('redactionColor', String(redactionColor)); + annotation.setCustomData('finalRedactionColor', FINAL_REDACTION_COLOR); annotation.setCustomData('annotationColor', String(annotationWrapper.color)); return annotation; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts index dbdf893b1..9c7b49ded 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts @@ -7,12 +7,14 @@ import { PdfViewer } from './pdf-viewer.service'; import { REDAnnotationManager } from './annotation-manager.service'; import { AnnotationDrawService } from './annotation-draw.service'; import { BehaviorSubject, Observable } from 'rxjs'; +import { Core } from '@pdftron/webviewer'; +import Annotation = Core.Annotations.Annotation; @Injectable() export class ReadableRedactionsService { readonly #enableIcon = this._convertPath('/assets/icons/general/pdftron-action-enable-tooltips.svg'); readonly #disableIcon = this._convertPath('/assets/icons/general/pdftron-action-disable-tooltips.svg'); - readonly #active$ = new BehaviorSubject(false); + readonly #active$ = new BehaviorSubject(true); readonly active$: Observable; constructor( @@ -47,4 +49,28 @@ export class ReadableRedactionsService { img: this.toggleReadableRedactionsBtnIcon, }); } + + setAnnotationsOpacity(annotations: Annotation[], restoreToOriginal = false) { + annotations.forEach(annotation => { + console.log(parseFloat(annotation.getCustomData('opacity'))); + annotation['Opacity'] = restoreToOriginal ? parseFloat(annotation.getCustomData('opacity')) : 0.5; + }); + } + + setAnnotationsColor(annotations: Annotation[], customData: string) { + annotations.forEach(annotation => { + const color = this._annotationDrawService.convertColor(annotation.getCustomData(customData)); + annotation['StrokeColor'] = color; + annotation['FillColor'] = color; + }); + } + + setPreviewAnnotationsOpacity(annotations: Annotation[]) { + this.setAnnotationsOpacity(annotations, !this.active); + } + + setPreviewAnnotationsColor(annotations: Annotation[]) { + const color = this.active ? 'redactionColor' : 'finalRedactionColor'; + this.setAnnotationsColor(annotations, color); + } } From 6c3f25d75e37c7f4bf61973d78f6c62c01708286 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 16:11:13 +0100 Subject: [PATCH 21/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3382 -> 3385 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 059fd6a04..34010ac4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.823.0", + "version": "3.824.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 9271a00d4..80af84a26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.823.0", + "version": "3.824.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index d7b2e5c109f1c4c0f69f898346dde3cc6dbd61c4..ebfb9e114294199feeab2ac214b1732243555b6c 100644 GIT binary patch delta 3296 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 delta 3293 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 Date: Mon, 12 Dec 2022 17:30:21 +0200 Subject: [PATCH 22/32] RED-5330: disable save button if no template or type selected --- .../file-download-btn.component.ts | 3 +- .../expandable-file-actions.component.ts | 21 ++++--- .../download-dialog.component.html | 2 +- .../download-dialog.component.ts | 55 ++++++++++--------- apps/red-ui/src/assets/i18n/redact/en.json | 2 +- apps/red-ui/src/assets/i18n/scm/en.json | 2 +- 6 files changed, 43 insertions(+), 42 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index ebd2fde84..c180328bd 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -51,10 +51,9 @@ export class FileDownloadBtnComponent implements OnChanges { return; } - const filesIds = this.files.map(f => f.id); await this._fileDownloadService.downloadFiles({ dossierId: this.dossier.id, - fileIds: filesIds, + fileIds: this.files.map(f => f.id), ...result, }); this._toaster.info(_('download-status.queued')); diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts index 943e6c0aa..330b75e3c 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts @@ -49,6 +49,10 @@ export class ExpandableFileActionsComponent implements OnChanges { private readonly _dialog: MatDialog, ) {} + get overlappingElement() { + return this.helpModeKey === 'document_features_in_editor' ? OverlappingElements.USER_MENU : undefined; + } + ngOnChanges(changes: SimpleChanges) { if (changes.actions || changes.maxWidth || changes.minWidth) { let count = 0; @@ -91,6 +95,11 @@ export class ExpandableFileActionsComponent implements OnChanges { } } + onButtonClick(button: Action, $event: MouseEvent) { + button.action($event); + this.matMenu.closeMenu(); + } + private async _downloadFiles($event: MouseEvent, files: File[], dossier: Dossier) { $event.stopPropagation(); const ref = this._dialog.open(DownloadDialogComponent, { @@ -102,21 +111,11 @@ export class ExpandableFileActionsComponent implements OnChanges { return; } - const filesIds = files.map(f => f.id); await this._fileDownloadService.downloadFiles({ dossierId: dossier.id, - fileIds: filesIds, + fileIds: files.map(f => f.id), ...result, }); this._toaster.info(_('download-status.queued')); } - - onButtonClick(button: Action, $event: MouseEvent) { - button.action($event); - this.matMenu.closeMenu(); - } - - get overlappingElement() { - return this.helpModeKey === 'document_features_in_editor' ? OverlappingElements.USER_MENU : undefined; - } } diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html index 7f5221946..827fe7105 100644 --- a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html @@ -46,7 +46,7 @@
-
diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts index fc13fe304..d8373d6a6 100644 --- a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts @@ -2,9 +2,10 @@ import { Component, Inject, OnInit } from '@angular/core'; import { Dossier, DownloadFileType, IReportTemplate } from '@red/domain'; import { downloadTypesForDownloadTranslations } from '@translations/download-types-translations'; import { ReportTemplateService } from '@services/report-template.service'; -import { FormControl, FormGroup, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { AbstractControl, FormBuilder } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DefaultColorsService } from '@services/entity-services/default-colors.service'; +import { List } from '@iqser/common-ui'; export interface DownloadDialogData { readonly dossier: Dossier; @@ -12,15 +13,9 @@ export interface DownloadDialogData { } export interface DownloadDialogResult { - readonly downloadFileTypes: DownloadFileType[]; - readonly reportTemplateIds: string[]; - readonly redactionPreviewColor: string; -} - -interface DownloadDialogForm { - redactionPreviewColor: FormControl; - reportTemplateIds: FormControl; - downloadFileTypes: FormControl; + downloadFileTypes: List; + reportTemplateIds: List; + redactionPreviewColor: string; } @Component({ @@ -29,7 +24,7 @@ interface DownloadDialogForm { styleUrls: ['./download-dialog.component.scss'], }) export class DownloadDialogComponent implements OnInit { - downloadTypes: { key: DownloadFileType; label: string }[] = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map( + readonly downloadTypes: { key: DownloadFileType; label: string }[] = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map( (type: DownloadFileType) => ({ key: type, label: downloadTypesForDownloadTranslations[type], @@ -38,7 +33,15 @@ export class DownloadDialogComponent implements OnInit { availableReportTypes: IReportTemplate[] = []; - form: FormGroup; + readonly form = this._getForm(); + + constructor( + private readonly _defaultColorsService: DefaultColorsService, + private readonly _reportTemplateController: ReportTemplateService, + private readonly _formBuilder: FormBuilder, + private readonly _dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) readonly data: DownloadDialogData, + ) {} get reportTypesLength() { return this.form.controls.reportTemplateIds?.value?.length || 0; @@ -52,8 +55,6 @@ export class DownloadDialogComponent implements OnInit { const dossierTemplateId = this.data.dossier.dossierTemplateId; this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || []; - - this.form = this._getForm(); } reportTemplateValueMapper = (reportTemplate: IReportTemplate) => reportTemplate.templateId; @@ -72,7 +73,14 @@ export class DownloadDialogComponent implements OnInit { this._dialogRef.close(); } - private _getForm(): UntypedFormGroup { + private _hasReportTemplateOrDownloadType(control: AbstractControl) { + const atLeastAReportSelected = control.get('reportTemplateIds')?.value.length > 0; + const atLeastATypeSelected = control.get('downloadFileTypes')?.value.length > 0; + + return atLeastATypeSelected || atLeastAReportSelected ? null : { reportTemplateIds: true, downloadFileTypes: true }; + } + + private _getForm() { const previewColor = this._defaultColorsService.getColor(this.data.dossier.dossierTemplateId, 'previewColor'); return this._formBuilder.group( { @@ -81,19 +89,14 @@ export class DownloadDialogComponent implements OnInit { redactionPreviewColor: [previewColor], }, { - validators: control => - control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 - ? null - : { downloadPackage: true }, + validators: [control => this._hasReportTemplateOrDownloadType(control), control => this._isHexColor(control)], }, ); } - constructor( - private readonly _defaultColorsService: DefaultColorsService, - private readonly _reportTemplateController: ReportTemplateService, - private readonly _formBuilder: UntypedFormBuilder, - private readonly _dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) readonly data: DownloadDialogData, - ) {} + private _isHexColor(control: AbstractControl) { + const color = control.get('redactionPreviewColor')?.value; + const isHexColor = /^#[0-9A-F]{6}$/i.test(color); + return isHexColor ? null : { redactionPreviewColor: true }; + } } diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index bcd647a59..c08cefd6c 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1023,7 +1023,7 @@ }, "form": { "redaction-preview-color": "Redaction preview color", - "redaction-preview-color-placeholder": "" + "redaction-preview-color-placeholder": "#000000" }, "header": "Download options", "unapproved-files-warning": "This download contains unapproved file(s)" diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index a0bb8ad46..097c86b11 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -1023,7 +1023,7 @@ }, "form": { "redaction-preview-color": "Redaction preview color", - "redaction-preview-color-placeholder": "" + "redaction-preview-color-placeholder": "#000000" }, "header": "Download options", "unapproved-files-warning": "This download contains unapproved file(s)" From 36b3681c7c6b64f72d29957e58294ffd55d38d99 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 16:32:58 +0100 Subject: [PATCH 23/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3385 -> 3383 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34010ac4f..26bce6f78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.824.0", + "version": "3.825.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 80af84a26..f68d8a167 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.824.0", + "version": "3.825.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ebfb9e114294199feeab2ac214b1732243555b6c..b663831c3918045596f5d6f8b83f204c5541af90 100644 GIT binary patch delta 3241 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 b8TkdJ|E=xZlMxLY3!wcMo~ysJ08jt`OOHtf delta 3243 zcmV;c3{>;C8o3&fc?mn~we!q&?7#_;f+K(DEdQUQ9hHAYVjMBqw~Xrg!`9#eUink< z2U)x8PX4Y7x?nr2z*|2<_QxgF-2Tty|2j%>RTG9T|MKlu*5>l%#cR4Ri;AJ9%C0U` z#>#s8;zd&AtX}SlVwVwI(s~&c`xl@P?r#&kr`i2ye=14-n{RMlZz;ps;%=9+*YaqnShlSK+albsg8wdynlf6zn~G$Z(KqBY z>}C6HC6r{bSV^wp*!CwJXjoL7kH{(CqPoavjGjkPL}KsIX;nC;O%0T{co~2AoFvI3 zaoKJ`5h9WnStt0S#1UopTVyZSj|8@O+R8(1(e%QRdZFonvza58_W<&Q%URl^9!t7~->NE0|Sv;Ho)r&~05GH>xlK=*0vDKK- z>?O@}sUe-|6B7Ck96L?!yKyQG1|TXwhoV`Ydm zT>tS)8Px8u;KxzB)JI^d^7-2Xc&f(gG7;#^;Rmo%VI0jfl11Qq36*`qIG%8F{JtM;U}1kngfNECmfG^6DGza^ruAsQY$We_b7 zk#(l`fpbvAucXB5_dkN9YOX^=IMaK=!#$keXMiIfkvF*+Y&SmO@cEzr^Ur_P=qi2x zLzB=QL0?s%9{KeU+VpM+Bt?3rVpXJWGBy=MCw>wn>vo=;z=2}g#jVo)^^U@^rKdQu zPVX{#ngD;%o!$Drizbt6v}0=}KbQzt9~+XYKGJhrL`SQ3gr;CqGj3NE>&t74+=N$q zoC%yWs?7#X-s>@fT&KsVXOxMao-=$B+H{;8t^hAG2!giBdh7zQkkr%R0VszHW7O9W5#lf- zFyr}+ceBB^+L;%uA7C;5W%2#Z4ctwFlTcfnL7={~L=3!DRaYOt=h}&rXe_zIRn9x& zFt#-W1QiBi1Q`ZuvR1K1<7)zT2Q$7efrWqg%5_)3LU+UY2+XvXH`nU$T}AF8JXO<1 zy~~C^&+%fPjQZ9_PKquMx-iC3=#9DpZZNz!i1Db)H*!;St&H3hU9RFc2VEPZ{C2$L zCy2J~B(aCsLmvkjL?pP;R%>-wOiYrE?PvttL#$TZ$%0#Uss%_#ns=e2fPtouIP$x3|(A$L3p!{!%-I(k+=4vjWg=v zf{lXMBigKz=C>_Z95;wHB}z$F?u(clY>nW)Iz+XrUTatTH5+j3dGA!6wXyp&fZmDv zdbgO_o>)OZR~LJN)Uy5?3^XH_VupX}v}hoW4+-KHp`tO5eD6~DfY=R!$EE_?4N0Xq z8oktPU0GT=-jknjG2z9zH>hb$LOfX?KkWZHsvw_%pf^D=LzS1^BCKUWX+G^ye@Ic@f&Nj*|jLRtH6#%E}@@B z5LV>3TB6xbb6S)~*{7pqC?|iZQxXR0|4$%t{6w#dN{m2o#E-8bfF9EI!GQGos!V&e z)QsOnFamkSi;5kDj)xgZ)Wl$FQj;B<-X+yDrXL67_hkfDL}=QZ=$d!1% z1f=rz)o_xkcK!i)(c8+fcx%-uj*Gj)nbpC(cn^n zda0xz!nKGOKT5nK@=?pXrK|7C6fpC-PSY!71eLl5V7B7IE|w56A&hS<$6bt#9?hSHZtVSfrbpi@!$V=DfL%O`4;DoROoo6(x_(iQV*}Bam3~y~dfs@4<*N znr|;4?pUBzz-wrZe?3|ZBv)$8H<)Cza;rxj{6;K|2IzkYXO(ju7_tCNBsgZAbwHaO ztl7bB7ulkH7~Z7N{Gf8dw1)2dmPrfBHg!h!-T-ToNzRQ5l z(36bpt#5x>6%mO+yG8c5tQjd!T#laz4INWJGUlDm{=UTVeM9O#w=gDO{fJkH#UocJ zPI_(ORghu)h=X04EaSi4XeRV6-{&%)mHAQYkkOXGVubaOjduh(5gv}-#ykJW4FO4f zUo+YjK=CSP?=so%fqp3cHh;=Da_@b#Qoz{kvX`T#p8*gA67G-1ok1N;*mUuPUeyS>hdsFhatr7 ziv3B5fd*00rXfUcE=1o`Au7uFWY;><|A^jKvG1_ d)SU&9U;5wLlMxLY4bBbPe*uM=8p{As006F!Q= Date: Mon, 12 Dec 2022 18:43:11 +0200 Subject: [PATCH 24/32] RED-5401 - updated removed redactions list to contain only values where a remove suggestion is the last value in the manual changes list --- .../app/modules/file-preview/services/file-data.service.ts | 5 +++-- .../pdf-viewer/services/readable-redactions.service.ts | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index 0bc2609ae..c1bc2bd95 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -181,9 +181,10 @@ export class FileDataService extends EntitiesService { const redactionLogCopy = JSON.parse(JSON.stringify(redactionLog)); redactionLogCopy.redactionLogEntry = redactionLogCopy.redactionLogEntry.reduce((filtered, entry) => { - const isRemoveChange = entry.manualChanges.find(c => this.#isRemoveChange(c.manualRedactionType)); + const lastChange = entry.manualChanges.at(-1); + const isRemoveChange = this.#isRemoveChange(lastChange.manualRedactionType); if (isRemoveChange) { - entry.manualChanges = entry.manualChanges.filter(c => !this.#isRemoveChange(c.manualRedactionType)); + entry.manualChanges.pop(); filtered.push(entry); } return filtered; diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts index 9c7b49ded..693f71290 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts @@ -52,7 +52,6 @@ export class ReadableRedactionsService { setAnnotationsOpacity(annotations: Annotation[], restoreToOriginal = false) { annotations.forEach(annotation => { - console.log(parseFloat(annotation.getCustomData('opacity'))); annotation['Opacity'] = restoreToOriginal ? parseFloat(annotation.getCustomData('opacity')) : 0.5; }); } From b6e3046d21960900d01374933ef9e6bae398d179 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 17:45:50 +0100 Subject: [PATCH 25/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3383 -> 3383 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 26bce6f78..d05cd4fcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.825.0", + "version": "3.826.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index f68d8a167..809260a8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.825.0", + "version": "3.826.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b663831c3918045596f5d6f8b83f204c5541af90..b4d13d4d76b1c5d5a3acf954c5a9e47ce06561b1 100644 GIT binary patch delta 3295 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 delta 3295 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 From 018a8c8d544ae5272e4e0b1b8d43b7094f97f494 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 12 Dec 2022 19:32:54 +0200 Subject: [PATCH 26/32] RED-3800: fix undefined lastChange --- .../app/modules/file-preview/file-preview-screen.component.ts | 2 -- .../src/app/modules/file-preview/services/file-data.service.ts | 2 +- .../modules/pdf-viewer/services/readable-redactions.service.ts | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts index 0dbb75e5c..cc93d8ec2 100644 --- a/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/file-preview-screen.component.ts @@ -12,7 +12,6 @@ import { ViewChild, } from '@angular/core'; import { ActivatedRoute, ActivatedRouteSnapshot, NavigationExtras, Router } from '@angular/router'; -import { Core } from '@pdftron/webviewer'; import { AutoUnsubscribe, bool, @@ -72,7 +71,6 @@ import { ConfigService } from '@services/config.service'; import { ReadableRedactionsService } from '../pdf-viewer/services/readable-redactions.service'; import { ROLES } from '@users/roles'; import { SuggestionsService } from './services/suggestions.service'; -import Annotation = Core.Annotations.Annotation; const textActions = [TextPopups.ADD_DICTIONARY, TextPopups.ADD_FALSE_POSITIVE]; diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index c1bc2bd95..ef04cce80 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -182,7 +182,7 @@ export class FileDataService extends EntitiesService { const lastChange = entry.manualChanges.at(-1); - const isRemoveChange = this.#isRemoveChange(lastChange.manualRedactionType); + const isRemoveChange = this.#isRemoveChange(lastChange?.manualRedactionType); if (isRemoveChange) { entry.manualChanges.pop(); filtered.push(entry); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts index 693f71290..c98c4ba77 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/readable-redactions.service.ts @@ -12,10 +12,10 @@ import Annotation = Core.Annotations.Annotation; @Injectable() export class ReadableRedactionsService { + readonly active$: Observable; readonly #enableIcon = this._convertPath('/assets/icons/general/pdftron-action-enable-tooltips.svg'); readonly #disableIcon = this._convertPath('/assets/icons/general/pdftron-action-disable-tooltips.svg'); readonly #active$ = new BehaviorSubject(true); - readonly active$: Observable; constructor( @Inject(BASE_HREF_FN) private readonly _convertPath: BaseHrefFn, From a74829fc4f04a057ab20c1de1652a89d3df8899a Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 12 Dec 2022 18:35:38 +0100 Subject: [PATCH 27/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3383 -> 3384 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d05cd4fcf..c8be4e87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.826.0", + "version": "3.827.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 809260a8e..d81b24f3b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.826.0", + "version": "3.827.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b4d13d4d76b1c5d5a3acf954c5a9e47ce06561b1..e23bcd3acc779a6403b354fff28c122cf32f24e2 100644 GIT binary patch delta 3296 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 delta 3295 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 From 0328c9d02040485d7ef223988d148e763a7b67fc Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 13 Dec 2022 11:46:09 +0200 Subject: [PATCH 28/32] RED-5330: fix report template no autoselect --- .../download-dialog/download-dialog.component.html | 3 ++- .../download-dialog/download-dialog.component.ts | 14 ++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html index 827fe7105..ce6318b1a 100644 --- a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.html @@ -8,9 +8,10 @@
({ key: type, label: downloadTypesForDownloadTranslations[type], }), ); - - availableReportTypes: IReportTemplate[] = []; - + readonly availableReportTypes = this._availableReportTypes; readonly form = this._getForm(); constructor( @@ -51,10 +49,10 @@ export class DownloadDialogComponent implements OnInit { return this.form.controls.downloadFileTypes?.value?.length || 0; } - async ngOnInit() { + private get _availableReportTypes() { const dossierTemplateId = this.data.dossier.dossierTemplateId; - - this.availableReportTypes = (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId)) || []; + const result = this._reportTemplateController.getAvailableReportTemplates(dossierTemplateId); + return result.then(values => values ?? []); } reportTemplateValueMapper = (reportTemplate: IReportTemplate) => reportTemplate.templateId; From 1f399259ac6bc2b0cb77e3b9a69fd8c768cd263e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 13 Dec 2022 10:49:00 +0100 Subject: [PATCH 29/32] chore(release) --- package-lock.json | 2 +- package.json | 2 +- paligo-theme.tar.gz | Bin 3384 -> 3382 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c8be4e87c..1f62cce76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.827.0", + "version": "3.828.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index d81b24f3b..fd7578f43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.827.0", + "version": "3.828.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index e23bcd3acc779a6403b354fff28c122cf32f24e2..ad56665b10d07cc30dcc3eb001254d1b96a1b010 100644 GIT binary patch delta 3295 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 From 85e5c5623ace044367e6728a03eebfcc4ccb9f1e Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 13 Dec 2022 12:51:45 +0200 Subject: [PATCH 30/32] RED-3800 rss editing --- .../rss-dialog/rss-dialog.component.html | 39 ++++++++++++++++--- .../rss-dialog/rss-dialog.component.scss | 28 +++++++++++++ .../rss-dialog/rss-dialog.component.ts | 18 ++++++++- .../src/app/services/files/rss.service.ts | 2 +- apps/red-ui/src/assets/config/config.json | 8 ++-- 5 files changed, 83 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html index 5e98ca16f..cd30afbae 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html @@ -3,11 +3,40 @@
-
-
-
{{ entry.key }}:
-
{{ entry.value }}
-
+
+
Component
+
Value
+
Transformation
+
Annotations
+ + +
{{ entry.key }}
+
+
+ + +
+ +
+
+
+
{{ entry.value.transformation }}
+
{{ entry.value.scmAnnotations | json }}
+
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.scss b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.scss index fa01814c2..f741ead8d 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.scss +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.scss @@ -19,3 +19,31 @@ .dialog-content { overflow: auto; } + +.table { + display: grid; + grid-template-columns: repeat(4, 1fr); + + > div { + padding: 8px 10px; + } + + .bold { + font-weight: 600; + } + + .value-content { + .value { + } + + .actions { + } + } + + .table-header { + margin: 10px 0; + border-bottom: 1px solid var(--iqser-separator); + background-color: var(--iqser-grey-2); + font-weight: 600; + } +} diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts index 2b8eb4b21..603c1ddd5 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from '@angular/core'; -import { BaseDialogComponent } from '@iqser/common-ui'; +import { BaseDialogComponent, IconButtonTypes } from '@iqser/common-ui'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { RssService } from '@services/files/rss.service'; import { IFile, IRssEntry } from '@red/domain'; @@ -18,9 +18,11 @@ interface RssData { styleUrls: ['./rss-dialog.component.scss'], }) export class RssDialogComponent extends BaseDialogComponent { + readonly iconButtonTypes = IconButtonTypes; + rssData$: Observable; - originalOrder = (a: KeyValue, b: KeyValue): number => 0; + originalOrder = (a: KeyValue, b: KeyValue): number => 0; constructor( protected readonly _dialogRef: MatDialogRef, @@ -35,6 +37,7 @@ export class RssDialogComponent extends BaseDialogComponent { const mapped = {}; for (const key of Object.keys(entry.result)) { const newKey = key.replace(new RegExp('_', 'g'), ' '); + (entry.result[key]).originalKey = key; mapped[newKey] = entry.result[key]; } return { @@ -64,4 +67,15 @@ export class RssDialogComponent extends BaseDialogComponent { save(): void { this.exportJSON(); } + + undo() { + console.log('Undo'); + } + + saveEdit(event: string, originalKey: string) { + console.log(event, originalKey); + /** + * https://qa2.iqser.cloud/redaction-gateway-v1/swagger-ui/index.html#/rss-controller/revertOverrides + */ + } } diff --git a/apps/red-ui/src/app/services/files/rss.service.ts b/apps/red-ui/src/app/services/files/rss.service.ts index 71f639f6d..1d4b14d5e 100644 --- a/apps/red-ui/src/app/services/files/rss.service.ts +++ b/apps/red-ui/src/app/services/files/rss.service.ts @@ -15,7 +15,7 @@ export class RssService extends GenericService { const queryParams: QueryParam[] = []; queryParams.push({ key: 'fileId', value: fileId }); - const rssData$ = this._getOne([dossierId], 'rss', queryParams); + const rssData$ = this._getOne([dossierId], 'rss/detailed', queryParams); return rssData$.pipe( map(data => data.files[0]), catchError(() => of({} as IRssEntry)), diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index f4b69417a..ef98789d9 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -1,7 +1,7 @@ { "ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_URL": null, - "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1", + "API_URL": "https://syngenta-scm.iqser.cloud/redaction-gateway-v1", "APP_NAME": "RedactManager", "AUTO_READ_TIME": 3, "BACKEND_APP_VERSION": "4.4.40", @@ -11,11 +11,11 @@ "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", "OAUTH_IDP_HINT": null, - "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction", + "OAUTH_URL": "https://syngenta-scm.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, "SELECTION_MODE": "structural", "MANUAL_BASE_URL": "https://docs.redactmanager.com/preview", "ANNOTATIONS_THRESHOLD": 1000, - "THEME": "redact", - "BASE_TRANSLATIONS_DIRECTORY": "/assets/i18n/redact/" + "THEME": "scm", + "BASE_TRANSLATIONS_DIRECTORY": "/assets/i18n/scm/" } From 8c4d78f3e23d131b0b425edcbb8bc6f2bd2846f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 13 Dec 2022 13:28:39 +0200 Subject: [PATCH 31/32] RED-3800: RSS editing --- .../rss-dialog/rss-dialog.component.html | 45 ++++++------ .../rss-dialog/rss-dialog.component.ts | 69 +++++++++++-------- .../src/app/services/files/rss.service.ts | 14 ++++ apps/red-ui/src/assets/i18n/redact/de.json | 6 +- apps/red-ui/src/assets/i18n/redact/en.json | 6 +- apps/red-ui/src/assets/i18n/scm/de.json | 6 +- apps/red-ui/src/assets/i18n/scm/en.json | 6 +- libs/common-ui | 2 +- 8 files changed, 99 insertions(+), 55 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html index cd30afbae..60ee41f38 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html @@ -1,9 +1,9 @@
-
+

-
+
Component
Value
Transformation
@@ -12,27 +12,26 @@
{{ entry.key }}
-
- - -
+ + -
-
+ +
{{ entry.value.transformation }}
{{ entry.value.scmAnnotations | json }}
@@ -41,17 +40,17 @@
- - -
- +
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts index 603c1ddd5..62a8119ab 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts @@ -1,9 +1,9 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, OnInit } from '@angular/core'; import { BaseDialogComponent, IconButtonTypes } from '@iqser/common-ui'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { RssService } from '@services/files/rss.service'; import { IFile, IRssEntry } from '@red/domain'; -import { firstValueFrom, Observable } from 'rxjs'; +import { BehaviorSubject, firstValueFrom } from 'rxjs'; import { map } from 'rxjs/operators'; import { FilesMapService } from '@services/files/files-map.service'; import { UserPreferenceService } from '@users/user-preference.service'; @@ -17,12 +17,10 @@ interface RssData { templateUrl: './rss-dialog.component.html', styleUrls: ['./rss-dialog.component.scss'], }) -export class RssDialogComponent extends BaseDialogComponent { +export class RssDialogComponent extends BaseDialogComponent implements OnInit { readonly iconButtonTypes = IconButtonTypes; - rssData$: Observable; - - originalOrder = (a: KeyValue, b: KeyValue): number => 0; + rssData$ = new BehaviorSubject(null); constructor( protected readonly _dialogRef: MatDialogRef, @@ -32,22 +30,14 @@ export class RssDialogComponent extends BaseDialogComponent { @Inject(MAT_DIALOG_DATA) readonly data: RssData, ) { super(_dialogRef); - this.rssData$ = this._rssService.getRSSData(this.data.file.dossierId, this.data.file.fileId).pipe( - map(entry => { - const mapped = {}; - for (const key of Object.keys(entry.result)) { - const newKey = key.replace(new RegExp('_', 'g'), ' '); - (entry.result[key]).originalKey = key; - mapped[newKey] = entry.result[key]; - } - return { - filaName: entry.filaName, - result: mapped, - }; - }), - ); } + async ngOnInit(): Promise { + await this.#loadData(); + } + + originalOrder = (a: KeyValue, b: KeyValue): number => 0; + exportJSON() { this._rssService.exportJSON(this.data.file.dossierId, this.data.file.fileId, this.data.file.filename).subscribe(); } @@ -68,14 +58,39 @@ export class RssDialogComponent extends BaseDialogComponent { this.exportJSON(); } - undo() { - console.log('Undo'); + async undo(entry: KeyValue) { + this._loadingService.start(); + await firstValueFrom(this._rssService.revertOverride(this.data.file.dossierId, this.data.file.fileId, [entry.value.originalKey])); + await this.#loadData(); } - saveEdit(event: string, originalKey: string) { - console.log(event, originalKey); - /** - * https://qa2.iqser.cloud/redaction-gateway-v1/swagger-ui/index.html#/rss-controller/revertOverrides - */ + async saveEdit(event: string, entry: KeyValue) { + this._loadingService.start(); + await firstValueFrom( + this._rssService.override(this.data.file.dossierId, this.data.file.fileId, { [entry.value.originalKey]: event }), + ); + await this.#loadData(); + } + + async #loadData(): Promise { + this._loadingService.start(); + const rssData = await firstValueFrom( + this._rssService.getRSSData(this.data.file.dossierId, this.data.file.fileId).pipe( + map(entry => { + const mapped = {}; + for (const key of Object.keys(entry.result)) { + const newKey = key.replace(new RegExp('_', 'g'), ' '); + (entry.result[key]).originalKey = key; + mapped[newKey] = entry.result[key]; + } + return { + filaName: entry.filaName, + result: mapped, + }; + }), + ), + ); + this.rssData$.next(rssData); + this._loadingService.stop(); } } diff --git a/apps/red-ui/src/app/services/files/rss.service.ts b/apps/red-ui/src/app/services/files/rss.service.ts index 1d4b14d5e..25f60ea1d 100644 --- a/apps/red-ui/src/app/services/files/rss.service.ts +++ b/apps/red-ui/src/app/services/files/rss.service.ts @@ -40,6 +40,20 @@ export class RssService extends GenericService { }); } + @Validate() + override( + @RequiredParam() dossierId: string, + @RequiredParam() fileId: string, + @RequiredParam() componentOverrides: Record, + ) { + return this._post({ componentOverrides }, `rss/override/${dossierId}/${fileId}`); + } + + @Validate() + revertOverride(@RequiredParam() dossierId: string, @RequiredParam() fileId: string, @RequiredParam() components: string[]) { + return this._post({ components }, `rss/override/revert/${dossierId}/${fileId}`); + } + exportJSON(dossierId: string, fileId: string, name: string) { return this.getRSSData(dossierId, fileId).pipe( tap(data => { diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 6fbb77a45..1045a6ad2 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -1953,9 +1953,13 @@ }, "rss-dialog": { "actions": { + "cancel-edit": "", "close": "", + "edit": "", "export-json": "", - "export-xml": "" + "export-xml": "", + "save": "", + "undo": "" }, "title": "" }, diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index c08cefd6c..4ba768210 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1953,9 +1953,13 @@ }, "rss-dialog": { "actions": { + "cancel-edit": "Cancel", "close": "Close", + "edit": "Edit", "export-json": "Export JSON", - "export-xml": "Export XML" + "export-xml": "Export XML", + "save": "Save", + "undo": "Undo" }, "title": "Structured Component Management" }, diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index 7cf98b4e0..2e29848a1 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -1953,9 +1953,13 @@ }, "rss-dialog": { "actions": { + "cancel-edit": "", "close": "", + "edit": "", "export-json": "", - "export-xml": "" + "export-xml": "", + "save": "", + "undo": "" }, "title": "" }, diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 097c86b11..e4c0f2681 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -1953,9 +1953,13 @@ }, "rss-dialog": { "actions": { + "cancel-edit": "Cancel", "close": "Close", + "edit": "Edit", "export-json": "Export JSON", - "export-xml": "Export XML" + "export-xml": "Export XML", + "save": "Save", + "undo": "Undo" }, "title": "Structured Component Management" }, diff --git a/libs/common-ui b/libs/common-ui index 5f9c754ab..b58f1ca2f 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 5f9c754abf0fb4fcc0606d811a66c5bbb88d164a +Subproject commit b58f1ca2fed8e8ddf2834c0fd15e48d00b6a1329 From b79469717bff6e19f4774f9acca98af705ab7e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 13 Dec 2022 13:39:24 +0200 Subject: [PATCH 32/32] RED-3800: RSS editing --- .../dialogs/rss-dialog/rss-dialog.component.html | 2 +- .../dialogs/rss-dialog/rss-dialog.component.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html index 60ee41f38..3f4f19e2c 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.html @@ -34,7 +34,7 @@
{{ entry.value.transformation }}
-
{{ entry.value.scmAnnotations | json }}
+
{{ entry.value.scmAnnotations || '-' }}
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts index 62a8119ab..944c9e51e 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/rss-dialog/rss-dialog.component.ts @@ -83,6 +83,18 @@ export class RssDialogComponent extends BaseDialogComponent implements OnInit { (entry.result[key]).originalKey = key; mapped[newKey] = entry.result[key]; } + console.log({ mapped }); + for (const key of Object.keys(mapped)) { + if (mapped[key].scmAnnotations) { + mapped[key].scmAnnotations = mapped[key].scmAnnotations + .map(annotation => + Object.entries(annotation) + .map(([k, value]) => `${k[0].toUpperCase()}${k.slice(1)}: ${value}`) + .join(', '), + ) + .join('; '); + } + } return { filaName: entry.filaName, result: mapped,