From 16a1d99bc19ab424dc777c2f23a9bf86eec90117 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 21 Jun 2022 11:40:00 +0300 Subject: [PATCH 01/49] RED-3800: update common-ui --- .editorconfig | 2 ++ .prettierignore | 1 + apps/red-ui/.eslintrc.json | 6 +++++- apps/red-ui/src/app/app.component.ts | 2 +- .../modules/file-preview/file-preview-screen.component.ts | 3 +-- .../general-info/edit-dossier-general-info.component.ts | 8 +++----- apps/red-ui/src/app/services/config.service.ts | 2 +- libs/common-ui | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.editorconfig b/.editorconfig index 347f00f8a..73ad2e311 100644 --- a/.editorconfig +++ b/.editorconfig @@ -21,3 +21,5 @@ ij_typescript_spaces_within_imports = true [{*.json, .prettierrc, .eslintrc}] indent_size = 2 +tab_width = 2 +ij_json_array_wrapping = off diff --git a/.prettierignore b/.prettierignore index 62d06f966..81d117d52 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,3 +4,4 @@ /coverage /node_modules /bamboo-specs +*.md diff --git a/apps/red-ui/.eslintrc.json b/apps/red-ui/.eslintrc.json index a4c08896a..3261c1447 100644 --- a/apps/red-ui/.eslintrc.json +++ b/apps/red-ui/.eslintrc.json @@ -12,9 +12,13 @@ "rules": { "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-call": "off", - "@typescript-eslint/unbound-method": "off" + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/unbound-method": "off", + "@typescript-eslint/no-misused-promises": "off", + "@typescript-eslint/no-floating-promises": "off" } } ] diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index 39033dde8..2dbb71620 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -12,7 +12,7 @@ export class AppComponent { // ViewContainerRef needs to be injected for the color picker to work // RouterHistoryService needs to be injected for last dossiers screen to be updated on first app load constructor( - public viewContainerRef: ViewContainerRef, + readonly viewContainerRef: ViewContainerRef, private readonly _routerHistoryService: RouterHistoryService, private readonly _userService: UserService, readonly documentViewer: REDDocumentViewer, 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 5124d2521..dfc07a124 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 @@ -428,9 +428,8 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni if (hasAnnotations) { return this.#findAnnotationsToDraw(newAnnotations, oldAnnotations); - } else { - return newAnnotations; } + return newAnnotations; } #rebuildFilters() { diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 620b88105..663e6dd41 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -84,7 +84,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti this.states.length === 1 ? 'edit-dossier-dialog.general-info.form.dossier-state.no-state-placeholder' : 'edit-dossier-dialog.general-info.form.dossier-state.placeholder', - ); + ) as string; } ngOnInit() { @@ -174,10 +174,8 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } getStateName(stateId: string): string { - return ( - this._dossierStatesMapService.get(this.dossier.dossierTemplateId, stateId)?.name || - this._translateService.instant('edit-dossier-dialog.general-info.form.dossier-state.placeholder') - ); + return (this._dossierStatesMapService.get(this.dossier.dossierTemplateId, stateId)?.name || + this._translateService.instant('edit-dossier-dialog.general-info.form.dossier-state.placeholder')) as string; } getStateColor(stateId: string): string { diff --git a/apps/red-ui/src/app/services/config.service.ts b/apps/red-ui/src/app/services/config.service.ts index ff1381bbd..ffb9ccae1 100644 --- a/apps/red-ui/src/app/services/config.service.ts +++ b/apps/red-ui/src/app/services/config.service.ts @@ -3,7 +3,7 @@ import { HttpClient } from '@angular/common/http'; import { Title } from '@angular/platform-browser'; import packageInfo from '../../../../../package.json'; import envConfig from '../../assets/config/config.json'; -import { CacheApiService, wipeAllCaches, wipeCaches } from '@red/cache'; +import { CacheApiService, wipeAllCaches } from '@red/cache'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { AppConfig } from '@red/domain'; diff --git a/libs/common-ui b/libs/common-ui index f1934abc2..90419f2f8 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit f1934abc2b259a6e89303e95fe70a54471d2401d +Subproject commit 90419f2f8b7c1d970ca0bf2cfdfebae9d3271156 From 098fc32e1233fae119efe6464ff38f3397dd45ec Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 21 Jun 2022 10:43:13 +0200 Subject: [PATCH 02/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 56f21f348..8230c5442 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.546.0", + "version": "3.547.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 174aed440a4a9648911940fba7b628d3086450b2..75bf790a398213592a81a97b50e275acb0f2da0d 100644 GIT binary patch delta 3174 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 M12z6M{Qyt^05pObW&i*H From 51882007b3f23727a5910c1f14ddde3a69e3dcba Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 21 Jun 2022 13:28:56 +0300 Subject: [PATCH 03/49] RED-3837: fix annotation redraw --- .../file-preview-screen.component.ts | 29 +++++++++++-------- .../services/pdf-proxy.service.ts | 20 +++++++------ .../pdf-viewer/services/pdf-viewer.service.ts | 6 ++++ 3 files changed, 34 insertions(+), 21 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 dfc07a124..95655f218 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 @@ -9,7 +9,6 @@ import { Debounce, ErrorService, FilterService, - List, LoadingService, NestedFilter, OnAttach, @@ -363,10 +362,13 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni }), ); - const currentPageAnnotations$ = combineLatest([this.pdf.currentPage$, this._fileDataService.annotations$]).pipe( - map(([, annotations]) => annotations), - startWith([] as List), + const annotations$ = this._fileDataService.annotations$.pipe( + startWith([] as AnnotationWrapper[]), pairwise(), + tap(annotations => this.deleteAnnotations(...annotations)), + ); + const currentPageAnnotations$ = combineLatest([this.pdf.currentPage$, annotations$]).pipe( + map(([, annotations]) => annotations), map(([oldAnnotations, newAnnotations]) => { const page = this.pdf.currentPage; return [oldAnnotations.filter(byPage(page)), newAnnotations.filter(byPage(page))] as const; @@ -378,7 +380,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni filter(([, loaded]) => loaded), tap(() => (start = new Date().getTime())), map(([annotations]) => annotations), - tap(annotations => this.deleteAnnotations(...annotations)), switchMap(annotations => this.drawChangedAnnotations(...annotations)), tap(([, newAnnotations]) => this.#highlightSelectedAnnotations(newAnnotations)), tap(() => this._logger.info(`[ANNOTATIONS] Processing time: ${new Date().getTime() - start}`)), @@ -387,26 +388,30 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } deleteAnnotations(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { - const annotationsToDelete = oldAnnotations.filter(oldAnnotation => !newAnnotations.some(byId(oldAnnotation.id))); + const annotationsToDelete = oldAnnotations.filter(oldAnnotation => { + const newAnnotation = newAnnotations.find(byId(oldAnnotation.id)); + if (!newAnnotation) { + return true; + } + return JSON.stringify(oldAnnotation) !== JSON.stringify(newAnnotation); + }); if (annotationsToDelete.length === 0) { return; } - const toDelete = annotationsToDelete.filter(byPage(this.pdf.currentPage)); - - this._logger.info('[ANNOTATIONS] To delete: ', toDelete); - this._annotationManager.delete(toDelete); + this._logger.info('[ANNOTATIONS] To delete: ', annotationsToDelete); + this._annotationManager.delete(annotationsToDelete); } async drawChangedAnnotations(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { const annotationsToDraw = this.#getAnnotationsToDraw(oldAnnotations, newAnnotations); + this._logger.info('[ANNOTATIONS] To draw: ', annotationsToDraw); if (annotationsToDraw.length === 0) { return [oldAnnotations, newAnnotations]; } - this._logger.info('[ANNOTATIONS] To draw: ', annotationsToDraw); this._annotationManager.delete(annotationsToDraw); await this._cleanupAndRedrawAnnotations(annotationsToDraw); return [oldAnnotations, newAnnotations]; @@ -468,7 +473,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni #findAnnotationsToDraw(newAnnotations: AnnotationWrapper[], oldAnnotations: AnnotationWrapper[]) { return newAnnotations.filter(newAnnotation => { - const oldAnnotation = oldAnnotations.find(annotation => annotation.id === newAnnotation.id); + const oldAnnotation = oldAnnotations.find(byId(newAnnotation.id)); if (!oldAnnotation) { return true; } diff --git a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts index 8857208d6..5b4926cfe 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts @@ -7,7 +7,6 @@ import { ManualRedactionEntryTypes, ManualRedactionEntryWrapper, } from '../../../models/file/manual-redaction-entry.wrapper'; -import { AnnotationWrapper } from '../../../models/file/annotation.wrapper'; import { AnnotationDrawService } from '../../pdf-viewer/services/annotation-draw.service'; import { AnnotationActionsService } from './annotation-actions.service'; import { UserPreferenceService } from '../../../services/user-preference.service'; @@ -29,6 +28,7 @@ import { combineLatest, Observable, Subject } from 'rxjs'; import { ViewModeService } from './view-mode.service'; import { PermissionsService } from '../../../services/permissions.service'; import { AnnotationsListingService } from './annotations-listing.service'; +import { byPage } from '../../../utils'; import Annotation = Core.Annotations.Annotation; import Quad = Core.Math.Quad; @@ -38,6 +38,7 @@ export class PdfProxyService { readonly manualAnnotationRequested$ = new Subject(); readonly pageChanged$ = this._pdf.pageChanged$.pipe( tap(() => this._handleCustomActions()), + tap(() => this._pdf.resetAnnotationActions()), shareDistinctLast(), ); canPerformActions = true; @@ -107,18 +108,17 @@ export class PdfProxyService { #deactivateMultiSelect() { this._multiSelectService.deactivate(); this._annotationManager.deselect(); - console.log('deactivated multi select'); this.handleAnnotationSelected([]); } #processSelectedAnnotations(annotations: Annotation[], action) { - console.log('processSelectedAnnotations', annotations, action); let nextAnnotations: Annotation[]; if (action === 'deselected') { // Remove deselected annotations from selected list nextAnnotations = this._annotationManager.selected.filter(ann => !annotations.some(a => a.Id === ann.Id)); this._pdf.disable(TextPopups.ADD_RECTANGLE); + this.#configureAnnotationSpecificActions(nextAnnotations); return nextAnnotations.map(ann => ann.Id); } else if (!this._multiSelectService.isEnabled) { // Only choose the last selected annotation, to bypass viewer multi select @@ -149,14 +149,16 @@ export class PdfProxyService { #configureAnnotationSpecificActions(viewerAnnotations: Annotation[]) { if (!this.canPerformActions) { - if (this.instance.UI.annotationPopup.getItems().length) { - this.instance.UI.annotationPopup.update([]); - } - return; + return this._pdf.resetAnnotationActions(); } - const annotationWrappers: AnnotationWrapper[] = viewerAnnotations.map(va => this._fileDataService.find(va.Id)).filter(va => !!va); - this.instance.UI.annotationPopup.update([]); + const annotationWrappers = viewerAnnotations.map(va => this._fileDataService.find(va.Id)).filter(va => !!va); + this._pdf.resetAnnotationActions(); + const currentPageAnnotations = annotationWrappers.filter(byPage(this._pdf.currentPage)); + + if (currentPageAnnotations.length === 0) { + return this._pdf.resetAnnotationActions(); + } if (annotationWrappers.length === 0) { this._configureRectangleAnnotationPopup(viewerAnnotations[0]); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts index b021c4f8e..8f4e2d850 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/pdf-viewer.service.ts @@ -104,6 +104,12 @@ export class PdfViewer { return page$.pipe(map(page => this.#adjustPage(page))); } + resetAnnotationActions() { + if (this.#instance.UI.annotationPopup.getItems().length) { + this.#instance.UI.annotationPopup.update([]); + } + } + navigateTo(page: string | number) { const parsedNumber = typeof page === 'string' ? parseInt(page, 10) : page; const paginationOffset = this.#paginationOffset; From 6d61d0519d22dbb4b2ba872c439db5ee2bf741e3 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 21 Jun 2022 12:31:21 +0200 Subject: [PATCH 04/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8230c5442..0c7fe14a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.547.0", + "version": "3.548.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 75bf790a398213592a81a97b50e275acb0f2da0d..7bafe4b5fa1e03a2eaf7ce2fb5678b6735fbb80b 100644 GIT binary patch delta 103 zcmV-t0GR*W8Qd9=cvH?QSozOv#||9t847+BYzC#N8LkleDW>{wEK6Pf@}p+=8L2;( zHauSbo@cMm^8YEyQTbOS#u1Zk%c!nDYz{8ql|Lna&vk9Tm;X9&LH;Xvf3eF63 JuWA5L004x{GY$X% From 9dec57a7eea6b6a2049f8881e76888a52f8a162f Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 22 Jun 2022 16:29:20 +0300 Subject: [PATCH 05/49] RED-3837: fix annotations redraw --- apps/red-ui/src/app/app.module.ts | 11 +++- .../file-preview-screen.component.ts | 60 ++++++++++--------- .../services/annotation-manager.service.ts | 3 + apps/red-ui/src/app/utils/functions.ts | 4 ++ 4 files changed, 46 insertions(+), 32 deletions(-) diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index f40766fdc..c1ef70792 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -65,9 +65,8 @@ function cleanupBaseUrl(baseUrl: string) { return ''; } else if (baseUrl[baseUrl.length - 1] === '/') { return baseUrl.substring(0, baseUrl.length - 1); - } else { - return baseUrl; } + return baseUrl; } const screens = [BaseScreenComponent, DownloadsListScreenComponent]; @@ -128,7 +127,13 @@ const components = [AppComponent, AuthErrorComponent, NotificationsComponent, Sp enabled: false, }, PDF: { - enabled: true, + enabled: false, + }, + FILE: { + enabled: false, + }, + CHANGES: { + enabled: false, }, STATS: { enabled: false, 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 95655f218..5d9c1dee1 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 @@ -9,6 +9,7 @@ import { Debounce, ErrorService, FilterService, + List, LoadingService, NestedFilter, OnAttach, @@ -26,7 +27,7 @@ import { File, ViewMode, ViewModes } from '@red/domain'; import { PermissionsService } from '@services/permissions.service'; import { combineLatest, firstValueFrom, from, of, pairwise } from 'rxjs'; import { UserPreferenceService } from '@services/user-preference.service'; -import { byId, byPage, download, handleFilterDelta } from '../../utils'; +import { byId, byPage, download, handleFilterDelta, hasChanges } from '../../utils'; import { FilesService } from '@services/files/files.service'; import { FileManagementService } from '@services/files/file-management.service'; import { catchError, filter, map, startWith, switchMap, tap } from 'rxjs/operators'; @@ -368,11 +369,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni tap(annotations => this.deleteAnnotations(...annotations)), ); const currentPageAnnotations$ = combineLatest([this.pdf.currentPage$, annotations$]).pipe( - map(([, annotations]) => annotations), - map(([oldAnnotations, newAnnotations]) => { - const page = this.pdf.currentPage; - return [oldAnnotations.filter(byPage(page)), newAnnotations.filter(byPage(page))] as const; - }), + map( + ([page, [oldAnnotations, newAnnotations]]) => + [oldAnnotations.filter(byPage(page)), newAnnotations.filter(byPage(page))] as const, + ), ); let start; @@ -390,16 +390,9 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni deleteAnnotations(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { const annotationsToDelete = oldAnnotations.filter(oldAnnotation => { const newAnnotation = newAnnotations.find(byId(oldAnnotation.id)); - if (!newAnnotation) { - return true; - } - return JSON.stringify(oldAnnotation) !== JSON.stringify(newAnnotation); + return newAnnotation ? hasChanges(oldAnnotation, newAnnotation) : true; }); - if (annotationsToDelete.length === 0) { - return; - } - this._logger.info('[ANNOTATIONS] To delete: ', annotationsToDelete); this._annotationManager.delete(annotationsToDelete); } @@ -407,11 +400,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni async drawChangedAnnotations(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { const annotationsToDraw = this.#getAnnotationsToDraw(oldAnnotations, newAnnotations); this._logger.info('[ANNOTATIONS] To draw: ', annotationsToDraw); - - if (annotationsToDraw.length === 0) { - return [oldAnnotations, newAnnotations]; - } - this._annotationManager.delete(annotationsToDraw); await this._cleanupAndRedrawAnnotations(annotationsToDraw); return [oldAnnotations, newAnnotations]; @@ -427,12 +415,12 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } #getAnnotationsToDraw(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { - const annotations = this._annotationManager.annotations; - const ann = annotations.map(a => oldAnnotations.some(byId(a.Id))); - const hasAnnotations = ann.filter(a => !!a).length > 0; + const currentPage = this.pdf.currentPage; + const currentPageAnnotations = this._annotationManager.get(a => a.getPageNumber() === currentPage); + const existingAnnotations = currentPageAnnotations.map(a => oldAnnotations.find(byId(a.Id))).filter(a => !!a); - if (hasAnnotations) { - return this.#findAnnotationsToDraw(newAnnotations, oldAnnotations); + if (existingAnnotations.length > 0) { + return this.#findAnnotationsToDraw(newAnnotations, oldAnnotations, existingAnnotations); } return newAnnotations; } @@ -471,19 +459,30 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this._changeDetectorRef.markForCheck(); } - #findAnnotationsToDraw(newAnnotations: AnnotationWrapper[], oldAnnotations: AnnotationWrapper[]) { + #findAnnotationsToDraw( + newAnnotations: AnnotationWrapper[], + oldAnnotations: AnnotationWrapper[], + existingAnnotations: AnnotationWrapper[], + ) { + function selectToDrawIfDoesNotExist(newAnnotation: AnnotationWrapper) { + return !existingAnnotations.some(byId(newAnnotation.id)); + } + return newAnnotations.filter(newAnnotation => { const oldAnnotation = oldAnnotations.find(byId(newAnnotation.id)); if (!oldAnnotation) { return true; } - const changed = JSON.stringify(oldAnnotation) !== JSON.stringify(newAnnotation); - if (changed && this.userPreferenceService.areDevFeaturesEnabled) { + if (!hasChanges(oldAnnotation, newAnnotation)) { + return selectToDrawIfDoesNotExist(newAnnotation); + } + + if (this.userPreferenceService.areDevFeaturesEnabled) { this.#logDiff(oldAnnotation, newAnnotation); } - return changed; + return true; }); } @@ -586,7 +585,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this._errorService.set(error); } - private async _cleanupAndRedrawAnnotations(newAnnotations: readonly AnnotationWrapper[]) { + private async _cleanupAndRedrawAnnotations(newAnnotations: List) { + if (!newAnnotations.length) { + return; + } const currentFilters = this._filterService.getGroup('primaryFilters')?.filters || []; this.#rebuildFilters(); diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts index 2934f5f4c..7cd273b14 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/annotation-manager.service.ts @@ -42,6 +42,9 @@ export class REDAnnotationManager { delete(annotations?: List | List | string | AnnotationWrapper) { const items = isStringOrWrapper(annotations) ? [this.get(annotations)] : this.get(annotations); + if (!items.length) { + return; + } const options: DeleteAnnotationsOptions = { force: true }; this.#manager.deleteAnnotations(items, options); } diff --git a/apps/red-ui/src/app/utils/functions.ts b/apps/red-ui/src/app/utils/functions.ts index e7b7f1651..918227208 100644 --- a/apps/red-ui/src/app/utils/functions.ts +++ b/apps/red-ui/src/app/utils/functions.ts @@ -96,3 +96,7 @@ export function getLast(list: List) { } export const dateWithoutTime = (date: Dayjs) => date.set('h', 0).set('m', 0).set('s', 0).set('ms', 0); + +export function hasChanges(left: T, right: T) { + return JSON.stringify(left) !== JSON.stringify(right); +} From e19d3a03307a47812dd18ea21e01a23bac906481 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 22 Jun 2022 15:31:54 +0200 Subject: [PATCH 06/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c7fe14a5..1d765f02f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.548.0", + "version": "3.549.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 7bafe4b5fa1e03a2eaf7ce2fb5678b6735fbb80b..ca220c60f76fc69045eaa12570405373c5c5e98e 100644 GIT binary patch delta 3175 zcmV-t44CuW8QU34~=hHz$BHGN06Xyx+>WYwLVmQw_E8O@2+p|V-G9rw7}(cEH1 z34=FUU08oGR_p<5Bhsk*tO>57R3Ng)Z>>8TvlL+2whC;EaKj4zT^2QEw1Aq5WSG%6 zp_?#rk zBXQYoK@lR77Fj3wqQntp_giEy*N+6Yc-qWEZP9=9!jXER>43ADBiJ$XOB}~E-vIy@ z`0cD`K?zyj4({cTLl9NN2*;~xF%o)u0MEtgOv;N@u)IrLk(|9S(jPTd&8y0S=8RMZ zU9h<}i2wFH61HjaM)KRBKymEHfq-=JYENQ{QITi&sE#T^a)k33T`5as&DYztfMs6S zngoA+x8;L*Z4V?H$kqLz5LE+DGh&rZn9&Gx5loOV;H$*e-3-it0p3f5TbMeR{gVTi z%7;axNz_yhFB5`U10ex4f_Q-^84gJ%4bj1>xl;8RdCM#wPJrq~q*VwLm`MNwv)F3P zX!Mfixzv!(^a%-l2acU4_gy~~2Llk5AF_Y4*4G}#N}6V){Ua{%$&Dhw&Q@wzO<6&+ z3=b3KMNVd|%1(QNfjh8~69BTmXq`Leo#!(m^$$H6Wf@t_9tzeh5;d%d+Ob1XJpm1b zpM(fD+VLmh)7q=2VWrr-v5gh0Dkf1;;nu2yDv*jBqsL%AAr-~^xtp1Rjkl84X6Ap? zO*USu{UUpmI%HIX_V{f=tD0F+N~NdO%#i&!!T?-`P0&Vh-F*6V4egAv9%-x$ zk%sF(ekz079VYxZYM1&5OjSOAc>qtJs& zct@&wFwc5w9@pRW^L$-o8O+0Z_64cPB+;8`QTjcw-xhUE0bRg_ksdBAw>zA%5y+cK zkn2bRdE4xHNP|KMmqSod&Xqm-GN!DkhPrA`YD*A}u!KY*N;68{|4SkY3!>q{QwGuU z5Lst>9XJO?{7Oo^e*XhVs^)(>G=wv~COq83`CSG$;t_e1i@|o|0}j9W)4%`m&l+8& z@4s&nx+CbT3e+RN9zvU54S}Rc&s406)J?{wV(27*f9rOf9KeBM+QqHX{q>H*v8AUt zGEeU^d71#xo!$DrizbtEw0&zOKbQzt9~+XYKGJhrL`SoBgr;CqGj4xZ73<6Q7P$$p z_BazbXH**vn!MLz1UXNSQO_t7Jw0dmAhhW?Ih+A1G6;gebr|P98E6kP+wm+PBd#)q zr}`{)PRo)ojbS_{Xd|oX(NdYLu!0;os+xUR8-2f`g-KB`5!}|mCi$i2pF$;$%S222 zTL{OX>usYDtzRgEerODqbb%blQ9D6+hr^7-pnZQg-pvNvYGYoozJta1 z!{UpTTdSJ{C!yLmWDs@lED_LdRXx-@@UeE{BpP{lxXO7$9LBbWz+DRSZIO6rure?e zoML#W^;xSWqy9AkBZ3)UWWWx5<+>|ihr8iC0mj(Nn`^cE>xM?R7KCg}7{1n!E4!^- zzgTtwXy&u601tn6i}Sya58pZ!1872aDqC_c)Ki zzr*Ll0Na0MR_qGH?jgi6ZLl`jg;NJ_w-6PCw-h{2hlzFo<4B)#VvNNEt~%egW}@dn zOCdfu3eCjhu^`pMtAqbLcv4f}pZGB9BnmUmpiaVAe9$~kIB}ZC*j^-Seh}n!p>vMk zSfk~r#bMnZ;Hc*k+Gzy7Fu&DOopzYhqCCof93_87K1rPtvP!9+K;-zDQs+vHKybtl zP$7gH()GcB^c_B#cxlN2KMgkmdC9l6ItU#PGm@yG>C~VmJ2t#a>t+l;4#@8lSyn`7 zxy$a$v_EbVIuOX2c)J9o^7iF$kg9h60eI0H%CLBA)hUjPyThr;!3=X7F>$^WD7fxUh>Q zgfb8$zMOM)7lIS+0HRGEr1lUwzPV~%s7(%KN63;?`KR^KFz5KYfj~EwxtFqyc;EmC8tQUW- zSufmyUI--<>p;A%PJ~81)1_rsf~{U%Chj3fV&tx>r0MY0lXj?*6do#oP<>N&sHxq# zx77ZAkH((9i~xG8I7`X@2xrk%V1J4%abSL}5`a=qBHzCCh_{~->Gp$5CiO-eJ^GTG zH1@`wrjbZDI)72wVOMI%l?ra9M6G{S8-0=q|EF5QQa4j>Z#|b{>)dc#X;LqSi~6C1 z(LR94_O`kbW8$0$;f}+`j%A@kr=dFWPi(=k@Cd#?1|9OF$E-J-s$Y`w>Vxm zr0#PIWAfGac!^j%a)sio(H33>8TyYn*rmxb{_BlqLf`UrF7sKLAGHn{Z5d2PSP$8F zO5KU@LU=>-%0F^OEs1Y0^>5K7zt)fVwf@Tms^MYPq@u#g{>(eBg1mp!Ss?MUgg05` z_Em0I<@HrwSLOFrepeOrRY6y^>Z?|=s_dTC$Ro^UU5oq7ecp+#kK5jz1oFYVx+Crn z{lO#uF5+PVhx9&;2)0=W;IRaxUj`F6VMC=W;IRaxUj`F6VMC=W;IRaxVXi Ni?Y{w29?->ey6l?~isTr;i`YERRZ!Ak){_>+{_Zg`_ zmNqz%JjuxOfcW45v0@Kc8<9rcXH9Swr2>&Xerw&)n56*AwpCzTgd0}y@3N>VqXpDdB*Top zA*W$4+ozRKlEq>sIg4Z4pK_pKQE@&Zr+ka*BBL?-B=+JU#)n3$!ZB@XpuEM)z~>}M z9*N6#3yKhtw8%Qa7bT7;yWb*vxqc+D#nWaUYKwoS7mm~mO$VIK9Knv6U*b5X`3?ZM zz;9XN19&b@XHs6Qg5_P}isbBtk^ZQuYFBCSH0z)S)dn8j9O zMx&QB&!vWRrcX%dJ8wIosekCnD9gxV_E4~9k*Hxs)Q%mB>IrBd z{3JxM(T+a}pVnSI4J*awjcu%0RWXT*3b$4rRDo377(E8_38^UN&)v)nY`m4UHZy;x zZnE)O?HAdj)FGo9B)|76v&U}}TGh;oQYt;IW`^v?5eDEgY=Sn5>*mv^YiMVT^+;o7 zh%{XP@lzSp?l9rUQM=SfV5;)@%L90-#_BQ==*-~U7S(N%6?cQN?&R1_(2xBKFuSQC zH+u(@Lp-B{@TNdG_Dv7s3z9eN9jW#tfByrQ8M4Z%NN6?y=Fg!8fZ-^uXp}O#Gochr zLP@+H$~R4vCQW`T;t+lOY8nf-AOB@Ya+sOsh(~T6fkjBFBzymTloF_~(bs=s=i(1I z$2(HhgL&3d^SJ(|pXci$%U~YPvoAT^ zf?P)m$lGSmLmCu9xEz9ta<1&rmoa5UHPlsmQd@#(ge4>jQJPWm{$CPNSP%^lo-&A* zhsZk9>%ciE;#X4Q_4^+{QZ;|qp&^{cZvRiGaE^$^J$>9u8kwFjyuERL@$v}IU*^X!V7;%*; zJk@8Zb6S>!X$<2rK^s|3kCw`0g%#w$QPu3j+UWZgEli4niQu*dHpwqF{}d{5TqauD z-$FPBU2hwOX#GMN^lN`}!U3XFiQ-`;iG{TCJKoI>vP_dhZvL4W0cg-yuz@FC-(^&k z_hPTc4C~OY?$QN3@dUYTE9fj5EQ`LbK|*Ckfp!R>#F`AVMkJMkR;${DK%HwZkn4#b z-_*<9A_!2xBdU!!iiEKof^O?u$d2m?pbO+Uj@k*rI~-;t2JL^l@oqNQRvYtz^&Kq6 z9~NJ%+*;ivI0@ChA%m!UXNiDztLmZNfseHlC(+2e!&S~3;xM)~1nyFpZ;Ql3gO!1) z;1t6{t75lD{6mDE+@)wJ<*`agC>k|6ndj3-^f1E6ilPBGICZlt&PGJO&g;uMbnMq zMu#NZ(B?T_?2~aD=Ld;MoD63px!{#;Cy8xn+wJXjQ8zsGqD z{vAFa2H1Ztvtm~mb`K$rX@j-FE}S}eyM?GAyrtlII!v?!7)Sb?6JsnUaMk&?H4{At zS_<*OQD`O}j|Hh7ULE}3!IPT${=|n-CsCMj26Ym~;)CXS!im#7#`Ypv^MfF-3!QWP z#u_b0Ee`AU07pHS&`u-ph54

a@e07Ufa?<0yYI@=5BHkX1_k1R}@JlsZ>p1cD=e zfC?epkgg8~r0?*_#7j#K_-VKi$VnxmA5a4gH*Ni55SAwP=>`@t4?uT+#OC$4rZ9!h>7#1K*5#I z-|v4Y9x|js-mc+d_k>Ig9%h0^RobWl)1W6$GL8&+%6{)OSe08j`1Yxsat~}oxMDQY zPK4CczF~@VArCDE$J*+(hQ15eBA$Mict_-`mibA4+$G8|@)Mn=m&gbzbq&C5#f4og zA(Vk2@eL(+;u?+GvAvV=FzQ41yK(;Bb%uY`kZ)p+G|sb)YTQ*1cqf6hD|MlL@-6up z=M1KsE-S;vg>$2v|B6kMq^JO~rYuPn;hGGwo4whh9D^D*Uo;B)bGQMWiqaob@kd;L zQ1?lqlti}~tr_23A;6{zbE0S7!w^!Hka!jf`~deZ;unTa^um1aFL%W4(WH z&3fSu^g<|^SO?;5bs{wCnJz865^VMAGI0+<5+iq2B~6E~p0q=ir0`GygzB5JLrv|@ zy`}c|do=d+WdzV$#aT-JM>vbF0{c^Bi39U%l>n4_68ZM6N4))%NVgwcGO0J(=+T$d zq_H>dG>t^M(fNzY4!crAu2gUMIeiAKcIvG4vF-8B zuqnX^WPg0Eai;K_7-H|ow-*q1EYK?88$XVJJ(>(8S8B{Rm}IkZtDEioP9}ei2IvWA zm2({!vH(mZIA)x6K${$_*}-iW*`j?Jp5<$PP`P68^WUU-(D5-{Xi?i|-C8*cP&nBW zASa`?6Oeo7b_)JeZj#Jk$CIv$sPJdp2~oRGUi{EI&AZ((7&G$<#{iut-_sbvdrEMw zYfpFMVnFBdYZZ@Rq+=53Nk)J6*0-#Rh{T}XBKup`jFcy?XHSHNjwv7+^G;`fzs2#o zA$6Zy7?ZEQ$4kWGkt-BujkfSA$k2bp!7fdf@n3H=6Z)2~bD7V|{HS%vXv<(S!g|QY zQ|eBH7s4BwSN@SRYDs*1seg+u`L%w;uk~LpPz?{OCKVM{_GjL4736=V&H{;-CA`Th zx36-$DzC5dx+=e~^1G^_uL`=VRbRD|Rb}_AMjl}<>ss7r?( Date: Thu, 23 Jun 2022 14:28:31 +0300 Subject: [PATCH 07/49] RED-4275: Refresh archive after delete, RED-4061: Enable active view --- apps/red-ui/src/app/guards/dossiers.guard.ts | 5 ----- .../src/app/modules/archive/archive.module.ts | 3 ++- .../table-item/table-item.component.html | 12 +++++++++++ .../table-item/table-item.component.ts | 21 +++++++++++++++++-- .../dossiers-type-switch.component.html | 7 +------ .../dossiers/archived-dossiers.service.ts | 5 ++++- .../services/entity-services/trash.service.ts | 7 ++++++- 7 files changed, 44 insertions(+), 16 deletions(-) diff --git a/apps/red-ui/src/app/guards/dossiers.guard.ts b/apps/red-ui/src/app/guards/dossiers.guard.ts index 1476110b7..9d419ce78 100644 --- a/apps/red-ui/src/app/guards/dossiers.guard.ts +++ b/apps/red-ui/src/app/guards/dossiers.guard.ts @@ -37,11 +37,6 @@ export class DossiersGuard implements CanActivate { return false; } - if (!isArchive && dossierTemplateStats?.numberOfActiveDossiers === 0) { - await this._router.navigate(['main', dossierTemplateId, 'archive']); - return false; - } - await firstValueFrom(dossiersService.loadAll()); return true; } diff --git a/apps/red-ui/src/app/modules/archive/archive.module.ts b/apps/red-ui/src/app/modules/archive/archive.module.ts index 72a80db27..5eb8741ac 100644 --- a/apps/red-ui/src/app/modules/archive/archive.module.ts +++ b/apps/red-ui/src/app/modules/archive/archive.module.ts @@ -5,13 +5,14 @@ import { ArchiveRoutingModule } from './archive-routing.module'; import { TableItemComponent } from './components/table-item/table-item.component'; import { SharedModule } from '@shared/shared.module'; import { ConfigService } from './services/config.service'; +import { SharedDossiersModule } from '../shared-dossiers/shared-dossiers.module'; const components = [TableItemComponent]; const screens = [ArchivedDossiersScreenComponent]; @NgModule({ declarations: [...components, ...screens], - imports: [CommonModule, ArchiveRoutingModule, SharedModule], + imports: [CommonModule, ArchiveRoutingModule, SharedModule, SharedDossiersModule], providers: [ConfigService], }) export class ArchiveModule {} diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html index 47c99ac14..d94dbc95f 100644 --- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html +++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.html @@ -10,4 +10,16 @@

+ +
+ +
diff --git a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts index b978de713..2b9f28e4c 100644 --- a/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts +++ b/apps/red-ui/src/app/modules/archive/components/table-item/table-item.component.ts @@ -3,6 +3,9 @@ import { Dossier, DossierStats } from '@red/domain'; import { BehaviorSubject, Observable } from 'rxjs'; import { DossierStatsService } from '@services/dossiers/dossier-stats.service'; import { switchMap } from 'rxjs/operators'; +import { CircleButtonTypes, ScrollableParentView, ScrollableParentViews } from '@iqser/common-ui'; +import { UserService } from '@services/user.service'; +import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service'; @Component({ selector: 'redaction-table-item [dossier]', @@ -11,18 +14,32 @@ import { switchMap } from 'rxjs/operators'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class TableItemComponent implements OnChanges { - @Input() dossier!: Dossier; + readonly circleButtonTypes = CircleButtonTypes; + readonly currentUser = this._userService.currentUser; + @Input() dossier!: Dossier; readonly stats$: Observable; readonly #ngOnChanges$ = new BehaviorSubject(undefined); - constructor(readonly dossierStatsService: DossierStatsService) { + constructor( + readonly dossierStatsService: DossierStatsService, + private readonly _dialogService: DossiersDialogService, + private readonly _userService: UserService, + ) { this.stats$ = this.#ngOnChanges$.pipe(switchMap(dossierId => this.dossierStatsService.watch$(dossierId))); } + get scrollableParentView(): ScrollableParentView { + return ScrollableParentViews.VIRTUAL_SCROLL; + } + ngOnChanges() { if (this.dossier) { this.#ngOnChanges$.next(this.dossier.id); } } + + openEditDossierDialog($event: MouseEvent, dossierId: string): void { + this._dialogService.openDialog('editDossier', $event, { dossierId }); + } } diff --git a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html index ee5f38690..c92940f16 100644 --- a/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html +++ b/apps/red-ui/src/app/modules/shared/components/dossiers-type-switch/dossiers-type-switch.component.html @@ -1,10 +1,5 @@ - diff --git a/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts index 9a572140b..e27e8150f 100644 --- a/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts @@ -1,12 +1,13 @@ import { Injectable, Injector } from '@angular/core'; import { ARCHIVE_ROUTE, Dossier, DOSSIERS_ARCHIVE } from '@red/domain'; -import { catchError, tap } from 'rxjs/operators'; +import { catchError, switchMap, tap } from 'rxjs/operators'; import { Observable, of } from 'rxjs'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { ActiveDossiersService } from './active-dossiers.service'; import { DossiersService } from './dossiers.service'; import { FilesMapService } from '../files/files-map.service'; import { FeaturesService } from '../features.service'; +import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; @Injectable({ providedIn: 'root' }) export class ArchivedDossiersService extends DossiersService { @@ -15,6 +16,7 @@ export class ArchivedDossiersService extends DossiersService { private readonly _activeDossiersService: ActiveDossiersService, private readonly _filesMapService: FilesMapService, private readonly _featuresService: FeaturesService, + private readonly _dashboardStats: DashboardStatsService, ) { super(_injector, 'archived-dossiers', ARCHIVE_ROUTE); } @@ -28,6 +30,7 @@ export class ArchivedDossiersService extends DossiersService { const archivedDossiersIds = dossiers.map(d => d.dossierId); return this._post(archivedDossiersIds, `${this._defaultModelPath}/archive`).pipe( + switchMap(() => this._dashboardStats.loadAll()), tap(() => this.#removeFromActiveDossiers(archivedDossiersIds)), catchError(showArchiveFailedToast), ); diff --git a/apps/red-ui/src/app/services/entity-services/trash.service.ts b/apps/red-ui/src/app/services/entity-services/trash.service.ts index 8fbf43c5f..94931ee73 100644 --- a/apps/red-ui/src/app/services/entity-services/trash.service.ts +++ b/apps/red-ui/src/app/services/entity-services/trash.service.ts @@ -11,6 +11,7 @@ import { flatMap } from 'lodash-es'; import { DossierStatsService } from '../dossiers/dossier-stats.service'; import { FilesService } from '../files/files.service'; import { SystemPreferencesService } from '@services/system-preferences.service'; +import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service'; @Injectable({ providedIn: 'root', @@ -22,6 +23,7 @@ export class TrashService extends EntitiesService { private readonly _systemPreferencesService: SystemPreferencesService, private readonly _permissionsService: PermissionsService, private readonly _activeDossiersService: ActiveDossiersService, + private readonly _archivedDossiersService: ArchivedDossiersService, private readonly _userService: UserService, private readonly _dossierStatsService: DossierStatsService, private readonly _filesService: FilesService, @@ -34,8 +36,11 @@ export class TrashService extends EntitiesService { this._toaster.error(_('dossier-listing.delete.delete-failed'), { params: dossier }); return of({}); }; + + const reloadDossiers$ = dossier.isActive ? this._activeDossiersService.loadAll() : this._archivedDossiersService.loadAll(); + return this.delete(dossier.id, 'dossier').pipe( - switchMap(() => this._activeDossiersService.loadAll()), + switchMap(() => reloadDossiers$), catchError(showToast), ); } From c1eee73804563633588e6594b66722cd4e127129 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 13:31:16 +0200 Subject: [PATCH 08/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1d765f02f..2be268b8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.549.0", + "version": "3.550.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ca220c60f76fc69045eaa12570405373c5c5e98e..f195ac4edee34a393e1fa7b9053016ceb1bde24c 100644 GIT binary patch delta 3205 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 Date: Thu, 23 Jun 2022 14:54:24 +0300 Subject: [PATCH 09/49] RED-4361: Improve actions after archiving dossier --- .../edit-dossier-general-info.component.ts | 1 - .../dictionary-manager.component.ts | 2 +- .../dossier-templates/dashboard-stats.service.ts | 3 +-- .../services/dossiers/archived-dossiers.service.ts | 12 +++++++++++- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 663e6dd41..443f074bc 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -165,7 +165,6 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti if (result === ConfirmOptions.CONFIRM) { this._loadingService.start(); await firstValueFrom(this._archivedDossiersService.archive([this.dossier])); - await this._router.navigate([this.dossier.dossiersListRouterLink]); this._toaster.success(_('dossier-listing.archive.archive-succeeded'), { params: this.dossier }); this._editDossierDialogRef.close(); this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts index 1c9a9bca7..a951b9321 100644 --- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts @@ -62,7 +62,7 @@ export class DictionaryManagerComponent implements OnChanges { return this._dossierTemplate; } - set dossierTemplate(value) { + set dossierTemplate(value: DossierTemplate) { this._dossierTemplate = value; this.dictionaries = this._dictionaries; this._compareDictionary = this.selectDictionary; diff --git a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts index 75c248f89..e5b57103a 100644 --- a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts +++ b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts @@ -11,9 +11,8 @@ const templatesSorter = (a: DashboardStats, b: DashboardStats) => { return -1; } else if (a.isEmpty && !b.isEmpty) { return 1; - } else { - return 0; } + return 0; }; @Injectable({ diff --git a/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts index e27e8150f..733f47d70 100644 --- a/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/archived-dossiers.service.ts @@ -1,5 +1,5 @@ import { Injectable, Injector } from '@angular/core'; -import { ARCHIVE_ROUTE, Dossier, DOSSIERS_ARCHIVE } from '@red/domain'; +import { ARCHIVE_ROUTE, Dossier, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE } from '@red/domain'; import { catchError, switchMap, tap } from 'rxjs/operators'; import { Observable, of } from 'rxjs'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -8,6 +8,7 @@ import { DossiersService } from './dossiers.service'; import { FilesMapService } from '../files/files-map.service'; import { FeaturesService } from '../features.service'; import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; +import { Router } from '@angular/router'; @Injectable({ providedIn: 'root' }) export class ArchivedDossiersService extends DossiersService { @@ -17,6 +18,7 @@ export class ArchivedDossiersService extends DossiersService { private readonly _filesMapService: FilesMapService, private readonly _featuresService: FeaturesService, private readonly _dashboardStats: DashboardStatsService, + private readonly _router: Router, ) { super(_injector, 'archived-dossiers', ARCHIVE_ROUTE); } @@ -28,10 +30,18 @@ export class ArchivedDossiersService extends DossiersService { }; const archivedDossiersIds = dossiers.map(d => d.dossierId); + const dossierTemplateId = dossiers[0].dossierTemplateId; return this._post(archivedDossiersIds, `${this._defaultModelPath}/archive`).pipe( switchMap(() => this._dashboardStats.loadAll()), tap(() => this.#removeFromActiveDossiers(archivedDossiersIds)), + switchMap(async () => { + let route = dossiers[0].dossiersListRouterLink; + if (!this._activeDossiersService.all.find(d => d.dossierTemplateId === dossierTemplateId)) { + route = route.replace(DOSSIERS_ROUTE, ARCHIVE_ROUTE); + } + await this._router.navigate([route]); + }), catchError(showArchiveFailedToast), ); } From 7d1fba00623199a2cf5cc8638cee83f3e5a9b854 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 13:57:06 +0200 Subject: [PATCH 10/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2be268b8e..fb7043e25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.550.0", + "version": "3.551.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f195ac4edee34a393e1fa7b9053016ceb1bde24c..db912d8da020c31e836876e90dfa75398ade8824 100644 GIT binary patch delta 3203 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 delta 3203 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 Date: Thu, 23 Jun 2022 15:04:42 +0300 Subject: [PATCH 11/49] RED-4270: Refresh dashboard on background changes --- .../dashboard-screen/dashboard-screen.component.ts | 6 +++++- apps/red-ui/src/app/services/dossiers/dossiers.service.ts | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts index 94c2046d1..3008fb1e0 100644 --- a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts +++ b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts @@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { UserService } from '@services/user.service'; import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; import { UserPreferenceService } from '@services/user-preference.service'; +import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; @Component({ selector: 'redaction-dashboard-screen', @@ -17,7 +18,10 @@ export class DashboardScreenComponent implements OnInit { private readonly _userService: UserService, private readonly _dashboardStatsService: DashboardStatsService, private readonly _userPreferenceService: UserPreferenceService, - ) {} + private readonly _activeDossiersService: ActiveDossiersService, + ) { + _activeDossiersService.initializeRefresh(); + } async ngOnInit(): Promise { await this._userPreferenceService.saveLastDossierTemplate(null); diff --git a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts index e7d2809ab..7cbb64601 100644 --- a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts @@ -51,7 +51,9 @@ export abstract class DossiersService extends EntitiesService return this.hasChangesDetails$().pipe( tap(changes => this._logger.info('[CHANGES] ', changes)), - switchMap(dossierChanges => forkJoin(load(dossierChanges)).pipe(map(() => dossierChanges))), + switchMap(dossierChanges => + forkJoin([...load(dossierChanges), this._dashboardStatsService.loadAll()]).pipe(map(() => dossierChanges)), + ), tap(() => this._updateLastChanged()), ); } From dc01b1affb279248bcfe762f2c99aeacbf21af38 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 14:07:05 +0200 Subject: [PATCH 12/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb7043e25..7c37a88e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.551.0", + "version": "3.552.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index db912d8da020c31e836876e90dfa75398ade8824..7590346e6f7a04eeead6f73891be2b661405efee 100644 GIT binary patch delta 3201 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 Date: Thu, 23 Jun 2022 15:09:43 +0300 Subject: [PATCH 13/49] RED-4349: Fixed disable redaction toggle tooltip --- .../components/file-actions/file-actions.component.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts index 3fe6a9d90..de8bee50e 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts @@ -113,7 +113,7 @@ export class FileActionsComponent implements OnChanges { } private get _toggleTooltip(): string { - if (!this.currentUser.isManager) { + if (!this.canToggleAnalysis) { return _('file-preview.toggle-analysis.only-managers'); } @@ -405,7 +405,6 @@ export class FileActionsComponent implements OnChanges { this.assignTooltip = this.file.isUnderApproval ? _('dossier-overview.assign-approver') : _('dossier-overview.assign-reviewer'); this.buttonType = this.isFilePreview ? CircleButtonTypes.default : CircleButtonTypes.dark; - this.toggleTooltip = this._toggleTooltip; this.showSetToNew = this._permissionsService.canSetToNew(this.file, this.dossier) && !this.isDossierOverviewWorkflow; this.showUndoApproval = this._permissionsService.canUndoApproval(this.file, this.dossier) && !this.isDossierOverviewWorkflow; @@ -415,6 +414,8 @@ export class FileActionsComponent implements OnChanges { this.canToggleAnalysis = this._permissionsService.canToggleAnalysis(this.file, this.dossier); this.showToggleAnalysis = this._permissionsService.showToggleAnalysis(this.dossier); + this.toggleTooltip = this._toggleTooltip; + this.showDelete = this._permissionsService.canSoftDeleteFile(this.file, this.dossier); this.showOCR = this._permissionsService.canOcrFile(this.file, this.dossier); this.canReanalyse = this._permissionsService.canReanalyseFile(this.file, this.dossier); From 42879a7965abe620802d1242ca3b9241c5aea6fb Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 14:15:01 +0200 Subject: [PATCH 14/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7c37a88e7..d687c1bb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.552.0", + "version": "3.553.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 7590346e6f7a04eeead6f73891be2b661405efee..1e610c5d1a4e8c8bdc404ef366cb6ddb51e34120 100644 GIT binary patch delta 3203 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 delta 3201 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 Date: Thu, 23 Jun 2022 15:17:06 +0300 Subject: [PATCH 15/49] RED-4331: Reports page is two columns again --- .../reports/reports-screen/reports-screen.component.scss | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.scss index e2b5ad16b..f73496ca2 100644 --- a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen/reports-screen.component.scss @@ -1,9 +1,7 @@ @use 'common-mixins'; :host { - flex-grow: 1; - overflow: hidden; - display: flex; + flex-direction: row; } .content-container, From c6f28f3dd928744cabdf06abe6bc0258eb64865f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 14:19:49 +0200 Subject: [PATCH 16/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d687c1bb4..839f1503e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.553.0", + "version": "3.554.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 1e610c5d1a4e8c8bdc404ef366cb6ddb51e34120..2bca13b63bccc047450d507e5323f8da4d3f9d6a 100644 GIT binary patch literal 3291 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 Date: Thu, 23 Jun 2022 15:44:19 +0300 Subject: [PATCH 17/49] RED-4285: Fixed download package allowed configurations --- .../download-package/edit-dossier-download-package.component.ts | 2 +- libs/common-ui | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 aded170fb..865099cd7 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 @@ -70,7 +70,7 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS } get disabled() { - return !this.form?.value?.downloadFileTypes?.length; + return false; } get valid(): boolean { diff --git a/libs/common-ui b/libs/common-ui index 90419f2f8..34373a2a5 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 90419f2f8b7c1d970ca0bf2cfdfebae9d3271156 +Subproject commit 34373a2a5bb36f5c550b33b90107314d7c116730 From 4bd7db2a802e1288bd76e56c34c5a0ff5687b9ab Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 14:46:52 +0200 Subject: [PATCH 18/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 839f1503e..63c1c25d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.554.0", + "version": "3.555.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 2bca13b63bccc047450d507e5323f8da4d3f9d6a..f91264ff5c13ba8207a123b066613efacfee40fa 100644 GIT binary patch delta 3209 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 From bcab1cdfa2935c18eafd557f51d50cddf0329f7d Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 23 Jun 2022 16:36:23 +0300 Subject: [PATCH 19/49] RED-3837: fix annotations pop-ups --- .../file-preview-screen.component.ts | 10 ++++----- .../services/pdf-proxy.service.ts | 22 +++++++++---------- 2 files changed, 15 insertions(+), 17 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 5d9c1dee1..cf8b02fd6 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 @@ -417,7 +417,9 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni #getAnnotationsToDraw(oldAnnotations: AnnotationWrapper[], newAnnotations: AnnotationWrapper[]) { const currentPage = this.pdf.currentPage; const currentPageAnnotations = this._annotationManager.get(a => a.getPageNumber() === currentPage); - const existingAnnotations = currentPageAnnotations.map(a => oldAnnotations.find(byId(a.Id))).filter(a => !!a); + const existingAnnotations = currentPageAnnotations + .map(a => oldAnnotations.find(byId(a.Id)) || newAnnotations.find(byId(a.Id))) + .filter(a => !!a); if (existingAnnotations.length > 0) { return this.#findAnnotationsToDraw(newAnnotations, oldAnnotations, existingAnnotations); @@ -470,11 +472,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return newAnnotations.filter(newAnnotation => { const oldAnnotation = oldAnnotations.find(byId(newAnnotation.id)); - if (!oldAnnotation) { - return true; - } - - if (!hasChanges(oldAnnotation, newAnnotation)) { + if (!oldAnnotation || !hasChanges(oldAnnotation, newAnnotation)) { return selectToDrawIfDoesNotExist(newAnnotation); } diff --git a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts index 5b4926cfe..437200340 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/pdf-proxy.service.ts @@ -28,7 +28,6 @@ import { combineLatest, Observable, Subject } from 'rxjs'; import { ViewModeService } from './view-mode.service'; import { PermissionsService } from '../../../services/permissions.service'; import { AnnotationsListingService } from './annotations-listing.service'; -import { byPage } from '../../../utils'; import Annotation = Core.Annotations.Annotation; import Quad = Core.Math.Quad; @@ -118,9 +117,16 @@ export class PdfProxyService { // Remove deselected annotations from selected list nextAnnotations = this._annotationManager.selected.filter(ann => !annotations.some(a => a.Id === ann.Id)); this._pdf.disable(TextPopups.ADD_RECTANGLE); - this.#configureAnnotationSpecificActions(nextAnnotations); + const currentPage = this._pdf.currentPage; + if (nextAnnotations.some(a => a.getPageNumber() === currentPage)) { + this.#configureAnnotationSpecificActions(nextAnnotations); + } else { + this._pdf.resetAnnotationActions(); + } return nextAnnotations.map(ann => ann.Id); - } else if (!this._multiSelectService.isEnabled) { + } + + if (!this._multiSelectService.isEnabled) { // Only choose the last selected annotation, to bypass viewer multi select nextAnnotations = annotations; const notSelected = this._fileDataService.all.filter(wrapper => !nextAnnotations.some(ann => ann.Id === wrapper.id)); @@ -130,7 +136,7 @@ export class PdfProxyService { nextAnnotations = this._annotationManager.selected; } - this.#configureAnnotationSpecificActions(annotations); + this.#configureAnnotationSpecificActions(nextAnnotations); if (!(annotations.length === 1 && annotations[0].ReadOnly)) { this._pdf.enable(TextPopups.ADD_RECTANGLE); @@ -154,15 +160,9 @@ export class PdfProxyService { const annotationWrappers = viewerAnnotations.map(va => this._fileDataService.find(va.Id)).filter(va => !!va); this._pdf.resetAnnotationActions(); - const currentPageAnnotations = annotationWrappers.filter(byPage(this._pdf.currentPage)); - - if (currentPageAnnotations.length === 0) { - return this._pdf.resetAnnotationActions(); - } if (annotationWrappers.length === 0) { - this._configureRectangleAnnotationPopup(viewerAnnotations[0]); - return; + return this._configureRectangleAnnotationPopup(viewerAnnotations[0]); } // Add hide action as last item From 1019225b7fe9e2b60f999703c810add0456533df Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 15:38:51 +0200 Subject: [PATCH 20/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63c1c25d2..ed7fe69fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.555.0", + "version": "3.556.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f91264ff5c13ba8207a123b066613efacfee40fa..e3fa8ddd625edd2adf2d0d4340181b92a6b9e277 100644 GIT binary patch delta 3175 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 delta 3175 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 Date: Thu, 23 Jun 2022 17:11:19 +0300 Subject: [PATCH 21/49] RED-4150: Change the description for cleanup options --- .../system-preferences-form.component.ts | 2 +- apps/red-ui/src/assets/i18n/en.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/system-preferences-form/system-preferences-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/system-preferences-form/system-preferences-form.component.ts index 399199ad0..f14eac539 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/system-preferences-form/system-preferences-form.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/system-preferences-form/system-preferences-form.component.ts @@ -17,8 +17,8 @@ export class SystemPreferencesFormComponent extends BaseFormComponent { readonly translations = systemPreferencesTranslations; readonly keys: { name: KeysOf; type: ValueType }[] = [ { name: 'softDeleteCleanupTime', type: 'number' }, - { name: 'downloadCleanupDownloadFilesHours', type: 'number' }, { name: 'downloadCleanupNotDownloadFilesHours', type: 'number' }, + { name: 'downloadCleanupDownloadFilesHours', type: 'number' }, ]; private _initialConfiguration: SystemPreferences; diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index c80ca3363..98ddffb2f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1458,9 +1458,9 @@ "subtitle": "SMTP (Simple Mail Transfer Protocol) enables you to send your emails through the specified server settings.", "system-preferences": { "labels": { - "download-cleanup-download-files-hours": "Deletion time (hours) for download packages that have been generated and downloaded", - "download-cleanup-not-download-files-hours": "Deletion time (hours) for download packages that have been generated but not yet downloaded", - "soft-delete-cleanup-time": "Deletion time (hours) for deleted files in Trash" + "download-cleanup-download-files-hours": "Delete downloaded packages automatically after X hours", + "download-cleanup-not-download-files-hours": "Keep the generated download package for X hours", + "soft-delete-cleanup-time": "Keep deleted files for X hours in trash" }, "placeholders": { "download-cleanup-download-files-hours": "(hours)", From 26a7d752fd12d0d93661b9ab61bf1a2889a29b2d Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 16:13:42 +0200 Subject: [PATCH 22/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3290 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ed7fe69fb..d41df904e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.556.0", + "version": "3.557.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index e3fa8ddd625edd2adf2d0d4340181b92a6b9e277..03c62728526052b7ffc566215b3c7c711b37c8a4 100644 GIT binary patch delta 3201 zcmV-{41V+68QK|;czW`%j zkC(sau2*OI{}kn@{3{aUh{?8PRM#Ii2N&?lpOU}ly0+iT-?!Hw|5X6pk^ON=HJAT$ z`M-)%T-Ai3%Rhhnm9@Eiaq)`o%c5easj{ofl(DkjK7XDRIe)8{yQ0`-1edg4M#cU) zD1`g#1n+5f|M?$FlK<)(oYz~*aJIPHrR^j_Biv zK91<)h&~SQ^UIjlWrpuRukUbqdHv#I$??OPl@c723jO^8p?4O|WAb*3oEPww5(@Kg zkssLQ+ZPuPgMSg*ZAg-$B4T8SquX6oG^ohIiT;CawL#ZQ%aAsIFeMh!v zRvd3?& zI~ubTVA-|`Y>RNi3jSRdHD$Dbnu=tY(KqBY>}C735`RjvSj;46acuij4m2z(&PU{w zZ&6)jG)AAqUL3^u&}daSrcDi$w|E)&oFvI3aoKJ`5h9WnStt0S#1UopTVyZSj|8@O z+RQ_3(e%QRdZFonvza56ur<&Q%URl^9!t7oV_s8A2n6YtIC4rj8q0)u(>vf|Mol*wrTN3^4p+5aqP!|fOPR{ zPhyHuk!Sa)jw(WOg!33(DNAI{*W0y#WnR~s1bw&VgL!QaBpb-p{h$z415Yzzl}(t@ z2y+okkTKw^#Ma#m%zy#jON3jPI+y*E1DDE&MSr77)Km^H6M|U-Aptakc!4Jw4oM~r z(ZQ;@QuP^m%PbyFfa*o0RR|N9NdN=0*lNsZ^pfVe)R4~f2?>1%j-4j=T|X5E0}z!T zva;6K9>+?WW~2QhF7e5YBEZg8YFJHKL9+}G6XiutX06IjdxC*Gu#po0vcG7ZJLa9| zGk+rW4?P)W8ClF83f3$VHLQr*u|rWk0S$zoga|g;@h9Qa+N-BwrP#c&jTNgZCQ(u0 z)~bUlkcu0l$6!7o6~+9yo0)-)x02Ro=G09#UaS2gdz3n4RDSy4)* zr`61m{W!t^T!u~1MseMI`g9HLjIkbRtbYuVhU-6mDudb`Cj2;Rm-+}yRX%@t08iCe zT_ysZIs5=tDvYCfN-D}myzA@1Sv~&@eM$3-P}bx-^x5-^B|x@-1d>^fidpYvF8`L; z_WH6L{nw(pO|s%{FxH(My9xTSe*tDUHRNXRU~-6ObP(PY2*@4t^y0`)ceTI^i>0q1x}s(LWbdTJim-}Li*U1S-|!+G`vsmLVJ zn`u${J+R*vbxi?Xz=e?>E-be@oPV(q$eT%!>qr54+w6HrgF*<~lTlGrcA} z+{5`@1~}pod6SF5cH;vMzxmU@|MAZnU8V28ZxXsA=&K6UBflO(n_dlpq<=`yRIG~B zO~$5T=p=xD>vo(Rz=2}g#jVo)^^U@^rKdPDPwz5$ngG$A-TJreISuZdVoS%l8(!39t4z6F6s78x5Mg*JA`ZPmfX0C=)$BXZRqr z={Px@0V*;Gg1~hc=RO%|4}UY;@hl%Bt}=zE`Yd%$%aSmSVLT>iBdh7rQkkr&g;Ga~>E`U*Dir0ctkit=9U)tF%&+SOgUfG3_Hw|{K~okfFX(bqLd zsH`Z^4gr){lVR3~q;k+|Rl5+VbL|CkJ@Mn4dbwK!0Sb6TwGl^=FqT8mZG8*baXkTa zfgHzCJ3)Ad!;HkBeK+3C2HR?5Ua-D{#rVVGi1!GX>s*8>jC3LlPj8{8$%OUh#kTK;J)-y+}hPNCLx~O|2?RB9aRvoL)WhD4X&<^ETLdP_?c4YN{m2o#1Bv*gd5WJ!GQD~KACuF$pJqNHv)Odx3xM5 z9S<{-sDGj9)SxCiHoQygW(+?L$nO(bRzzsI%kImxKW-8_5XhN$y9A{2_T_Mps&@VX zc+nfmuy||LDUOS~!>P%^409VXalRBNxbpe?9mPY2G|1aETTfNrMci~#Z)9(`R zhWeYqSN#e89}A40hq10u!|*xG7u!bq2x|nqftAycQPJEedvBS&fmMv zkQ(w$%#p@H+U0kandmv`@YzKjWOibkk*J*tl?Rl=EM)X_6EbAl8&6sUlpH zA%AwWH(QirP{ZbnMqz&rH=t8d`eQ2oi0cpPK1r04=r*G@Oo^vru0LaGuH z&q9GeKmg>u{J6D`7#Do2vf+^6jnQ(f7p_?^+<{&QB@^pFysb`zMm^J|Wmkf&UR@^c zAxL86uBxQz@YR!csFD;ODu7UZQ+BAS-G8~a)c$^t#-6^60D7x9OUeHTXVFz)e~K(| zV1BI#`jVP7_Qsv2kw`Z>e^J?CS8B+W3T~xDtyLR+ zk_rE(TEbE{Q*LiPmtyPOa9e3oFNTZyp@Y#rfXMiMFykRW?BWySh%NBoN*?VNiGRiJ zOL9F9S^JG)adD^!zXKwt&w$lVowYu;J>D5MB^ZJ1kFPb(6n+y!?EU!m0^*JZS_ORL z$MLU6lY!()jrj(XY*ub{vz_0`q|pF9;jD75149;oi3G=tvkqvJgEc$2?IK&WFT=BZ z%?~P941WHbG!HsHrVA}<`>b0lM}GkdCwl_qWYl&7a_`(u!GFq4k{RrH(sdCP{){^z zYWK;DA9|;Gw>t)7W?tbKp!4K=8bf$b3C?xx>26#M=sbR{;t`B=OaeX0$lm&vRS}UG zv|D6<%bJn$#P#fn(9kgjBxBy`?C-ZYUN@xfa|>hg)%SRbSUhrt;;hjYUVjA{`j0r+ zrO7h>>y2hY-|}@X^I4f6wGJ6=8B9i457~H1-HGr*cti8bKXOJbiEl6UZ_y>c){pqL z{>ufb;bGOJqQc7l%sZ}vywq7B@v?+BS>^UsZdc{?RbE%+_f>vZ74%g>SGDS^R zp4G@B%w=7R`^!#=(08jt`V~RmJ delta 3203 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 Date: Thu, 23 Jun 2022 17:17:08 +0300 Subject: [PATCH 23/49] RED-4366: Rename dashboard to home --- apps/red-ui/src/assets/i18n/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 98ddffb2f..b302be663 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1944,8 +1944,8 @@ "top-bar": { "navigation-items": { "back": "Back", - "back-to-dashboard": "Back to Dashboard", - "dashboard": "Dashboard", + "back-to-dashboard": "Back to Home", + "dashboard": "Home", "my-account": { "children": { "account": "Account", From b597c79ce960617c7db6aa27cbc247ad14854c0a Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 16:20:01 +0200 Subject: [PATCH 24/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3290 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d41df904e..d44b8a49c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.557.0", + "version": "3.558.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 03c62728526052b7ffc566215b3c7c711b37c8a4..380ffc133736fdd4d01e544714eacc0e3e0119f8 100644 GIT binary patch delta 3203 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 Date: Thu, 23 Jun 2022 17:30:03 +0300 Subject: [PATCH 25/49] RED-4323, RED-4332: Update placeholder descriptions --- .../placeholders-descriptions-translations.ts | 4 ++++ apps/red-ui/src/assets/i18n/de.json | 8 +++++++- apps/red-ui/src/assets/i18n/en.json | 8 +++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/translations/placeholders-descriptions-translations.ts b/apps/red-ui/src/app/translations/placeholders-descriptions-translations.ts index 366aaa667..876acfb02 100644 --- a/apps/red-ui/src/app/translations/placeholders-descriptions-translations.ts +++ b/apps/red-ui/src/app/translations/placeholders-descriptions-translations.ts @@ -18,4 +18,8 @@ export const generalPlaceholdersDescriptionsTranslations = { 'date.MM/dd/yyyy': _('reports-screen.descriptions.general.date.m-d-y'), 'time.HH:mm': _('reports-screen.descriptions.general.time.h-m'), 'dossier.name': _('reports-screen.descriptions.general.dossier.name'), + 'redaction.value': _('reports-screen.descriptions.general.redaction.value'), + 'redaction.justificationLegalBasis': _('reports-screen.descriptions.general.redaction.justification-legal-basis'), + 'redaction.justificationText': _('reports-screen.descriptions.general.redaction.justification-text'), + 'redaction.entity.displayName': _('reports-screen.descriptions.general.redaction.entity.display-name'), } as const; diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 7f540b547..eb6199f26 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -1821,12 +1821,18 @@ "name": "Dieser Platzhalter wird durch den Dateinamen ersetzt." }, "redaction": { + "entity": { + "display-name": "" + }, "excerpt": "Dieser Platzhalter wird durch einen Textausschnitt ersetzt, der die Schwärzung enthält.", "justification": "Dieser Platzhalter wird durch die Begründung der Schwärzung ersetzt. Es ist eine Kombination aus dem Rechtsverweis (justificationParagraph) und dem Begründungstext (justificationReason).", + "justification-legal-basis": "", "justification-paragraph": "Dieser Platzhalter wird durch den Rechtshinweis der Begründung der Redaktion ersetzt.", "justification-reason": "Dieser Platzhalter wird durch den Begründungstext der Schwärzung ersetzt.", + "justification-text": "", "page": "Dieser Platzhalter wird durch die Seitenzahl der Redaktion ersetzt.", - "paragraph": "Dieser Platzhalter wird durch den Absatz ersetzt, der die Schwärzung enthält." + "paragraph": "Dieser Platzhalter wird durch den Absatz ersetzt, der die Schwärzung enthält.", + "value": "" }, "time": { "h-m": "Dieser Platzhalter wird durch den Zeitpunkt ersetzt, zu dem der Bericht erstellt wurde." diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index b302be663..ad9b7561e 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1821,12 +1821,18 @@ "name": "This placeholder is replaced by the file name." }, "redaction": { + "entity": { + "display-name": "This placeholder is replaced by the name of the entity the redaction is based on." + }, "excerpt": "This placeholder is replaced by a text snippet that contains the redaction.", "justification": "This placeholder is replaced by the justification of the redaction. It is a combination of the legal reference (justificationParagraph) and the justification text (justificationReason).", + "justification-legal-basis": "This placeholder is replaced by the legal basis for the redaction.", "justification-paragraph": "This placeholder is replaced by the legal reference of the justification of the redaction.", "justification-reason": "This placeholder is replaced by the justification text of the redaction.", + "justification-text": "This placeholder is replaced by the justification text.", "page": "This placeholder is replaced by the page number of the redaction.", - "paragraph": "This placeholder is replaced by the paragraph that contains the redaction." + "paragraph": "This placeholder is replaced by the paragraph that contains the redaction.", + "value": "This placeholder is replaced by the value that was redacted." }, "time": { "h-m": "This placeholder is replaced by the time the report was created." From 7b6ee9f9c6d88f4c16efe77d1ec0ea22ee1fbf3b Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 16:32:26 +0200 Subject: [PATCH 26/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d44b8a49c..4a59d4b9d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.558.0", + "version": "3.559.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 380ffc133736fdd4d01e544714eacc0e3e0119f8..4850f06e648de65356cd886c8ef4a209bbf49061 100644 GIT binary patch delta 164 zcmV;V09*gv8Qd9=c?jQI1;r{o S+p{JCuL}tHao3#yPyhf{^;#SN delta 165 zcmV;W09yat8QmF>c?i#TR?lq54s4NuB7X-}XZimG<*58C661);wq;b;A2tUU@XDW( zzvsHJ*gN^Vb^!8U1zzwB*&mlwbNN4)|Enm)RZSSW{PVY8S)0oj7q95PEGmYYD!aN& z87u4U^XEyCvwFEJid{xCii@ROQUIf_- TSjMv@0j~=P_Evc$08jt`%v4kH From ed28381644c87f2764336ffdef4894ae6205033c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Thu, 23 Jun 2022 17:37:16 +0300 Subject: [PATCH 27/49] RED-4348: Fixed license date pipe --- .../license/license-screen/license-screen.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.html index 046e5e489..860edd4d3 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.html @@ -50,8 +50,8 @@
- {{ (selectedLicense.validFrom | date: 'dd-MM-YYYY') || '-' }} / - {{ (selectedLicense.validUntil | date: 'dd-MM-YYYY') || '-' }} + {{ (selectedLicense.validFrom | date: 'dd-MM-yyyy') || '-' }} / + {{ (selectedLicense.validUntil | date: 'dd-MM-yyyy') || '-' }}
From 8b613313e3f4a7ed6bf2aec9fde8bccf696e7ef3 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 16:39:36 +0200 Subject: [PATCH 28/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4a59d4b9d..3235a649f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.559.0", + "version": "3.560.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 4850f06e648de65356cd886c8ef4a209bbf49061..7ccc2a6b0ce5ac8be45e1faa23a484adbd95de2b 100644 GIT binary patch delta 3203 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 pxtzO008)>Iz|8h delta 3204 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 Date: Thu, 23 Jun 2022 17:54:51 +0300 Subject: [PATCH 29/49] RED-3800: Update common-ui --- libs/common-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/common-ui b/libs/common-ui index 34373a2a5..6a1625828 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 34373a2a5bb36f5c550b33b90107314d7c116730 +Subproject commit 6a1625828d76d76a624845376f6aa564cc02c026 From dea5d71fbd4e6cb82834281813f836a252bef931 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 16:58:04 +0200 Subject: [PATCH 30/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3235a649f..37f57bfa1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.560.0", + "version": "3.561.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 7ccc2a6b0ce5ac8be45e1faa23a484adbd95de2b..33aaee751887fe7f53e8f498724d6a2b62f99a2e 100644 GIT binary patch delta 3175 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°{NOp8>0#I%|Dwd%QDj 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 Date: Thu, 23 Jun 2022 18:25:19 +0300 Subject: [PATCH 31/49] RED-4344: Fixed suggest accept recommendation --- .../modules/file-preview/services/manual-redaction.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts b/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts index 46ac67e14..033cc3591 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/manual-redaction.service.ts @@ -67,8 +67,8 @@ export class ManualRedactionService extends GenericService { const recommendations: List = annotations.map(annotation => ({ addToDictionary: true, sourceId: annotation.annotationId, - reason: 'False Positive', value: annotation.value, + reason: annotation.legalBasis, positions: annotation.positions, type: annotation.recommendationType, comment, From 06811137e691547d9e901414120ae0432f6057dd Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 17:27:45 +0200 Subject: [PATCH 32/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 37f57bfa1..510252cf7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.561.0", + "version": "3.562.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 33aaee751887fe7f53e8f498724d6a2b62f99a2e..d7b1bdd2aae8085678be744b37138f1d3b477876 100644 GIT binary patch delta 3204 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 r&gERr Date: Thu, 23 Jun 2022 20:05:01 +0300 Subject: [PATCH 33/49] RED-4270: Fix --- apps/red-ui/src/app/services/dossiers/dossiers.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts index 7cbb64601..5a91e82a7 100644 --- a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts @@ -1,7 +1,7 @@ import { EntitiesService, List, mapEach, QueryParam, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; import { Dossier, DossierStats, IDossier, IDossierChanges, IDossierRequest } from '@red/domain'; import { forkJoin, Observable, of, Subject, throwError } from 'rxjs'; -import { catchError, filter, map, switchMap, tap } from 'rxjs/operators'; +import { catchError, filter, map, switchMap, take, tap } from 'rxjs/operators'; import { Injector } from '@angular/core'; import { DossierStatsService } from './dossier-stats.service'; import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; @@ -52,7 +52,7 @@ export abstract class DossiersService extends EntitiesService return this.hasChangesDetails$().pipe( tap(changes => this._logger.info('[CHANGES] ', changes)), switchMap(dossierChanges => - forkJoin([...load(dossierChanges), this._dashboardStatsService.loadAll()]).pipe(map(() => dossierChanges)), + forkJoin([...load(dossierChanges), this._dashboardStatsService.loadAll().pipe(take(1))]).pipe(map(() => dossierChanges)), ), tap(() => this._updateLastChanged()), ); From d9e1d57448ff1a2d25aea266a4d9e4bd145bf332 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 19:11:07 +0200 Subject: [PATCH 34/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 510252cf7..9508bd9e4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.562.0", + "version": "3.563.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index d7b1bdd2aae8085678be744b37138f1d3b477876..9231156b34254abcf848a5223290696c8515e3c6 100644 GIT binary patch delta 3202 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 From ae88ef2564c77f6ad515b670967d2644d2cb24fd Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 23 Jun 2022 20:32:24 +0300 Subject: [PATCH 35/49] RED-4346: fix value after rectangle resize --- .../services/annotation-actions.service.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts index 2a0f691f4..36dd47ea4 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts @@ -420,7 +420,7 @@ export class AnnotationActionsService { async acceptResize($event: MouseEvent, annotation: AnnotationWrapper): Promise { const fileId = this._state.fileId; const textAndPositions = await this._extractTextAndPositions(annotation.id); - const text = annotation.value === 'Rectangle' ? 'Rectangle' : annotation.isImage ? 'Image' : textAndPositions.text; + const text = annotation.rectangle ? annotation.value : annotation.isImage ? 'Image' : textAndPositions.text; const data = { annotation, text }; this._dialogService.openDialog('resizeAnnotation', $event, data, (result: { comment: string; updateDictionary: boolean }) => { const resizeRequest: IResizeRequest = { @@ -572,17 +572,18 @@ export class AnnotationActionsService { text: words.join(' '), positions: rectangles, }; - } else { - const rect = toPosition( - viewerAnnotation.getPageNumber(), - this._documentViewer.getHeight(viewerAnnotation.getPageNumber()), - this._annotationDrawService.annotationToQuads(viewerAnnotation), - ); - return { - positions: [rect], - text: null, - }; } + + const position = toPosition( + viewerAnnotation.getPageNumber(), + this._documentViewer.getHeight(viewerAnnotation.getPageNumber()), + this._annotationDrawService.annotationToQuads(viewerAnnotation), + ); + + return { + positions: [position], + text: null, + }; } private async _extractTextFromRect(page: Core.PDFNet.Page, rect: Core.PDFNet.Rect) { From c7dbd82b662c49ef317c9744a6b38f5902b678c2 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 19:34:46 +0200 Subject: [PATCH 36/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9508bd9e4..59644fc50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.563.0", + "version": "3.564.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 9231156b34254abcf848a5223290696c8515e3c6..4cb2e0bd95135101edbf9defc901ea252d6d90ae 100644 GIT binary patch delta 3203 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 delta 3202 zcmV-|41M$58QU3WSeCl{Pv~yv57F=OjrUiOY5iiV%^s$U4CnC5|Y&-y(atek8EP z(`FuOi>4Qj)C)}qoXs4;j+tNLIHvgy0Jy+!XFUr_$nth@FMk|@s2WB%UR8^c(9;8W zE>34sUVp5D6+RN?9UnzTU0{Ec3e7BAIxieAlX2!?gxda8hDx!t8BuI zMwp9Wf{X!QCARKnU@A|1Y7=Wn! zkd?K*_BdA3G#l+7afwfE6ajX&Qp0M>3Yukjm?$rDGHX?K+7k@ifsLF1ko`sL+%fMw zpMMdlf9T05%gAE(P_Sl^s9{Cajvb2X31}evBt)>$jz0;X)?PggE5+uGZLC;TF^P%_ zw^kigfmGZWJqGg$sVL^p-OLPZyp^;zGpBB{@mlQ{*`w4UqZ%Z?_bRi;ZxdS8%!*Pf zJ*{Sj?8gxX;4*B2Hj3-!)2C}_XN>hoV}E6cG+h7jQyJ9mFyY5hyVOTus`B~E19+;& z>M{}N%;5*HQehm;Q&Lej;$2@4&g%JR=u4Vsgt8{zq0gRQECI3wB#_K4=)V@#ZITstgR$=9*iF!n{R=R=sUbIe2a`iQql56KKsfeI58?}wH|!m$_J1UQ z{{xp9vdXGRXf^=m&!Gi?;V7+Wlrp+Ap%hF)NxUA)H%*i#O@1rl5Pke=8Vk1{|7A#W zn3?8?M{XT~MM$b7d;fiu5~#1y*J9`54>-p=Qq_Zb)>HGi{-&Sj>mtiw9?r8bNJS=z z-b{E^d|XuXhxVEj`7Nd3u-0(*%g_?AG^PG?|>E?OQAP!9=+F z*pO89k)GQkI-0d3GzFWQal5KmU%t1739EC z)$GIC==&8dOp1bu;I;-f$uBkk6e@9CCR*CxLO2FpZySYZ{X!Y^YjeT@qEm_DVI_%$ zwDLRN%?`3mlS6L)nHd3S&{wd5CtcrVRFwB(uf`1P(5~*%1w8Qtxqodd=qws6i@vTw zLS;pPb_k%vnhdi>B$b0!tJ;M?oog?U>xm!V)XUu>2vEQys*N~`gs~igZtGjfj_V1a z3*YE3RD%5Ocn_Ry3`R!WB&$qbx0W3}+*`;FWDB ziEU`(%nBkB+-L-}>MjN*$;Ngx!tWujEAC`txbZ?mqia+w+1ReS093%)+$@mRg=aX9 zmXN6}0<5!gR=%#6O^d6)Sq~T|nq1Ko-58pIu1uoTp_%*A8njb6IX~Rh&`f> zDrtV(a>a3jSbvjIO0sfa#N=R>1ox$v;?}OFF$wYH{_jE6>!^Zw9lCaHZ*X;WWC>ks z9ohwQtpk$Al%+K14G=(nTLB6@SQKBs$9W9?9X=lh*eXeXGO8o>P$Ip~HS7HQ$BYuDiA>5Fz4+f;~@X5qWOAh#HxDm)pzOB_k z=y;fsM1KuUrv^3IvEf}>H)Hs5Kz^UdvLZsuU3Ool{c)4ffk4j0+a(~Cw=ai-RJHRD zz>D5chQ(W}PH|k^9ZpRSW|-TEiSwmE!IjV7?ht40+0a?=)DITRHglshn~TY(%(XG}2Cl)PK{yVTyDi4=o1A+Um82z6;kPo_?2j zN93!P`AL7=CCV`J6P>1)$OtNR4Zv*0gO=RtasJ+Q zhSZR6VvaPy>QKX;STgdD4AFX;%#*zH0qfyExQtI_3AQl z4?z+mcU2`#hp(QrLzSfPPyvMMo3cYq?SIa_rS|uGH1_mm1khW>SxWv#IE$_V`%`3z z1M_Q@0F-(X`Sz_xy#16&w;xa6v#?eWgADZvP2e|)WRrtq5>V(-Vd7Z7(W&??{? zKaPJrnhYdYYRos7WV3Rso9+BgCXEK@31^ja9T>6zOe8pFoOM8(9IV;FZ5P?1eHotR zYkp9(pIaD{ufE4i#Nv@F6laaL@P8`E(0|0i zE=`v4UvD%M`j)SAna|4nsCCF_%V09XddS98>Q00g!W)`b{*g0kNql>$e~T{pwSL5} z^D4qhY-EF z5PeUDsHo19z2HdmMj_tgQUnQc94Q`iK4OU3gLRFw)8 Date: Thu, 23 Jun 2022 21:15:51 +0300 Subject: [PATCH 37/49] RED-4347: back to skipped when suggestion declined --- .../src/app/models/file/annotation.wrapper.ts | 32 ++++++++++++------- .../services/annotation-actions.service.ts | 5 +-- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 2bde17f99..25196da0e 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -415,13 +415,24 @@ export class AnnotationWrapper implements IListable, Record { } break; case ManualRedactionType.REMOVE_FROM_DICTIONARY: - switch (lastManualChange.annotationStatus) { - case LogEntryStatus.APPROVED: - return SuperTypes.Skipped; - case LogEntryStatus.DECLINED: - return SuperTypes.Redaction; - case LogEntryStatus.REQUESTED: - return SuperTypes.SuggestionRemoveDictionary; + if (redactionLogEntry.redacted) { + switch (lastManualChange.annotationStatus) { + case LogEntryStatus.APPROVED: + return SuperTypes.Skipped; + case LogEntryStatus.DECLINED: + return SuperTypes.Redaction; + case LogEntryStatus.REQUESTED: + return SuperTypes.SuggestionRemoveDictionary; + } + } else { + switch (lastManualChange.annotationStatus) { + case LogEntryStatus.APPROVED: + return SuperTypes.Redaction; + case LogEntryStatus.DECLINED: + return SuperTypes.Skipped; + case LogEntryStatus.REQUESTED: + return SuperTypes.SuggestionRemoveDictionary; + } } break; case ManualRedactionType.FORCE_REDACT: @@ -454,9 +465,8 @@ export class AnnotationWrapper implements IListable, Record { return SuperTypes.Redaction; } else if (redactionLogEntry.hint) { return SuperTypes.Hint; - } else { - return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped; } + return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped; } case LogEntryStatus.REQUESTED: return SuperTypes.SuggestionRecategorizeImage; @@ -481,9 +491,9 @@ export class AnnotationWrapper implements IListable, Record { return redactionLogEntry.type === 'manual' ? SuperTypes.ManualRedaction : SuperTypes.Redaction; } else if (redactionLogEntry.hint) { return SuperTypes.Hint; - } else { - return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped; } + return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped; + case LogEntryStatus.REQUESTED: return SuperTypes.SuggestionResize; } diff --git a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts index 36dd47ea4..0e2e842ee 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts @@ -370,10 +370,7 @@ export class AnnotationActionsService { type: 'actionButton', img: this._convertPath('/assets/icons/general/close.svg'), title: this._translateService.instant('annotation-actions.reject-suggestion'), - onClick: () => - this._ngZone.run(() => { - this.rejectSuggestion(null, annotations); - }), + onClick: () => this._ngZone.run(() => this.rejectSuggestion(null, annotations)), }); } From 1ecc52f64d8a5d9c299a12b7a6cd25e5b10d8475 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 20:18:16 +0200 Subject: [PATCH 38/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 59644fc50..b9411e2d6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.564.0", + "version": "3.565.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 4cb2e0bd95135101edbf9defc901ea252d6d90ae..076ec6c50e3eabafe57ed4e92de6e0f13ec0c6d9 100644 GIT binary patch delta 3174 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 Date: Fri, 24 Jun 2022 00:12:34 +0300 Subject: [PATCH 39/49] RED-4365: revert to ngx-charts --- .../combo-chart/combo-chart.component.html | 112 +++++ .../combo-chart/combo-chart.component.scss | 89 ++++ .../combo-chart/combo-chart.component.ts | 393 ++++++++++++++++++ .../combo-series-vertical.component.ts | 199 +++++++++ .../screens/license/combo-chart/index.ts | 2 + .../screens/license/combo-chart/models.ts | 11 + .../google-chart/google-chart.component.ts | 43 -- .../license-chart.component.html | 18 + .../license-chart/license-chart.component.ts | 87 +++- .../license-screen.component.ts | 2 +- .../admin/screens/license/license.module.ts | 16 +- .../admin/screens/license/utils/constants.ts | 16 + apps/red-ui/src/assets/config/config.json | 5 - apps/red-ui/src/assets/i18n/de.json | 1 + apps/red-ui/src/assets/i18n/en.json | 1 + docker/red-ui/docker-entrypoint.sh | 11 - libs/red-domain/src/lib/shared/app-config.ts | 5 - package.json | 2 +- yarn.lock | 167 +++++++- 19 files changed, 1075 insertions(+), 105 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.html create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.scss create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-series-vertical.component.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/index.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/combo-chart/models.ts delete mode 100644 apps/red-ui/src/app/modules/admin/screens/license/google-chart/google-chart.component.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.html diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.html b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.html new file mode 100644 index 000000000..f72ec50ed --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.html @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.scss b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.scss new file mode 100644 index 000000000..7ee754487 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.scss @@ -0,0 +1,89 @@ +.ngx-charts { + float: left; + overflow: visible; + + .circle, + .bar, + .arc { + cursor: pointer; + } + + .bar, + .cell, + .arc, + .card { + &.active, + &:hover { + opacity: 0.8; + transition: opacity 100ms ease-in-out; + } + + &:focus { + outline: none; + } + + &.hidden { + display: none; + } + } + + g { + &:focus { + outline: none; + } + } + + .line-series, + .line-series-range, + .area-series { + &.inactive { + transition: opacity 100ms ease-in-out; + opacity: 0.2; + } + } + + .line-highlight { + display: none; + + &.active { + display: block; + } + } + + .area { + opacity: 0.6; + } + + .circle { + &:hover { + cursor: pointer; + } + } + + .label { + font-size: 12px; + font-weight: normal; + } + + .tooltip-anchor { + fill: rgb(0, 0, 0); + } + + .gridline-path { + stroke: #ddd; + stroke-width: 1; + fill: none; + } + + .grid-panel { + rect { + fill: none; + } + + &.odd { + rect { + fill: rgba(0, 0, 0, 0.05); + } + } + } +} diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.ts new file mode 100644 index 000000000..7c5d8cfac --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-chart.component.ts @@ -0,0 +1,393 @@ +import { + Component, + ContentChild, + EventEmitter, + HostListener, + Input, + Output, + TemplateRef, + ViewChild, + ViewEncapsulation, +} from '@angular/core'; + +import { curveLinear } from 'd3-shape'; +import { scaleBand, scaleLinear, scalePoint, scaleTime } from 'd3-scale'; +import { + BaseChartComponent, + calculateViewDimensions, + Color, + ColorHelper, + LegendPosition, + LineSeriesComponent, + Orientation, + ScaleType, + ViewDimensions, +} from '@swimlane/ngx-charts'; +import { ILineChartSeries } from './models'; + +@Component({ + // eslint-disable-next-line @angular-eslint/component-selector + selector: 'combo-chart-component', + templateUrl: './combo-chart.component.html', + styleUrls: ['./combo-chart.component.scss'], + encapsulation: ViewEncapsulation.None, +}) +export class ComboChartComponent extends BaseChartComponent { + @Input() curve: any = curveLinear; + @Input() legend = false; + @Input() legendTitle = 'Legend'; + @Input() legendPosition: LegendPosition = LegendPosition.Right; + @Input() xAxis; + @Input() yAxis; + @Input() showXAxisLabel; + @Input() showYAxisLabel; + @Input() showRightYAxisLabel; + @Input() xAxisLabel; + @Input() yAxisLabel; + @Input() yAxisLabelRight; + @Input() tooltipDisabled = false; + @Input() gradient: boolean; + @Input() showGridLines = true; + @Input() activeEntries: any[] = []; + @Input() schemeType: ScaleType; + @Input() yAxisTickFormatting: any; + @Input() yRightAxisTickFormatting: any; + @Input() roundDomains = false; + @Input() colorSchemeLine: Color; + @Input() autoScale; + @Input() lineChart: ILineChartSeries[]; + @Input() yLeftAxisScaleFactor: any; + @Input() yRightAxisScaleFactor: any; + @Input() rangeFillOpacity: number; + @Input() animations = true; + @Input() noBarWhenZero = true; + @Output() activate = new EventEmitter<{ value; entries: unknown[] }>(); + @Output() deactivate = new EventEmitter<{ value; entries: unknown[] }>(); + @ContentChild('tooltipTemplate') tooltipTemplate: TemplateRef; + @ContentChild('seriesTooltipTemplate') seriesTooltipTemplate: TemplateRef; + @ViewChild(LineSeriesComponent) lineSeriesComponent: LineSeriesComponent; + dims: ViewDimensions; + xScale: any; + yScale: any; + xDomain: string[] | number[]; + yDomain: string[] | number[]; + transform: string; + colors: ColorHelper; + colorsLine: ColorHelper; + margin = [10, 20, 10, 20]; + xAxisHeight = 0; + yAxisWidth = 0; + legendOptions: any; + scaleType: ScaleType = ScaleType.Linear; + xScaleLine; + yScaleLine; + xDomainLine; + yDomainLine; + seriesDomain; + combinedSeries: ILineChartSeries[]; + xSet; + filteredDomain; + hoveredVertical; + yOrientLeft: Orientation = Orientation.Left; + yOrientRight: Orientation = Orientation.Right; + legendSpacing = 0; + bandwidth: number; + barPadding = 8; + + @Input() xAxisTickFormatting: any; + + trackBy(index, item): string { + return item.name; + } + + update(): void { + super.update(); + this.dims = calculateViewDimensions({ + width: this.width, + height: this.height, + margins: this.margin, + showXAxis: this.xAxis, + showYAxis: this.yAxis, + xAxisHeight: this.xAxisHeight, + yAxisWidth: this.yAxisWidth, + showXLabel: this.showXAxisLabel, + showYLabel: this.showYAxisLabel, + showLegend: this.legend, + legendType: this.schemeType, + legendPosition: this.legendPosition, + }); + + if (!this.yAxis) { + this.legendSpacing = 0; + } else if (this.showYAxisLabel && this.yAxis) { + this.legendSpacing = 100; + } else { + this.legendSpacing = 40; + } + this.xScale = this.getXScale(); + this.yScale = this.getYScale(); + + // line chart + this.xDomainLine = this.getXDomainLine(); + if (this.filteredDomain) { + this.xDomainLine = this.filteredDomain; + } + + this.yDomainLine = this.getYDomainLine(); + this.seriesDomain = this.getSeriesDomain(); + + this.scaleLines(); + + this.setColors(); + this.legendOptions = this.getLegendOptions(); + + this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`; + } + + deactivateAll() { + this.activeEntries = [...this.activeEntries]; + for (const entry of this.activeEntries) { + this.deactivate.emit({ value: entry, entries: [] }); + } + this.activeEntries = []; + } + + @HostListener('mouseleave') + hideCircles(): void { + this.hoveredVertical = null; + this.deactivateAll(); + } + + updateHoveredVertical(item): void { + this.hoveredVertical = item.value; + this.deactivateAll(); + } + + scaleLines() { + this.xScaleLine = this.getXScaleLine(this.xDomainLine, this.dims.width); + this.yScaleLine = this.getYScaleLine(this.yDomainLine, this.dims.height); + } + + getSeriesDomain(): any[] { + this.combinedSeries = this.lineChart.slice(0); + this.combinedSeries.push({ + name: this.yAxisLabel, + series: this.results, + }); + return this.combinedSeries.map(d => d.name); + } + + isDate(value): value is Date { + return value instanceof Date; + } + + getScaleType(values): ScaleType { + let date = true; + let num = true; + + for (const value of values) { + if (!this.isDate(value)) { + date = false; + } + + if (typeof value !== 'number') { + num = false; + } + } + + if (date) { + return ScaleType.Time; + } + if (num) { + return ScaleType.Linear; + } + return ScaleType.Ordinal; + } + + getXDomainLine(): any[] { + let values: number[] = []; + + for (const results of this.lineChart) { + for (const d of results.series) { + if (!values.includes(d.name)) { + values.push(d.name); + } + } + } + + this.scaleType = this.getScaleType(values); + let domain = []; + + if (this.scaleType === 'time') { + const min = Math.min(...values); + const max = Math.max(...values); + domain = [min, max]; + } else if (this.scaleType === 'linear') { + values = values.map(v => Number(v)); + const min = Math.min(...values); + const max = Math.max(...values); + domain = [min, max]; + } else { + domain = values; + } + + this.xSet = values; + return domain; + } + + getYDomainLine(): any[] { + const domain: number[] = []; + + for (const results of this.lineChart) { + for (const d of results.series) { + if (domain.indexOf(d.value) < 0) { + domain.push(d.value); + } + if (d.min !== undefined) { + if (domain.indexOf(d.min) < 0) { + domain.push(d.min); + } + } + if (d.max !== undefined) { + if (domain.indexOf(d.max) < 0) { + domain.push(d.max); + } + } + } + } + + let min = Math.min(...domain); + const max = Math.max(...domain); + if (this.yRightAxisScaleFactor) { + const minMax = this.yRightAxisScaleFactor(min, max); + return [Math.min(0, minMax.min as number), minMax.max]; + } + min = Math.min(0, min); + return [min, max]; + } + + getXScaleLine(domain, width: number): any { + let scale; + if (this.bandwidth === undefined) { + this.bandwidth = width - this.barPadding; + } + const offset = Math.floor((width + this.barPadding - (this.bandwidth + this.barPadding) * domain.length) / 2); + + if (this.scaleType === 'time') { + scale = scaleTime().range([0, width]).domain(domain); + } else if (this.scaleType === 'linear') { + scale = scaleLinear().range([0, width]).domain(domain); + + if (this.roundDomains) { + scale = scale.nice(); + } + } else if (this.scaleType === 'ordinal') { + scale = scalePoint() + .range([offset + this.bandwidth / 2, width - offset - this.bandwidth / 2]) + .domain(domain); + } + + return scale; + } + + getYScaleLine(domain, height): any { + const scale = scaleLinear().range([height, 0]).domain(domain); + + return this.roundDomains ? scale.nice() : scale; + } + + getXScale(): any { + this.xDomain = this.getXDomain(); + const spacing = this.xDomain.length / (this.dims.width / this.barPadding + 1); + return scaleBand().range([0, this.dims.width]).paddingInner(spacing).domain(this.xDomain); + } + + getYScale(): any { + this.yDomain = this.getYDomain(); + const scale = scaleLinear().range([this.dims.height, 0]).domain(this.yDomain); + return this.roundDomains ? scale.nice() : scale; + } + + getXDomain(): any[] { + return this.results.map(d => d.name); + } + + getYDomain() { + const values: number[] = this.results.map(d => d.value); + const min = Math.min(0, ...values); + const max = Math.max(...values); + if (this.yLeftAxisScaleFactor) { + const minMax = this.yLeftAxisScaleFactor(min, max); + return [Math.min(0, minMax.min as number), minMax.max]; + } + return [min, max]; + } + + onClick(data) { + this.select.emit(data); + } + + setColors(): void { + let domain: number[] | string[]; + if (this.schemeType === 'ordinal') { + domain = this.xDomain; + } else { + domain = this.yDomain; + } + this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors); + this.colorsLine = new ColorHelper(this.colorSchemeLine, this.schemeType, domain, this.customColors); + } + + getLegendOptions() { + const opts = { + scaleType: this.schemeType, + colors: undefined, + domain: [], + title: undefined, + position: this.legendPosition, + }; + if (opts.scaleType === 'ordinal') { + opts.domain = this.seriesDomain; + opts.colors = this.colorsLine; + opts.title = this.legendTitle; + } else { + opts.domain = this.seriesDomain; + opts.colors = this.colors.scale; + } + return opts; + } + + updateLineWidth(width): void { + this.bandwidth = width; + this.scaleLines(); + } + + updateYAxisWidth({ width }: { width: number }): void { + this.yAxisWidth = width + 20; + this.update(); + } + + updateXAxisHeight({ height }): void { + this.xAxisHeight = height; + this.update(); + } + + onActivate(item) { + const idx = this.activeEntries.findIndex(d => d.name === item.name && d.value === item.value && d.series === item.series); + if (idx > -1) { + return; + } + + this.activeEntries = [item, ...this.activeEntries]; + this.activate.emit({ value: item, entries: this.activeEntries }); + } + + onDeactivate(item) { + const idx = this.activeEntries.findIndex(d => d.name === item.name && d.value === item.value && d.series === item.series); + + this.activeEntries.splice(idx, 1); + this.activeEntries = [...this.activeEntries]; + + this.deactivate.emit({ value: item, entries: this.activeEntries }); + } +} diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-series-vertical.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-series-vertical.component.ts new file mode 100644 index 000000000..ee6c92cb5 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/combo-series-vertical.component.ts @@ -0,0 +1,199 @@ +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core'; +import { animate, style, transition, trigger } from '@angular/animations'; +import { Bar, BarOrientation, formatLabel, PlacementTypes, StyleTypes } from '@swimlane/ngx-charts'; + +@Component({ + // eslint-disable-next-line @angular-eslint/component-selector + selector: 'g[ngx-combo-charts-series-vertical]', + template: ` + + `, + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [ + trigger('animationState', [ + transition('* => void', [ + style({ + opacity: 1, + transform: '*', + }), + animate(500, style({ opacity: 0, transform: 'scale(0)' })), + ]), + ]), + ], +}) +export class ComboSeriesVerticalComponent implements OnChanges { + @Input() dims; + @Input() type = 'standard'; + @Input() series; + @Input() seriesLine; + @Input() xScale; + @Input() yScale; + @Input() colors; + @Input() tooltipDisabled = false; + @Input() gradient: boolean; + @Input() activeEntries: any[]; + @Input() seriesName: string; + @Input() animations = true; + @Input() noBarWhenZero = true; + + @Output() activate = new EventEmitter(); + @Output() deactivate = new EventEmitter(); + @Output() bandwidth = new EventEmitter(); + + bars: any; + x: any; + y: any; + readonly tooltipTypes = StyleTypes; + readonly tooltipPlacements = PlacementTypes; + readonly orientations = BarOrientation; + + ngOnChanges(): void { + this.update(); + } + + update(): void { + let width; + if (this.series.length) { + width = this.xScale.bandwidth(); + this.bandwidth.emit(width); + } + + let d0 = 0; + let total; + if (this.type === 'normalized') { + total = this.series.map(d => d.value).reduce((sum: number, d: number) => sum + d, 0); + } + + this.bars = this.series.map((d, index) => { + let value: number = d.value; + const label = d.name; + const formattedLabel = formatLabel(label); + const roundEdges = this.type === 'standard'; + + const bar: Bar = { + value, + label, + roundEdges, + data: d, + width, + formattedLabel, + height: 0, + x: 0, + y: 0, + ariaLabel: label, + tooltipText: label, + color: undefined, + gradientStops: undefined, + }; + + let offset0 = d0; + let offset1 = offset0 + value; + + if (this.type === 'standard') { + bar.height = Math.abs(this.yScale(value) - this.yScale(0)); + bar.x = this.xScale(label); + + if (value < 0) { + bar.y = this.yScale(0); + } else { + bar.y = this.yScale(value); + } + } else if (this.type === 'stacked') { + d0 += value; + + bar.height = this.yScale(offset0) - this.yScale(offset1); + bar.x = 0; + bar.y = this.yScale(offset1); + // bar.offset0 = offset0; + // bar.offset1 = offset1; + } else if (this.type === 'normalized') { + d0 += value; + + if (total > 0) { + offset0 = (offset0 * 100) / total; + offset1 = (offset1 * 100) / total; + } else { + offset0 = 0; + offset1 = 0; + } + + bar.height = this.yScale(offset0) - this.yScale(offset1); + bar.x = 0; + bar.y = this.yScale(offset1); + // bar.offset0 = offset0; + // bar.offset1 = offset1; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + value = (offset1 - offset0).toFixed(2) + '%'; + } + + if (this.colors.scaleType === 'ordinal') { + bar.color = this.colors.getColor(label); + } else { + if (this.type === 'standard') { + bar.color = this.colors.getColor(value); + bar.gradientStops = this.colors.getLinearGradientStops(value); + } else { + bar.color = this.colors.getColor(offset1); + bar.gradientStops = this.colors.getLinearGradientStops(offset1, offset0); + } + } + + let tooltipLabel = formattedLabel; + if (this.seriesName) { + tooltipLabel = `${this.seriesName} • ${formattedLabel}`; + } + + this.getSeriesTooltips(this.seriesLine, index); + const lineValue: string = this.seriesLine[0].series[index].value; + bar.tooltipText = ` + ${tooltipLabel} + + Y1 - ${value.toLocaleString()} • Y2 - ${lineValue.toLocaleString()}% + + `; + + return bar; + }); + } + + getSeriesTooltips(seriesLine, index) { + return seriesLine.map(d => d.series[index]); + } + + isActive(entry): boolean { + if (!this.activeEntries) { + return false; + } + const item = this.activeEntries.find(d => entry.name === d.name && entry.series === d.series); + return item !== undefined; + } + + trackBy(index, bar): string { + return bar.label; + } +} diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/index.ts b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/index.ts new file mode 100644 index 000000000..2a0ab4f22 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/index.ts @@ -0,0 +1,2 @@ +export * from './combo-chart.component'; +export * from './combo-series-vertical.component'; diff --git a/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/models.ts b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/models.ts new file mode 100644 index 000000000..7358f8e55 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/combo-chart/models.ts @@ -0,0 +1,11 @@ +export interface ISeries { + name: number; + value: number; + min: number; + max: number; +} + +export interface ILineChartSeries { + name: string; + series: ISeries[]; +} diff --git a/apps/red-ui/src/app/modules/admin/screens/license/google-chart/google-chart.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/google-chart/google-chart.component.ts deleted file mode 100644 index 5aa4f2d24..000000000 --- a/apps/red-ui/src/app/modules/admin/screens/license/google-chart/google-chart.component.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -import { ChartType, Column, Row } from 'angular-google-charts'; -import { TranslateService } from '@ngx-translate/core'; -import ComboChartOptions = google.visualization.ComboChartOptions; - -@Component({ - selector: 'redaction-google-chart', - template: ` `, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class GoogleChartComponent { - @Input() data: Row[]; - - readonly options: ComboChartOptions; - readonly columns: Column[]; - readonly type = ChartType.ComboChart; - - constructor(translateService: TranslateService) { - const pagesPerMonth = translateService.instant('license-info-screen.chart.pages-per-month'); - const totalPages = translateService.instant('license-info-screen.chart.total-pages'); - const cumulative = translateService.instant('license-info-screen.chart.cumulative'); - - this.options = { - fontName: 'Inter', - fontSize: 13, - vAxis: { title: pagesPerMonth }, - seriesType: 'bars', - vAxes: { 1: { title: totalPages } }, - series: { 1: { type: 'line', targetAxisIndex: 1 }, 2: { type: 'line', targetAxisIndex: 1 } }, - colors: ['#0389ec', '#dd4d50', '#5ce594'], - legend: { position: 'top' }, - }; - - this.columns = ['abc', pagesPerMonth, totalPages, cumulative]; - } -} diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.html b/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.html new file mode 100644 index 000000000..8da1b9488 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.html @@ -0,0 +1,18 @@ + diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.ts index fcf188256..0cafbb004 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license/license-chart/license-chart.component.ts @@ -1,24 +1,33 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { LICENSE_STORAGE_KEY } from '../utils/constants'; +import { Component } from '@angular/core'; +import { ComboBarScheme, LICENSE_STORAGE_KEY, LineChartScheme } from '../utils/constants'; import dayjs from 'dayjs'; import { IDateRange, ILicense, ILicenseReport } from '@red/domain'; import { LicenseService } from '../../../../../services/license.service'; import { switchMap, tap } from 'rxjs/operators'; import { List, LoadingService } from '@iqser/common-ui'; import { generateDateRanges, isCurrentMonth, toDate, verboseDate } from '../utils/functions'; -import { Row } from 'angular-google-charts'; +import { TranslateService } from '@ngx-translate/core'; +import { ILineChartSeries } from '../combo-chart/models'; +import { Observable } from 'rxjs'; @Component({ selector: 'redaction-license-chart', - template: '', - changeDetection: ChangeDetectionStrategy.OnPush, + templateUrl: './license-chart.component.html', }) export class LicenseChartComponent { - readonly chartData$ = this.#chartData$; + readonly lineChartScheme = LineChartScheme; + readonly comboBarScheme = ComboBarScheme; - constructor(private readonly _licenseService: LicenseService, private readonly _loadingService: LoadingService) {} + lineChartSeries$ = this.#licenseChartSeries$; + barChart = []; - get #chartData$() { + constructor( + private readonly _translateService: TranslateService, + private readonly _licenseService: LicenseService, + private readonly _loadingService: LoadingService, + ) {} + + get #licenseChartSeries$(): Observable { return this._licenseService.selectedLicense$.pipe( tap(() => this._loadingService.start()), switchMap(license => this.#getLicenseData(license)), @@ -26,28 +35,59 @@ export class LicenseChartComponent { ); } - async #getLicenseData(license: ILicense): Promise { + async #getLicenseData(license: ILicense): Promise { const startDate = dayjs(license.validFrom); const endDate = dayjs(license.validUntil); const startMonth: number = startDate.month(); const startYear: number = startDate.year(); - const dateRanges = generateDateRanges(startMonth, startYear, endDate.month() as number, endDate.year() as number); + const dateRanges = generateDateRanges(startMonth, startYear, endDate.month(), endDate.year()); const reports = await this.#getReports(dateRanges, license.id); - return this.#mapRangesToReports(dateRanges, reports); + return this.#mapRangesToReports(startMonth, startYear, dateRanges, reports); } - #mapRangesToReports(dateRanges: List, reports: List): Row[] { - let cumulativePages = 0; - const processingPages = this._licenseService.processingPages; + #mapRangesToReports(month: number, year: number, dateRanges: List, reports: List): ILineChartSeries[] { + return [ + { + name: this._translateService.instant('license-info-screen.chart.total-pages'), + series: this.#totalLicensedPagesSeries(dateRanges), + }, + { + name: this._translateService.instant('license-info-screen.chart.cumulative'), + series: this.#setBar(month, year, reports), + }, + ]; + } - return dateRanges.map((range, index) => [ - verboseDate(range), - reports[index].numberOfAnalyzedPages, - processingPages, - (cumulativePages += reports[index].numberOfAnalyzedPages), - ]); + #setBar(month: number, year: number, reports: List) { + let cumulativePages = 0; + const cumulativePagesSeries = []; + this.barChart = []; + const monthNames = dayjs.monthsShort(); + + for (const report of reports) { + cumulativePages += report.numberOfAnalyzedPages; + + const name = `${monthNames[month]} ${year}`; + this.barChart.push({ + name, + value: report.numberOfAnalyzedPages, + }); + + cumulativePagesSeries.push({ + name, + value: cumulativePages, + }); + + month++; + if (month === 12) { + month = 0; + year++; + } + } + + return cumulativePagesSeries; } #getReports(dateRanges: List, id: string) { @@ -78,4 +118,11 @@ export class LicenseChartComponent { return report; } + + #totalLicensedPagesSeries(dateRanges: List) { + return dateRanges.map(dateRange => ({ + name: verboseDate(dateRange), + value: this._licenseService.processingPages, + })); + } } diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts index 68ab95b66..128915d7e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license/license-screen/license-screen.component.ts @@ -76,7 +76,7 @@ export class LicenseScreenComponent implements OnInit { const licenseCustomer = this.licenseService.selectedLicense.licensedTo; const subject = this._translateService.instant('license-info-screen.email.title', { licenseCustomer, - }); + }) as string; const lineBreak = '%0D%0A'; const body = [ this._translateService.instant('license-info-screen.email.body.analyzed', { diff --git a/apps/red-ui/src/app/modules/admin/screens/license/license.module.ts b/apps/red-ui/src/app/modules/admin/screens/license/license.module.ts index 998a40851..d1dcd8fe9 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/license.module.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license/license.module.ts @@ -7,9 +7,9 @@ import { RouterModule, Routes } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { MatSelectModule } from '@angular/material/select'; import { IqserListingModule } from '@iqser/common-ui'; +import { NgxChartsModule } from '@swimlane/ngx-charts'; +import { ComboChartComponent, ComboSeriesVerticalComponent } from './combo-chart'; import { FormsModule } from '@angular/forms'; -import { GoogleChartComponent } from './google-chart/google-chart.component'; -import { GoogleChartsModule } from 'angular-google-charts'; import { CommonModule } from '@angular/common'; const routes: Routes = [ @@ -20,15 +20,21 @@ const routes: Routes = [ ]; @NgModule({ - declarations: [LicenseScreenComponent, LicenseSelectComponent, LicenseChartComponent, GoogleChartComponent], + declarations: [ + LicenseScreenComponent, + LicenseSelectComponent, + LicenseChartComponent, + ComboChartComponent, + ComboSeriesVerticalComponent, + ], imports: [ - CommonModule, RouterModule.forChild(routes), + CommonModule, TranslateModule, MatSelectModule, FormsModule, + NgxChartsModule, IqserListingModule, - GoogleChartsModule, ], providers: [LicenseService], }) diff --git a/apps/red-ui/src/app/modules/admin/screens/license/utils/constants.ts b/apps/red-ui/src/app/modules/admin/screens/license/utils/constants.ts index aaffc8d71..a139c9732 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license/utils/constants.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license/utils/constants.ts @@ -1 +1,17 @@ +import { Color, ScaleType } from '@swimlane/ngx-charts'; + +export const ComboBarScheme: Color = { + name: 'Combo bar scheme', + selectable: true, + group: ScaleType.Ordinal, + domain: ['#0389ec'], +}; + +export const LineChartScheme: Color = { + name: 'Line chart scheme', + selectable: true, + group: ScaleType.Ordinal, + domain: ['#dd4d50', '#5ce594', '#0389ec'], +}; + export const LICENSE_STORAGE_KEY = 'redaction-license-reports'; diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index 322276d2f..62578148a 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -7,11 +7,6 @@ "BACKEND_APP_VERSION": "4.4.40", "EULA_URL": "EULA_URL", "FRONTEND_APP_VERSION": "1.1", - "LICENSE_CUSTOMER": "Development License", - "LICENSE_EMAIL": "todo-license@email.com", - "LICENSE_END": "31-12-2022", - "LICENSE_PAGE_COUNT": 10000, - "LICENSE_START": "01-01-2022", "MAX_FILE_SIZE_MB": 100, "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index eb6199f26..906a12370 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -1565,6 +1565,7 @@ "backend-version": "Backend-Version der Anwendung", "chart": { "cumulative": "Seiten insgesamt", + "legend": "", "pages-per-month": "Seiten pro Monat", "total-pages": "Gesamtzahl der Seiten" }, diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index ad9b7561e..097d884d2 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1565,6 +1565,7 @@ "backend-version": "Backend Application Version", "chart": { "cumulative": "Cumulative Pages", + "legend": "Legend", "pages-per-month": "Pages per Month", "total-pages": "Total Pages" }, diff --git a/docker/red-ui/docker-entrypoint.sh b/docker/red-ui/docker-entrypoint.sh index 90063fae3..54e57d714 100755 --- a/docker/red-ui/docker-entrypoint.sh +++ b/docker/red-ui/docker-entrypoint.sh @@ -9,12 +9,6 @@ BACKEND_APP_VERSION="${BACKEND_APP_VERSION:-4.7.0}" EULA_URL="${EULA_URL:-}" FRONTEND_APP_VERSION="${FRONTEND_APP_VERSION:-}" -LICENSE_CUSTOMER="${LICENSE_CUSTOMER:-Developement License}" -LICENSE_EMAIL="${LICENSE_EMAIL:-license@iqser.com}" -LICENSE_END="${LICENSE_END:-31-12-2022}" -LICENSE_PAGE_COUNT="${LICENSE_PAGE_COUNT:-1000000}" -LICENSE_START="${LICENSE_START:-01-01-2021}" - MAX_FILE_SIZE_MB="${MAX_FILE_SIZE_MB:-50}" MAX_RETRIES_ON_SERVER_ERROR="${MAX_RETRIES_ON_SERVER_ERROR:-3}" OAUTH_CLIENT_ID="${OAUTH_CLIENT_ID:-gin-client}" @@ -35,11 +29,6 @@ echo '{ "BACKEND_APP_VERSION":"'"$BACKEND_APP_VERSION"'", "EULA_URL":"'"$EULA_URL:"'", "FRONTEND_APP_VERSION":"'"$FRONTEND_APP_VERSION:"'", - "LICENSE_EMAIL":"'"$LICENSE_EMAIL"'", - "LICENSE_CUSTOMER":"'"$LICENSE_CUSTOMER"'", - "LICENSE_END":"'"$LICENSE_END"'", - "LICENSE_PAGE_COUNT":'"$LICENSE_PAGE_COUNT"', - "LICENSE_START":"'"$LICENSE_START"'", "MAX_FILE_SIZE_MB":"'"$MAX_FILE_SIZE_MB"'", "MAX_RETRIES_ON_SERVER_ERROR":"'"$MAX_RETRIES_ON_SERVER_ERROR"'", "OAUTH_CLIENT_ID":"'"$OAUTH_CLIENT_ID"'", diff --git a/libs/red-domain/src/lib/shared/app-config.ts b/libs/red-domain/src/lib/shared/app-config.ts index 32b81a77d..ba047ec67 100644 --- a/libs/red-domain/src/lib/shared/app-config.ts +++ b/libs/red-domain/src/lib/shared/app-config.ts @@ -7,11 +7,6 @@ export interface AppConfig { BACKEND_APP_VERSION: string; EULA_URL: string; FRONTEND_APP_VERSION: string; - LICENSE_CUSTOMER: string; - LICENSE_EMAIL: string; - LICENSE_END: string; - LICENSE_PAGE_COUNT: number; - LICENSE_START: string; MAX_FILE_SIZE_MB: number; MAX_RETRIES_ON_SERVER_ERROR: number; OAUTH_CLIENT_ID: string; diff --git a/package.json b/package.json index b9411e2d6..89d9c5d41 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,8 @@ "@ngx-translate/http-loader": "^7.0.0", "@nrwl/angular": "14.3.2", "@pdftron/webviewer": "8.6.0", + "@swimlane/ngx-charts": "^20.0.1", "@tabuckner/material-dayjs-adapter": "2.0.0", - "angular-google-charts": "^2.2.2", "dayjs": "^1.11.3", "file-saver": "^2.0.5", "jwt-decode": "^3.1.2", diff --git a/yarn.lock b/yarn.lock index d8c6d861e..ffd095625 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2526,6 +2526,25 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@swimlane/ngx-charts@^20.0.1": + version "20.1.0" + resolved "https://registry.yarnpkg.com/@swimlane/ngx-charts/-/ngx-charts-20.1.0.tgz#c1377adacc835fa35ed0c6cb32a8ec5b43ccfd69" + integrity sha512-PY/X+eW+ZEvF3N1kuUVV5H3NHoFXlIWOvNnCKAs874yye//ttgfL/Qf9haHQpki5WIHQtpwn8xM1ylVEQT98bg== + dependencies: + "@types/d3-shape" "^2.0.0" + d3-array "^2.9.1" + d3-brush "^2.1.0" + d3-color "^2.0.0" + d3-format "^2.0.0" + d3-hierarchy "^2.0.0" + d3-interpolate "^2.0.1" + d3-scale "^3.2.3" + d3-selection "^2.0.0" + d3-shape "^2.0.0" + d3-time-format "^3.0.0" + d3-transition "^2.0.0" + tslib "^2.0.0" + "@tabuckner/material-dayjs-adapter@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@tabuckner/material-dayjs-adapter/-/material-dayjs-adapter-2.0.0.tgz#e79207232363fca391820c7992f7ed97576d7199" @@ -2624,6 +2643,18 @@ dependencies: "@types/node" "*" +"@types/d3-path@^2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-2.0.2.tgz#6052f38f6186319769dfabab61b5514b0e02c75c" + integrity sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg== + +"@types/d3-shape@^2.0.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-2.1.3.tgz#35d397b9e687abaa0de82343b250b9897b8cacf3" + integrity sha512-HAhCel3wP93kh4/rq+7atLdybcESZ5bRHDEZUojClyZWsRuEMo3A52NGYJSh48SxfxEU6RZIVbZL2YFZ2OAlzQ== + dependencies: + "@types/d3-path" "^2" + "@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" @@ -2664,11 +2695,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/google.visualization@0.0.58": - version "0.0.58" - resolved "https://registry.yarnpkg.com/@types/google.visualization/-/google.visualization-0.0.58.tgz#eb2aa3cf05d63a9b42ff5cfcab1fc0594fb45a0e" - integrity sha512-ldwrhRvqSlrCYjHELGZNNMP8m5oPLBb6iU7CfKF2C/YpgRTlHihqsrL5M293u0GL7mKfjm0AjSIgEE2LU8fuTw== - "@types/google.visualization@^0.0.68": version "0.0.68" resolved "https://registry.yarnpkg.com/@types/google.visualization/-/google.visualization-0.0.68.tgz#773e908c02e08dffe689844f0972dd481516e704" @@ -3241,14 +3267,6 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -angular-google-charts@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/angular-google-charts/-/angular-google-charts-2.2.2.tgz#fd26a78a0c44f8bc686832116e7ced9751b46987" - integrity sha512-dbNDqhSfqxv1rMMph2xV55+nsXSREClm03bTRpq4nRjpVghC1hVwsqfeg6p/cngB7WgamQmWj5ExTwN6vBzVAg== - dependencies: - "@types/google.visualization" "0.0.58" - tslib "^2.2.0" - ansi-align@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" @@ -4427,6 +4445,122 @@ cuint@^0.2.2: resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= +d3-array@2, d3-array@^2.3.0, d3-array@^2.9.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +d3-brush@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-2.1.0.tgz#adadfbb104e8937af142e9a6e2028326f0471065" + integrity sha512-cHLLAFatBATyIKqZOkk/mDHUbzne2B3ZwxkzMHvFTCZCmLaXDpZRihQSn8UNXTkGD/3lb/W2sQz0etAftmHMJQ== + dependencies: + d3-dispatch "1 - 2" + d3-drag "2" + d3-interpolate "1 - 2" + d3-selection "2" + d3-transition "2" + +"d3-color@1 - 2", d3-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" + integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== + +"d3-dispatch@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf" + integrity sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA== + +d3-drag@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-2.0.0.tgz#9eaf046ce9ed1c25c88661911c1d5a4d8eb7ea6d" + integrity sha512-g9y9WbMnF5uqB9qKqwIIa/921RYWzlUDv9Jl1/yONQwxbOfszAWTCm8u7HOTgJgRDXiRZN56cHT9pd24dmXs8w== + dependencies: + d3-dispatch "1 - 2" + d3-selection "2" + +"d3-ease@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-2.0.0.tgz#fd1762bfca00dae4bacea504b1d628ff290ac563" + integrity sha512-68/n9JWarxXkOWMshcT5IcjbB+agblQUaIsbnXmrzejn2O82n3p2A9R2zEB9HIEFWKFwPAEDDN8gR0VdSAyyAQ== + +"d3-format@1 - 2", d3-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" + integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== + +d3-hierarchy@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218" + integrity sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw== + +"d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" + integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== + dependencies: + d3-color "1 - 2" + +"d3-path@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" + integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== + +d3-scale@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" + integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== + dependencies: + d3-array "^2.3.0" + d3-format "1 - 2" + d3-interpolate "1.2.0 - 2" + d3-time "^2.1.1" + d3-time-format "2 - 3" + +d3-selection@2, d3-selection@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-2.0.0.tgz#94a11638ea2141b7565f883780dabc7ef6a61066" + integrity sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA== + +d3-shape@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" + integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== + dependencies: + d3-path "1 - 2" + +"d3-time-format@2 - 3", d3-time-format@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" + integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== + dependencies: + d3-time "1 - 2" + +"d3-time@1 - 2", d3-time@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" + integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== + dependencies: + d3-array "2" + +"d3-timer@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6" + integrity sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA== + +d3-transition@2, d3-transition@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-2.0.0.tgz#366ef70c22ef88d1e34105f507516991a291c94c" + integrity sha512-42ltAGgJesfQE3u9LuuBHNbGrI/AJjNL2OAUdclE70UE6Vy239GCBEYD38uBPoLeNsOhFStGpPI0BAOV+HMxog== + dependencies: + d3-color "1 - 2" + d3-dispatch "1 - 2" + d3-ease "1 - 2" + d3-interpolate "1 - 2" + d3-timer "1 - 2" + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -6351,6 +6485,11 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -10342,7 +10481,7 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@2.4.0, tslib@^2.2.0, tslib@^2.4.0: +tslib@2.4.0, tslib@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== From fd59e3b56dd513f28c2038122c0fcd01b6e176bf Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 23:16:11 +0200 Subject: [PATCH 40/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 89d9c5d41..1b04a2036 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.565.0", + "version": "3.566.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 076ec6c50e3eabafe57ed4e92de6e0f13ec0c6d9..5727e4d2d92515e365b892d237d275909e76e2ef 100644 GIT binary patch delta 3204 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 delta 3204 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 Date: Fri, 24 Jun 2022 00:21:22 +0300 Subject: [PATCH 41/49] RED-4217: Filter files by processing type --- .../dossier-details.component.html | 6 ++- .../dossier-details.component.ts | 7 +++- .../dossier-overview/config.service.ts | 17 +++++++-- libs/common-ui | 2 +- .../lib/dossier-stats/dossier-stats.model.ts | 37 +++++-------------- libs/red-domain/src/lib/files/file.model.ts | 21 +++++++++++ libs/red-domain/src/lib/files/types.ts | 21 +++++++++++ 7 files changed, 77 insertions(+), 34 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html index 500e7f372..259d1af20 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html @@ -48,7 +48,11 @@
- +
diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts index 85f3bebd8..3539b3133 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts @@ -6,6 +6,7 @@ import { DossierAttributeWithValue, DossierStats, IDossierRequest, + ProcessingTypes, StatusSorter, User, } from '@red/domain'; @@ -85,27 +86,31 @@ export class DossierDetailsComponent { #calculateStatusConfig(stats: DossierStats): ProgressBarConfigModel[] { return [ { + id: ProcessingTypes.pending, label: _('processing-status.pending'), total: stats.numberOfFiles, count: stats.processingStats.pending, icon: 'red:reanalyse', }, { + id: ProcessingTypes.ocr, label: _('processing-status.ocr'), total: stats.numberOfFiles, count: stats.processingStats.ocr, icon: 'iqser:ocr', }, { + id: ProcessingTypes.processing, label: _('processing-status.processing'), total: stats.numberOfFiles, count: stats.processingStats.processing, icon: 'red:reanalyse', }, { + id: ProcessingTypes.processed, label: _('processing-status.processed'), total: stats.numberOfFiles, - count: stats.processingStats.proccesed, + count: stats.processingStats.processed, icon: 'red:ready-for-approval', }, ].filter(config => config.count > 0); diff --git a/apps/red-ui/src/app/modules/dossier-overview/config.service.ts b/apps/red-ui/src/app/modules/dossier-overview/config.service.ts index 7ea4cf40a..832b3e914 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/config.service.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/config.service.ts @@ -11,7 +11,7 @@ import { TableColumnConfig, WorkflowConfig, } from '@iqser/common-ui'; -import { Dossier, File, IFileAttributeConfig, StatusSorter, WorkflowFileStatus, WorkflowFileStatuses } from '@red/domain'; +import { Dossier, File, IFileAttributeConfig, ProcessingType, StatusSorter, WorkflowFileStatus, WorkflowFileStatuses } from '@red/domain'; import { workflowFileStatusTranslations } from '@translations/file-status-translations'; import { PermissionsService } from '@services/permissions.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -170,6 +170,7 @@ export class ConfigService { const allDistinctPeople = new Set(); const allDistinctAddedDates = new Set(); const allDistinctNeedsWork = new Set(); + const allDistinctProcessingTypes = new Set(); const dynamicFilters = new Map>(); @@ -205,6 +206,8 @@ export class ConfigService { allDistinctNeedsWork.add('comment'); } + allDistinctProcessingTypes.add(file.processingType); + // extract values for dynamic filters fileAttributeConfigs.forEach(config => { if (config.filterable) { @@ -287,6 +290,14 @@ export class ConfigService { matchAll: true, }); + const processingTypesFilters = [...allDistinctProcessingTypes].map(item => new NestedFilter({ id: item, label: item })); + filterGroups.push({ + slug: 'processingTypeFilters', + filters: processingTypesFilters, + checker: (file: File, filter: INestedFilter) => file.processingType === filter.id, + hide: true, + }); + dynamicFilters.forEach((filterValue: Set, filterKey: string) => { const id = filterKey.split(':')[0]; const key = filterKey.split(':')[1]; @@ -334,9 +345,7 @@ export class ConfigService { } _recentlyModifiedChecker = (file: File) => - dayjs(file.lastUpdated) - .add(this._appConfigService.values.RECENT_PERIOD_IN_HOURS as number, 'hours') - .isAfter(dayjs()); + dayjs(file.lastUpdated).add(this._appConfigService.values.RECENT_PERIOD_IN_HOURS, 'hours').isAfter(dayjs()); _assignedToMeChecker = (file: File) => file.assignee === this._userService.currentUser.id; diff --git a/libs/common-ui b/libs/common-ui index 6a1625828..f9e248833 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 6a1625828d76d76a624845376f6aa564cc02c026 +Subproject commit f9e24883381ddbf93df5074ec1c176973db44ed1 diff --git a/libs/red-domain/src/lib/dossier-stats/dossier-stats.model.ts b/libs/red-domain/src/lib/dossier-stats/dossier-stats.model.ts index 1aa89a44e..f6821b4c4 100644 --- a/libs/red-domain/src/lib/dossier-stats/dossier-stats.model.ts +++ b/libs/red-domain/src/lib/dossier-stats/dossier-stats.model.ts @@ -1,34 +1,17 @@ import { IDossierStats } from './dossier-stats'; import { FileCountPerProcessingStatus, FileCountPerWorkflowStatus } from './types'; -import { isProcessingStatuses, ProcessingFileStatus, ProcessingFileStatuses } from '../files'; +import { isProcessingStatuses, OCR_STATES, PENDING_STATES, PROCESSED_STATES, PROCESSING_STATES, ProcessingFileStatus } from '../files'; -const PENDING_STATES: ProcessingFileStatus[] = [ - ProcessingFileStatuses.ANALYSE, - ProcessingFileStatuses.ERROR, - ProcessingFileStatuses.FULLREPROCESS, - ProcessingFileStatuses.REPROCESS, - ProcessingFileStatuses.UNPROCESSED, -]; +export const ProcessingTypes = { + pending: 'pending', + ocr: 'ocr', + processing: 'processing', + processed: 'processed', +} as const; -const PROCESSING_STATES: ProcessingFileStatus[] = [ - ProcessingFileStatuses.IMAGE_ANALYZING, - ProcessingFileStatuses.INDEXING, - ProcessingFileStatuses.NER_ANALYZING, - ProcessingFileStatuses.PROCESSING, - ProcessingFileStatuses.SURROUNDING_TEXT_PROCESSING, - ProcessingFileStatuses.FULL_PROCESSING, -]; +export type ProcessingType = keyof typeof ProcessingTypes; -const PROCESSED_STATES: ProcessingFileStatus[] = [ProcessingFileStatuses.PROCESSED]; - -const OCR_STATES: ProcessingFileStatus[] = [ProcessingFileStatuses.OCR_PROCESSING]; - -interface ProcessingStats { - pending: number; - ocr: number; - processing: number; - proccesed: number; -} +export type ProcessingStats = Record; export class DossierStats implements IDossierStats { readonly dossierId: string; @@ -71,7 +54,7 @@ export class DossierStats implements IDossierStats { get #processingStats(): ProcessingStats { return { pending: this.#getTotal(PENDING_STATES), - proccesed: this.#getTotal(PROCESSED_STATES), + processed: this.#getTotal(PROCESSED_STATES), processing: this.#getTotal(PROCESSING_STATES), ocr: this.#getTotal(OCR_STATES), }; diff --git a/libs/red-domain/src/lib/files/file.model.ts b/libs/red-domain/src/lib/files/file.model.ts index 30d02bb63..54f4ad208 100644 --- a/libs/red-domain/src/lib/files/file.model.ts +++ b/libs/red-domain/src/lib/files/file.model.ts @@ -3,6 +3,9 @@ import { StatusSorter } from '../shared'; import { isFullProcessingStatuses, isProcessingStatuses, + OCR_STATES, + PENDING_STATES, + PROCESSING_STATES, ProcessingFileStatus, ProcessingFileStatuses, WorkflowFileStatus, @@ -11,6 +14,7 @@ import { import { IFile } from './file'; import { FileAttributes } from '../file-attributes'; import { ARCHIVE_ROUTE, DOSSIERS_ROUTE } from '../dossiers'; +import { ProcessingType, ProcessingTypes } from '../dossier-stats'; export class File extends Entity implements IFile { readonly added?: string; @@ -73,6 +77,8 @@ export class File extends Entity implements IFile { readonly canBeOpened: boolean; readonly canBeOCRed: boolean; + readonly processingType: ProcessingType; + constructor(file: IFile, readonly reviewerName: string) { super(file); this.added = file.added; @@ -138,6 +144,8 @@ export class File extends Entity implements IFile { this.fileAttributes = file.fileAttributes && file.fileAttributes.attributeIdToValue ? file.fileAttributes : { attributeIdToValue: {} }; + + this.processingType = this.#processingType; } get deleted(): boolean { @@ -157,6 +165,19 @@ export class File extends Entity implements IFile { return this.canBeOpened ? `/main/${this.dossierTemplateId}/${routerPath}/${this.dossierId}/file/${this.fileId}` : undefined; } + get #processingType(): ProcessingType { + if (PENDING_STATES.includes(this.processingStatus)) { + return ProcessingTypes.pending; + } + if (PROCESSING_STATES.includes(this.processingStatus)) { + return ProcessingTypes.processing; + } + if (OCR_STATES.includes(this.processingStatus)) { + return ProcessingTypes.ocr; + } + return ProcessingTypes.processed; + } + isPageExcluded(page: number): boolean { return this.excludedPages.includes(page); } diff --git a/libs/red-domain/src/lib/files/types.ts b/libs/red-domain/src/lib/files/types.ts index 11b758caa..ab6879e37 100644 --- a/libs/red-domain/src/lib/files/types.ts +++ b/libs/red-domain/src/lib/files/types.ts @@ -66,3 +66,24 @@ export interface StatusBarConfig { } export type StatusBarConfigs = List; + +export const PENDING_STATES: ProcessingFileStatus[] = [ + ProcessingFileStatuses.ANALYSE, + ProcessingFileStatuses.ERROR, + ProcessingFileStatuses.FULLREPROCESS, + ProcessingFileStatuses.REPROCESS, + ProcessingFileStatuses.UNPROCESSED, +]; + +export const PROCESSING_STATES: ProcessingFileStatus[] = [ + ProcessingFileStatuses.IMAGE_ANALYZING, + ProcessingFileStatuses.INDEXING, + ProcessingFileStatuses.NER_ANALYZING, + ProcessingFileStatuses.PROCESSING, + ProcessingFileStatuses.SURROUNDING_TEXT_PROCESSING, + ProcessingFileStatuses.FULL_PROCESSING, +]; + +export const PROCESSED_STATES: ProcessingFileStatus[] = [ProcessingFileStatuses.PROCESSED]; + +export const OCR_STATES: ProcessingFileStatus[] = [ProcessingFileStatuses.OCR_PROCESSING]; From 6c1157b7da4a538b21347c4f55aa2a6e2fa9158a Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 24 Jun 2022 00:23:38 +0300 Subject: [PATCH 42/49] RED-3800: fix undefined instance when ocr from file list --- .../app/modules/pdf-viewer/services/viewer-header.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 582eb9528..7672f211e 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 @@ -183,7 +183,7 @@ export class ViewerHeaderService { } updateElements(): void { - this._pdf.instance.UI.setHeaderItems(header => { + this._pdf.instance?.UI.setHeaderItems(header => { const enabledItems: IHeaderElement[] = []; const groups: HeaderElementType[][] = [ [HeaderElements.COMPARE_BUTTON, HeaderElements.CLOSE_COMPARE_BUTTON], From cf097d3dd031760f3e1924f0fff534729d844331 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 23 Jun 2022 23:26:06 +0200 Subject: [PATCH 43/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3293 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1b04a2036..cea626f33 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.566.0", + "version": "3.567.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 5727e4d2d92515e365b892d237d275909e76e2ef..07d2ef8ca858309d49aa38a834deb6ac8c49d82a 100644 GIT binary patch delta 3173 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�UgO`~Vd~ zxFKC13`pPMlZls>9Pra{BaoMTTdRZ6@h~Ha8k$ZGYO-U)yR>e`@Z*5|K9OZbgqFMP zzD)b$CZPj?oQbzfKq_xv4hMg!YUdw-7rmhji?>#t;<&gwoSGcWFt-sC=SzWtE1$pL zQ9NWwgS=hC#qJ527(C1bkE*m$1ExVwo@5*u@|6AFX|O7{a`5d_IprSMh;YSdq@4(< zr+vc|=|Ub_434$cYYlxDu0=fkF7b}YS1t3C{pgxk7+V73P0L&%B2rq$(ltEEMB|V9w~Dir{Eu)JT?O{1$Px$U*D3)h^(6A`TaS4ADUp9}Ke%L4Z?w^)FR4jm zZ`^4biFBj$7nL1$rG{Lo;8sf1TD8$9neczAB`kF_<@VNdDYniHx0NRKVz{UuIvDK( zh>Y(CGadrOEtoyFoncdg z5y<}dTH{RNH!*+2-j8oDAnsV8RlqlX9RGSW8Az_wm~Sx2X605l+xeYL8V%4B&MN0R zFk}IkNN~(J>wq>nShIuMF0w`YGCa%I{Gf8h;ODGY*B+!$L?5%HE6%mO+yG8c5tQjd!T+f~e4INWJGUlDm{(g(&bwlbt zw=gDOeUF!j#UocJ&KhmuRgj_oh=X04EaSi4XeRV6U*|HPmHAQYkkOXGWQ6sQji=O| z2rq;;G_QaBBWKi-`1Vr&7G3gd{fJ-dzg(ai9#%~%Dy;0!yyGg!OPvK0FH3lnRc>G9 zc2!ohMOy!I9>TLcGVN2omBrQat8-#1OLw z>l$aL&65C Date: Fri, 24 Jun 2022 15:32:25 +0300 Subject: [PATCH 44/49] RED-4351: Updated file status change permissions --- apps/red-ui/src/app/services/permissions.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index f0d138521..fceea66d7 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -299,12 +299,12 @@ export class PermissionsService { /** UNDER_REVIEW => NEW */ private _canSetToNew(file: File, dossier: Dossier): boolean { - return dossier.isActive && file.isUnderReview && this.isDossierMember(dossier); + return dossier.isActive && file.isUnderReview && this.isAssigneeOrApprover(file, dossier); } /** UNDER_REVIEW => UNDER_APPROVAL */ private _canSetUnderApproval(file: File, dossier: Dossier): boolean { - return dossier.isActive && file.isUnderReview && this.isDossierMember(dossier); + return dossier.isActive && file.isUnderReview && this.isAssigneeOrApprover(file, dossier); } /** UNDER_APPROVAL => UNDER_REVIEW OR NEW => UNDER_REVIEW */ From 6b2a9e1eb48ab65b8b233a6eda9f5c6404a559c1 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 24 Jun 2022 14:35:04 +0200 Subject: [PATCH 45/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3293 -> 3292 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cea626f33..175c0cb89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.567.0", + "version": "3.568.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 07d2ef8ca858309d49aa38a834deb6ac8c49d82a..d0817d344aba6164522f311bfc369fad102e393e 100644 GIT binary patch delta 3204 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 Date: Fri, 24 Jun 2022 17:44:51 +0300 Subject: [PATCH 46/49] RED-4361: Background refresh archive --- apps/red-ui/src/app/app.component.ts | 9 +- .../dashboard-screen.component.ts | 6 +- .../dossiers/active-dossiers.service.ts | 25 +----- .../dossiers/dossier-changes.service.ts | 88 +++++++++++++++++++ .../app/services/dossiers/dossiers.service.ts | 45 ++-------- .../app/utils/configuration.initializer.ts | 2 +- 6 files changed, 106 insertions(+), 69 deletions(-) create mode 100644 apps/red-ui/src/app/services/dossiers/dossier-changes.service.ts diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index 2dbb71620..10eefc848 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -2,6 +2,7 @@ import { Component, ViewContainerRef } from '@angular/core'; import { RouterHistoryService } from '@services/router-history.service'; import { UserService } from '@services/user.service'; import { REDDocumentViewer } from './modules/pdf-viewer/services/document-viewer.service'; +import { DossiersChangesService } from '@services/dossiers/dossier-changes.service'; @Component({ selector: 'redaction-root', @@ -16,5 +17,11 @@ export class AppComponent { private readonly _routerHistoryService: RouterHistoryService, private readonly _userService: UserService, readonly documentViewer: REDDocumentViewer, - ) {} + private readonly _dossierChangesService: DossiersChangesService, + ) { + // TODO: Find a better place to initialize dossiers refresh + if (_userService.currentUser?.isUser) { + _dossierChangesService.initializeRefresh(); + } + } } diff --git a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts index 3008fb1e0..94c2046d1 100644 --- a/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts +++ b/apps/red-ui/src/app/modules/dashboard/dashboard-screen/dashboard-screen.component.ts @@ -2,7 +2,6 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { UserService } from '@services/user.service'; import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; import { UserPreferenceService } from '@services/user-preference.service'; -import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; @Component({ selector: 'redaction-dashboard-screen', @@ -18,10 +17,7 @@ export class DashboardScreenComponent implements OnInit { private readonly _userService: UserService, private readonly _dashboardStatsService: DashboardStatsService, private readonly _userPreferenceService: UserPreferenceService, - private readonly _activeDossiersService: ActiveDossiersService, - ) { - _activeDossiersService.initializeRefresh(); - } + ) {} async ngOnInit(): Promise { await this._userPreferenceService.saveLastDossierTemplate(null); diff --git a/apps/red-ui/src/app/services/dossiers/active-dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/active-dossiers.service.ts index bd85ab539..b3cc9ab59 100644 --- a/apps/red-ui/src/app/services/dossiers/active-dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/active-dossiers.service.ts @@ -1,35 +1,12 @@ import { Injectable, Injector } from '@angular/core'; -import { CHANGED_CHECK_INTERVAL } from '@utils/constants'; import { DossiersService } from './dossiers.service'; -import { Observable, timer } from 'rxjs'; -import { switchMap, tap } from 'rxjs/operators'; -import { Dossier, DOSSIERS_ROUTE } from '@red/domain'; +import { DOSSIERS_ROUTE } from '@red/domain'; @Injectable({ providedIn: 'root', }) export class ActiveDossiersService extends DossiersService { - private _initializedRefresh = false; - constructor(protected readonly _injector: Injector) { super(_injector, 'dossier', DOSSIERS_ROUTE); } - - initializeRefresh() { - if (this._initializedRefresh) { - return; - } - this._initializedRefresh = true; - timer(CHANGED_CHECK_INTERVAL, CHANGED_CHECK_INTERVAL) - .pipe( - switchMap(() => this.loadOnlyChanged()), - tap(changes => this._emitFileChanges(changes)), - ) - .subscribe(); - } - - loadAll(): Observable { - this.initializeRefresh(); - return super.loadAll(); - } } diff --git a/apps/red-ui/src/app/services/dossiers/dossier-changes.service.ts b/apps/red-ui/src/app/services/dossiers/dossier-changes.service.ts new file mode 100644 index 000000000..bdaab839d --- /dev/null +++ b/apps/red-ui/src/app/services/dossiers/dossier-changes.service.ts @@ -0,0 +1,88 @@ +import { GenericService, List, QueryParam } from '@iqser/common-ui'; +import { Dossier, DossierStats, IDossierChanges } from '@red/domain'; +import { forkJoin, Observable, of, throwError, timer } from 'rxjs'; +import { catchError, filter, map, switchMap, take, tap } from 'rxjs/operators'; +import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; +import { NGXLogger } from 'ngx-logger'; +import { ActiveDossiersService } from './active-dossiers.service'; +import { ArchivedDossiersService } from './archived-dossiers.service'; +import { Injectable, Injector } from '@angular/core'; +import { DossierStatsService } from './dossier-stats.service'; +import { DashboardStatsService } from '../dossier-templates/dashboard-stats.service'; +import { CHANGED_CHECK_INTERVAL } from '@utils/constants'; + +@Injectable({ providedIn: 'root' }) +export class DossiersChangesService extends GenericService { + private _initializedRefresh = false; + + private readonly _activeDossiersService: ActiveDossiersService = this._injector.get(ActiveDossiersService); + private readonly _archivedDossiersService: ArchivedDossiersService = this._injector.get(ArchivedDossiersService); + + protected constructor( + protected readonly _injector: Injector, + private readonly _dossierStatsService: DossierStatsService, + private readonly _dashboardStatsService: DashboardStatsService, + private readonly _logger: NGXLogger, + ) { + super(_injector, 'dossier'); + } + + loadOnlyChanged(): Observable { + const removeIfNotFound = (id: string) => + catchError((error: HttpErrorResponse) => { + if (error.status === HttpStatusCode.NotFound) { + this._activeDossiersService.remove(id); + this._archivedDossiersService.remove(id); + return of([]); + } + return throwError(() => error); + }); + + const load = (changes: IDossierChanges) => + changes.map(change => this._load(change.dossierId).pipe(removeIfNotFound(change.dossierId))); + + return this.hasChangesDetails$().pipe( + tap(changes => this._logger.info('[CHANGES] ', changes)), + switchMap(dossierChanges => + forkJoin([...load(dossierChanges), this._dashboardStatsService.loadAll().pipe(take(1))]).pipe(map(() => dossierChanges)), + ), + tap(() => this._updateLastChanged()), + ); + } + + hasChangesDetails$(): Observable { + const body = { value: this._lastCheckedForChanges.get('root') ?? '0' }; + return this._post(body, `${this._defaultModelPath}/changes/details`).pipe(filter(changes => changes.length > 0)); + } + + initializeRefresh() { + if (this._initializedRefresh) { + return; + } + this._initializedRefresh = true; + timer(CHANGED_CHECK_INTERVAL, CHANGED_CHECK_INTERVAL) + .pipe( + switchMap(() => this.loadOnlyChanged()), + tap(changes => { + this._activeDossiersService.emitFileChanges(changes); + this._archivedDossiersService.emitFileChanges(changes); + }), + ) + .subscribe(); + } + + private _load(id: string): Observable { + const queryParams: List = [{ key: 'includeArchived', value: true }]; + return super._getOne([id], this._defaultModelPath, queryParams).pipe( + map(entity => new Dossier(entity)), + switchMap((dossier: Dossier) => { + if (dossier.isArchived) { + this._activeDossiersService.remove(dossier.id); + return this._archivedDossiersService.updateDossier(dossier); + } + this._archivedDossiersService.remove(dossier.id); + return this._activeDossiersService.updateDossier(dossier); + }), + ); + } +} diff --git a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts index 5a91e82a7..5bb5fcbf6 100644 --- a/apps/red-ui/src/app/services/dossiers/dossiers.service.ts +++ b/apps/red-ui/src/app/services/dossiers/dossiers.service.ts @@ -1,7 +1,7 @@ -import { EntitiesService, List, mapEach, QueryParam, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; +import { EntitiesService, mapEach, RequiredParam, Toaster, Validate } from '@iqser/common-ui'; import { Dossier, DossierStats, IDossier, IDossierChanges, IDossierRequest } from '@red/domain'; -import { forkJoin, Observable, of, Subject, throwError } from 'rxjs'; -import { catchError, filter, map, switchMap, take, tap } from 'rxjs/operators'; +import { Observable, of, Subject } from 'rxjs'; +import { catchError, map, switchMap, tap } from 'rxjs/operators'; import { Injector } from '@angular/core'; import { DossierStatsService } from './dossier-stats.service'; import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; @@ -36,28 +36,6 @@ export abstract class DossiersService extends EntitiesService ); } - loadOnlyChanged(): Observable { - const removeIfNotFound = (id: string) => - catchError((error: HttpErrorResponse) => { - if (error.status === HttpStatusCode.NotFound) { - this.remove(id); - return of([]); - } - return throwError(() => error); - }); - - const load = (changes: IDossierChanges) => - changes.map(change => this._load(change.dossierId).pipe(removeIfNotFound(change.dossierId))); - - return this.hasChangesDetails$().pipe( - tap(changes => this._logger.info('[CHANGES] ', changes)), - switchMap(dossierChanges => - forkJoin([...load(dossierChanges), this._dashboardStatsService.loadAll().pipe(take(1))]).pipe(map(() => dossierChanges)), - ), - tap(() => this._updateLastChanged()), - ); - } - loadAll(): Observable { const dossierIds = (dossiers: Dossier[]) => dossiers.map(d => d.id); return this.getAll().pipe( @@ -69,21 +47,12 @@ export abstract class DossiersService extends EntitiesService ); } - hasChangesDetails$(): Observable { - const body = { value: this._lastCheckedForChanges.get('root') ?? '0' }; - return this._post(body, `${this._defaultModelPath}/changes/details`).pipe(filter(changes => changes.length > 0)); + updateDossier(dossier: Dossier): Observable { + this.replace(dossier); + return this._dossierStatsService.getFor([dossier.id]); } - protected _emitFileChanges(dossierChanges: IDossierChanges): void { + emitFileChanges(dossierChanges: IDossierChanges): void { dossierChanges.filter(change => change.fileChanges).forEach(change => this.dossierFileChanges$.next(change.dossierId)); } - - private _load(id: string): Observable { - const queryParams: List = [{ key: 'includeArchived', value: this._path === 'archived-dossiers' }]; - return super._getOne([id], this._defaultModelPath, queryParams).pipe( - map(entity => new Dossier(entity)), - tap(dossier => this.replace(dossier)), - switchMap(dossier => this._dossierStatsService.getFor([dossier.dossierId])), - ); - } } diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index c50088029..d39a23ebd 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -53,7 +53,7 @@ export function configurationInitializer( }), switchMap(() => languageService.chooseAndSetInitialLanguage()), tap(() => userService.initialize()), - tap(() => firstValueFrom(licenseService.loadLicense())), + switchMap(() => licenseService.loadLicense()), take(1), ); return () => firstValueFrom(setup); From fa4230746cc247565dad448ff96e6e10751a2b71 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 24 Jun 2022 16:48:20 +0200 Subject: [PATCH 47/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3292 -> 3291 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 175c0cb89..bcffb267c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.568.0", + "version": "3.569.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index d0817d344aba6164522f311bfc369fad102e393e..13f467518eb605dd37872576dbf8d5158dcbaa1b 100644 GIT binary patch delta 3202 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 o{wEK6Pf@}p+=8L2;( zHauSbp657c`TrE)yrK`>@tE&S}&tw z{~Q#;{dI!(G`s)&k0r@}^$pJJEoC@c-0f2K%3gT3{lZ@O;x`b#EAhJ)zZ>{$TyG70m_(}5wxS{{sxA7&-FU9=jK`tW5kojLteUQLFN+m3r&?PzYXqJ+U4tu8DWEB1i35oy$Y)&y5kDiGP@ zx7HnvSqiXhTLrd7xM2nVE{mEnT0l)jGR){3avJuseScaBC0Q(HlCwCr{V4|;78U0s za>}=;E;1UUPhu|)Vti<{Djd_M2FhE!417+KV zc(o@n#i+=$dsIgiAvwZ%jINX=vgYgUTEH@|YfXZ_+w#G@wg-|8gz$<$uGX(IjdrhnES#tbvdK8bQ3klMII> zlZNPE)m*9ijJ#zQ4<|tNBGM{^3Ctvbfmv)dW;A+9^IU33XZnPMz5~Zjll!ipih}`& z$`4st>uZl=B~7!@{t=h>{t&w9Xy# z&VTb6k@|<8jIxX@W)B5x7Ks{GMD5t2sGfiZ!cRg38}0a$@M-PU)38!(-q^;9RTYz{ zsBml5K@~{FjnQK;pOA`T{@l&Xz{XoiYcq4|CL6ESevv&&9Wtsx@_Vl`d;B(`Rn4p@ zrP9-CX2^aVVE`_}CTOF$Za#gwhIYnSkAE~)hDgKpA3v2r?G6)u9JNb*1g0vVzdV4a zYOF33fzBL$04o*7(L5y;Wh378_28_Ye}=xKc}6H}@*Vo@`Na|-TR;NIEJwwx_cE7% zOKf|6*^T~dQQan4aW@$2PLACK{n)<%vzr=nvv)8##4|bwZwiEC-}E59AbG>yk$-AW z^7lV*nIWsJiiBnZVE!Ch02q$aibg4;I}=L5B$UMKp?uRsY0~7kA`a2VuconZ`|)3f zB!`)4j(FtO5m@;3

d5Ekty$+m%B7P+$UcdhVBvo@A8p4@g z6CUp2{4N6=@rb<1#bCSf0f*oG>EHkOXN|7X_un@O-4XOv1?rJs51~!3hJQd(q-QEt zMd~JFQ!#WBz`u1nP7dHeG40}3>Hd00;n>ns9GRzgnLJH^=+16^-$j$jIoiIpk{?Wj ztB(yyRUhfOEuy1YJ3>>isTsGciuL7ti`;})dz=ZJGpdaSP2TGgI;Ukxn8q+36SR@l^k}I}R#-s} z997Letc|{3(ZZxCm~al zSV$|s+*88vZ*h=SN7 z+NhG|w=Gv3H-CsV8KopE_eD$&W=U{gdMR%0Y8sOePwxL7RK1QWh}WTO*Y*ZiS4Wo6 zwbr3sAlEt|X-rv4bKU>}-UB)Z(yi4{+3T3GFljUzp!&sZKl0 zX;B{KKaLV3pQKI+S*6rZAaeXnsdFVpAUNU&s1U*p>H1(m`VOB=ytL$ipN1QOyyV+j z9fXdD8GlLC&~$20lN}r0rFAog9|z?3i7YE3wA^L)W!fJ%2^|RJOuStJQhEDwI7n4H z{{Xz`4P{uowdxed#ogi5W8 zU1vxQ`6lK_<2>7_#$EM*cM?duQWx4M-;$qk&S1LfvNCL3I5*1quh=w6iV6^G%92zO zu7Al8yV;v9$}y;6^F^buKZhI8sVMz16@SF_2X&t$N=bB^(VFqi6#{IkFeiHEJq#gL z35jQ+z#kw0@?L)2+DD8FzE#<9NbtsJIo1o;tQYP;FNBhbbs*kWCqkp1>C&<*!B(#> z6Za4#F>+T`(scOhNjp?Y3J(=PsJDzHCA zmN+oKRtZ3+K=#Mi8fOZ>i6QoWe0u?L#{#Va zzVYMu*Q3cma;3(6gGn|kx4PNR?_|eo@8Wieaotd zNDSI7vcF}`NO|IV_C#ptm;#b9?{xO}TO6+&Qun!qG5P9yyhJP>xk7Q)XnzZ@f(-pf z9PH9$8UOW0Gof$!I+yvZ%#T`!jJ6CWBdmvPJf-eLcp=l&b0b2*oD pIhS)emvcFnb2*oDIhS)emvcFnb2*oDIhX&%@*n4%KPv!G004(3LlXc1 From 43f114d28e540054c3a00d4cf4c5acc6f837dadf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Fri, 24 Jun 2022 18:02:39 +0300 Subject: [PATCH 48/49] RED-4344: Label update --- apps/red-ui/src/assets/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 097d884d2..252ae9d1f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -343,7 +343,7 @@ "redaction": "Redaction", "skipped": "Skipped", "suggestion-add": "Suggested redaction", - "suggestion-add-dictionary": "Suggested dictionary add", + "suggestion-add-dictionary": "Suggested add to Dictionary", "suggestion-add-false-positive": "Suggested add to false positive", "suggestion-change-legal-basis": "Suggested change legal basis", "suggestion-force-hint": "Suggestion force hint", From 9d62607b64345991effd12ea2384b643b07d19fb Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 24 Jun 2022 17:05:07 +0200 Subject: [PATCH 49/49] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3291 -> 3290 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bcffb267c..08b5253a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.569.0", + "version": "3.570.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 13f467518eb605dd37872576dbf8d5158dcbaa1b..89a9974b1c419c931dd589712f1a942a775ee381 100644 GIT binary patch delta 3201 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 delta 3202 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 o