From b44d9c9d0cbc065dd7f9fd3ca4913c90db72b552 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 10 May 2021 15:18:26 +0300 Subject: [PATCH 1/6] mark last opened file --- .../file-preview-screen.component.ts | 24 +++++++++---------- .../project-overview-screen.component.html | 1 + .../project-overview-screen.component.scss | 13 ++++++++++ .../project-overview-screen.component.ts | 6 +++++ .../app/services/user-preference.service.ts | 8 +++++++ 5 files changed, 40 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts index cbcd81e74..f81e9afeb 100644 --- a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts @@ -88,6 +88,16 @@ export class FilePreviewScreenComponent implements OnInit, OnDestroy, OnAttach, this.reviewerForm = this._formBuilder.group({ reviewer: [this.appStateService.activeFile.currentReviewer] }); + + this._loadFileData().subscribe(() => { + this._updateCanPerformActions(); + }); + + document.documentElement.addEventListener('fullscreenchange', () => { + if (!document.fullscreenElement) { + this.fullScreen = false; + } + }); } get annotations(): AnnotationWrapper[] { @@ -178,23 +188,13 @@ export class FilePreviewScreenComponent implements OnInit, OnDestroy, OnAttach, } ngOnAttach(previousRoute: ActivatedRouteSnapshot) { - this.displayPDFViewer = true; + this.ngOnInit(); this._lastPage = previousRoute.queryParams.page; - this._subscribeToFileUpdates(); } ngOnInit(): void { this.displayPDFViewer = true; - - document.documentElement.addEventListener('fullscreenchange', () => { - if (!document.fullscreenElement) { - this.fullScreen = false; - } - }); - - this._loadFileData().subscribe(() => { - this._updateCanPerformActions(); - }); + this.userPreferenceService.lastOpenedFileId = this.fileId; this._subscribeToFileUpdates(); } diff --git a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.html b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.html index af4d7b065..23cf1e71d 100644 --- a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.html +++ b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.html @@ -170,6 +170,7 @@ *cdkVirtualFor="let fileStatus of displayedEntities | sortBy: sortingOption.order:sortingOption.column; trackBy: fileId" [class.disabled]="fileStatus.isExcluded" [class.pointer]="permissionsService.canOpenFile(fileStatus)" + [class.last-opened]="isLastOpenedFile(fileStatus)" [routerLink]="fileLink(fileStatus)" class="table-item" > diff --git a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss index c305c4f98..69433738b 100644 --- a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss +++ b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss @@ -122,3 +122,16 @@ cdk-virtual-scroll-viewport { .primary-attribute { padding-top: 6px; } + +.last-opened { + > .selection-column { + padding-left: 6px !important; + border-left: 4px solid $red-1; + } + + &:hover { + > div { + background-color: rgba($red-1, 0.1); + } + } +} diff --git a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts index 5d7c5a6c9..2ba2728af 100644 --- a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts @@ -26,6 +26,7 @@ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { BaseListingComponent } from '@shared/base/base-listing.component'; import { ProjectWrapper } from '@state/model/project.wrapper'; import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy'; +import { UserPreferenceService } from '@services/user-preference.service'; @Component({ selector: 'redaction-project-overview-screen', @@ -68,6 +69,7 @@ export class ProjectOverviewScreenComponent extends BaseListingComponent Date: Wed, 12 May 2021 12:15:53 +0300 Subject: [PATCH 2/6] use attributes from backend to get last opened file --- .../src/app/modules/projects/projects.module.ts | 4 +++- .../file-preview-screen.component.ts | 7 +++++-- .../project-overview-screen.component.scss | 15 +++++++++++---- .../project-overview-screen.component.ts | 14 ++++++++++---- .../src/app/services/user-preference.service.ts | 8 -------- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/apps/red-ui/src/app/modules/projects/projects.module.ts b/apps/red-ui/src/app/modules/projects/projects.module.ts index af2361d8d..14532186e 100644 --- a/apps/red-ui/src/app/modules/projects/projects.module.ts +++ b/apps/red-ui/src/app/modules/projects/projects.module.ts @@ -36,6 +36,7 @@ import { AnnotationDrawService } from './services/annotation-draw.service'; import { AnnotationProcessingService } from './services/annotation-processing.service'; import { AnnotationRemoveActionsComponent } from './components/annotation-remove-actions/annotation-remove-actions.component'; import { DossierDictionaryDialogComponent } from './dialogs/dossier-dictionary-dialog/dossier-dictionary-dialog.component'; +import { UserPreferenceControllerService } from '@redaction/red-ui-http'; const screens = [ProjectListingScreenComponent, ProjectOverviewScreenComponent, FilePreviewScreenComponent]; @@ -77,7 +78,8 @@ const services = [ ManualAnnotationService, PdfViewerDataService, AnnotationDrawService, - AnnotationProcessingService + AnnotationProcessingService, + UserPreferenceControllerService ]; @NgModule({ diff --git a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts index f81e9afeb..7163f7458 100644 --- a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts @@ -22,7 +22,7 @@ import { handleFilterDelta, processFilters } from '@shared/components/filter/uti import { UserPreferenceService } from '@services/user-preference.service'; import { UserService } from '@services/user.service'; import { FormBuilder, FormGroup } from '@angular/forms'; -import { FileManagementControllerService, StatusControllerService } from '@redaction/red-ui-http'; +import { FileManagementControllerService, StatusControllerService, UserPreferenceControllerService } from '@redaction/red-ui-http'; import { PdfViewerDataService } from '../../services/pdf-viewer-data.service'; import { download } from '@utils/file-download-utils'; import { ViewMode } from '@models/file/view-mode'; @@ -71,6 +71,7 @@ export class FilePreviewScreenComponent implements OnInit, OnDestroy, OnAttach, readonly permissionsService: PermissionsService, readonly userPreferenceService: UserPreferenceService, readonly userService: UserService, + private readonly _userPreferenceControllerService: UserPreferenceControllerService, private readonly _changeDetectorRef: ChangeDetectorRef, private readonly _activatedRoute: ActivatedRoute, private readonly _dialogService: ProjectsDialogService, @@ -194,7 +195,9 @@ export class FilePreviewScreenComponent implements OnInit, OnDestroy, OnAttach, ngOnInit(): void { this.displayPDFViewer = true; - this.userPreferenceService.lastOpenedFileId = this.fileId; + + const key = 'Project-Recent-' + this.projectId; + this._userPreferenceControllerService.savePreferences([this.fileId], key).toPromise().then(); this._subscribeToFileUpdates(); } diff --git a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss index 69433738b..4f91ae3fe 100644 --- a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss +++ b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.scss @@ -129,9 +129,16 @@ cdk-virtual-scroll-viewport { border-left: 4px solid $red-1; } - &:hover { - > div { - background-color: rgba($red-1, 0.1); - } + > div { + animation: red-fading-background 3s 1; + } +} + +@keyframes red-fading-background { + 0% { + background-color: rgba($red-1, 0.1); + } + 100% { + background-color: inherit; } } diff --git a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts index 7eec7cdda..cb102bda3 100644 --- a/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/projects/screens/project-overview-screen/project-overview-screen.component.ts @@ -14,7 +14,7 @@ import { FileStatusWrapper } from '@models/file/file-status.wrapper'; import { annotationFilterChecker, keyChecker, processFilters } from '@shared/components/filter/utils/filter-utils'; import { PermissionsService } from '@services/permissions.service'; import { UserService } from '@services/user.service'; -import { FileStatus } from '@redaction/red-ui-http'; +import { FileStatus, UserPreferenceControllerService } from '@redaction/red-ui-http'; import { Subscription, timer } from 'rxjs'; import { filter, tap } from 'rxjs/operators'; import { RedactionFilterSorter } from '@utils/sorters/redaction-filter-sorter'; @@ -26,7 +26,6 @@ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { BaseListingComponent } from '@shared/base/base-listing.component'; import { ProjectWrapper } from '@state/model/project.wrapper'; import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy'; -import { UserPreferenceService } from '@services/user-preference.service'; @Component({ selector: 'redaction-project-overview-screen', @@ -51,6 +50,7 @@ export class ProjectOverviewScreenComponent extends BaseListingComponent { + if (attributes === null || attributes === undefined) return; + const key = 'Project-Recent-' + this.activeProject.projectId; + this._lastOpenedFileId = attributes[key][0]; + }); + this._fileDropOverlayService.initFileDropHandling(); this.calculateData(); diff --git a/apps/red-ui/src/app/services/user-preference.service.ts b/apps/red-ui/src/app/services/user-preference.service.ts index 695504a90..b77e13d58 100644 --- a/apps/red-ui/src/app/services/user-preference.service.ts +++ b/apps/red-ui/src/app/services/user-preference.service.ts @@ -12,14 +12,6 @@ export class UserPreferenceService { return false; } - set lastOpenedFileId(value: string) { - sessionStorage.setItem('redaction.last-opened-file', value); - } - - get lastOpenedFileId(): string { - return sessionStorage.getItem('redaction.last-opened-file') || ''; - } - toggleDevFeatures() { sessionStorage.setItem('redaction.enable-dev-features', `${!this.areDevFeaturesEnabled}`); window.location.reload(); From 387756614f5d5a2ee708084129718b97ffbff4ae Mon Sep 17 00:00:00 2001 From: Timo Date: Fri, 14 May 2021 11:48:03 +0300 Subject: [PATCH 3/6] fixed issues with downloads , fullscreen and some messages --- .../file-preview-screen/file-preview-screen.component.ts | 4 ++++ .../file-download-btn/file-download-btn.component.ts | 6 ++++-- apps/red-ui/src/assets/i18n/de.json | 1 - apps/red-ui/src/assets/i18n/en.json | 3 +-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts index b45cb4c17..c9ace948e 100644 --- a/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/projects/screens/file-preview-screen/file-preview-screen.component.ts @@ -291,6 +291,10 @@ export class FilePreviewScreenComponent implements OnInit, OnDestroy, OnAttach, @HostListener('window:keyup', ['$event']) handleKeyEvent($event: KeyboardEvent) { + if (this._router.url.indexOf('/file/') < 0) { + return; + } + if (!ALL_HOTKEY_ARRAY.includes($event.key) || this.dialogRef?.getState() === MatDialogState.OPEN) { return; } diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index 1e1e3a6a1..5a8b17504 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -1,10 +1,11 @@ -import { Component, Input } from '@angular/core'; +import { Component, Inject, Input } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; import { ProjectWrapper } from '@state/model/project.wrapper'; import { FileStatusWrapper } from '@models/file/file-status.wrapper'; import { FileDownloadService } from '@upload-download/services/file-download.service'; import { NotificationService } from '@services/notification.service'; import { TranslateService } from '@ngx-translate/core'; +import { BASE_HREF } from '../../../../../tokens'; export type MenuState = 'OPEN' | 'CLOSED'; @@ -21,6 +22,7 @@ export class FileDownloadBtnComponent { @Input() tooltipClass: string; constructor( + @Inject(BASE_HREF) private readonly _baseHref: string, private readonly _permissionsService: PermissionsService, private readonly _fileDownloadService: FileDownloadService, private readonly _translateService: TranslateService, @@ -38,7 +40,7 @@ export class FileDownloadBtnComponent { downloadFiles($event: MouseEvent) { $event.stopPropagation(); this._fileDownloadService.downloadFiles(Array.isArray(this.file) ? this.file : [this.file], this.project).subscribe(() => { - this._notificationService.showToastNotification(this._translateService.instant('download-status.queued')); + this._notificationService.showToastNotification(this._translateService.instant('download-status.queued', { baseUrl: this._baseHref })); }); } } diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 8cbd7726a..6995c8cf3 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -275,7 +275,6 @@ "description": "Beschreibung" }, "header": "Dossierübersicht", - "no-project": "Angefordertes Dossier: {{projectId}} existiert nicht! Zurück zur Dossierliste.", "bulk": { "delete": "Dokumente löschen", "assign": "Prüfer zuweisen", diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index c29ff9beb..f8801f251 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -22,7 +22,7 @@ } }, "download-status": { - "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads .", + "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads .", "error": { "generic": "Download failed" }, @@ -282,7 +282,6 @@ "description": "Description" }, "header": "Dossier Overview", - "no-project": "Requested dossier: {{projectId}} does not exist! Back to Dossier Listing. ", "bulk": { "delete": "Delete Documents", "assign": "Assign Reviewer", From b062053bd39b8825a2a8be5d7afb8dd66d9d7299 Mon Sep 17 00:00:00 2001 From: Timo Date: Fri, 14 May 2021 12:03:55 +0300 Subject: [PATCH 4/6] Image redaction fix --- .../file-workload.component.html | 8 +- .../file-workload.component.scss | 1 + .../file-workload/file-workload.component.ts | 20 +- .../remove-annotations-dialog.component.html | 2 +- .../remove-annotations-dialog.component.ts | 9 + apps/red-ui/src/assets/i18n/en.json | 5 +- package-lock.json | 0 package.json | 226 +++++++++--------- yarn.lock | 8 +- 9 files changed, 137 insertions(+), 142 deletions(-) delete mode 100644 package-lock.json diff --git a/apps/red-ui/src/app/modules/projects/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/projects/components/file-workload/file-workload.component.html index 41a8dd59a..64c466bdb 100644 --- a/apps/red-ui/src/app/modules/projects/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/projects/components/file-workload/file-workload.component.html @@ -45,15 +45,15 @@ tabindex="0" >
-
+
(); @Output() toggleSkipped = new EventEmitter(); @Output() annotationsChanged = new EventEmitter(); - quickScrollFirstEnabled = false; - quickScrollLastEnabled = false; displayedPages: number[] = []; pagesPanelActive = true; @ViewChild('annotationsElement') private _annotationsElement: ElementRef; @@ -105,19 +103,9 @@ export class FileWorkloadComponent { filtersChanged(filters: { primary: FilterModel[]; secondary?: FilterModel[] }) { this.displayedAnnotations = this._annotationProcessingService.filterAndGroupAnnotations(this._annotations, filters.primary, filters.secondary); this.displayedPages = Object.keys(this.displayedAnnotations).map((key) => Number(key)); - this.computeQuickNavButtonsState(); this._changeDetectorRef.markForCheck(); } - computeQuickNavButtonsState() { - setTimeout(() => { - const element: HTMLElement = this._quickNavigationElement.nativeElement.querySelector(`#pages`); - const { scrollTop, scrollHeight, clientHeight } = element; - this.quickScrollFirstEnabled = scrollTop !== 0; - this.quickScrollLastEnabled = scrollHeight !== scrollTop + clientHeight; - }, 0); - } - annotationClicked(annotation: AnnotationWrapper, $event: MouseEvent) { this.pagesPanelActive = false; if (this.annotationIsSelected(annotation)) { @@ -193,15 +181,11 @@ export class FileWorkloadComponent { } scrollQuickNavFirst() { - if (this.displayedPages.length > 0) { - this._scrollQuickNavigationToPage(this.displayedPages[0]); - } + this.selectPage.emit(1); } scrollQuickNavLast() { - if (this.displayedPages.length > 0) { - this._scrollQuickNavigationToPage(this.displayedPages[this.displayedPages.length - 1]); - } + this.selectPage.emit(this.fileData.fileStatus.numberOfPages); } pageSelectedByClick($event: number) { diff --git a/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html b/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html index 8dddb8199..bed18e11c 100644 --- a/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html +++ b/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html @@ -31,7 +31,7 @@
  • - {{ annotation.value }} + {{ printable(annotation) }}
diff --git a/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts b/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts index 8917354f3..3804d55d9 100644 --- a/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts +++ b/apps/red-ui/src/app/modules/projects/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts @@ -2,6 +2,7 @@ import { Component, Inject } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { TranslateService } from '@ngx-translate/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { humanize } from '../../../../utils/functions'; export interface RemoveAnnotationsDialogInput { annotationsToRemove: AnnotationWrapper[]; @@ -27,4 +28,12 @@ export class RemoveAnnotationsDialogComponent { confirm() { this.dialogRef.close(true); } + + printable(annotation: AnnotationWrapper) { + if (annotation.isImage) { + return this._translateService.instant('remove-annotations-dialog.image-type', { typeLabel: humanize(annotation.dictionary) }); + } else { + return annotation.value; + } + } } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index f8801f251..ef6b3829b 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -349,8 +349,8 @@ "download-original-file": "Download Original File", "exit-fullscreen": "Exit Full Screen (F)", "quick-nav": { - "jump-first": "Jump to first annotation", - "jump-last": "Jump to last annotation" + "jump-first": "Jump to first page", + "jump-last": "Jump to last page" } }, "annotation-actions": { @@ -621,6 +621,7 @@ "title": "Remove Redaction", "question": "Following redactions will be removed only here:" }, + "image-type": "Image: {{typeLabel}}", "dictionary": "Dictionary", "value": "Value", "confirm": "Yes, proceed and remove!", diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/package.json b/package.json index adbcf9a89..53f9bb5f1 100644 --- a/package.json +++ b/package.json @@ -1,116 +1,116 @@ { - "name": "redaction", - "version": "2.38.0", - "private": true, - "license": "MIT", - "scripts": { - "affected": "nx affected", - "affected:apps": "nx affected:apps", - "affected:build": "nx affected:build", - "affected:dep-graph": "nx affected:dep-graph", - "affected:e2e": "nx affected:e2e", - "affected:libs": "nx affected:libs", - "affected:lint": "nx affected:lint", - "affected:test": "nx affected:test", - "build": "nx build", - "build-lint-all": "ng lint --project=red-ui-http --fix && ng build --project=red-ui-http && ng lint --project=red-ui --fix && ng build --project=red-ui --prod", - "dep-graph": "nx dep-graph", - "e2e": "nx e2e", - "format": "nx format:write", - "format:check": "nx format:check", - "format:write": "nx format:write", - "help": "nx help", - "postinstall": "ngcc --properties es2015 browser module main", - "lint": "nx workspace-lint && nx lint", - "lint-fix": "nx workspace-lint --fix && nx lint --fix", - "nx": "nx", - "start": "nx serve", - "test": "nx test", - "update": "nx migrate latest", - "workspace-generator": "nx workspace-generator" - }, - "husky": { - "hooks": { - "pre-commit": "pretty-quick --staged && ng lint --project=red-ui-http && ng lint --project=red-ui --fix" + "name": "redaction", + "version": "2.38.0", + "private": true, + "license": "MIT", + "scripts": { + "affected": "nx affected", + "affected:apps": "nx affected:apps", + "affected:build": "nx affected:build", + "affected:dep-graph": "nx affected:dep-graph", + "affected:e2e": "nx affected:e2e", + "affected:libs": "nx affected:libs", + "affected:lint": "nx affected:lint", + "affected:test": "nx affected:test", + "build": "nx build", + "build-lint-all": "ng lint --project=red-ui-http --fix && ng build --project=red-ui-http && ng lint --project=red-ui --fix && ng build --project=red-ui --prod", + "dep-graph": "nx dep-graph", + "e2e": "nx e2e", + "format": "nx format:write", + "format:check": "nx format:check", + "format:write": "nx format:write", + "help": "nx help", + "postinstall": "ngcc --properties es2015 browser module main", + "lint": "nx workspace-lint && nx lint", + "lint-fix": "nx workspace-lint --fix && nx lint --fix", + "nx": "nx", + "start": "nx serve", + "test": "nx test", + "update": "nx migrate latest", + "workspace-generator": "nx workspace-generator" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged && ng lint --project=red-ui-http && ng lint --project=red-ui --fix" + } + }, + "dependencies": { + "@angular/animations": "11.2.13", + "@angular/cdk": "~11.2.12", + "@angular/common": "11.2.13", + "@angular/compiler": "11.2.13", + "@angular/core": "11.2.13", + "@angular/forms": "11.2.13", + "@angular/material": "~11.2.12", + "@angular/material-moment-adapter": "^11.2.12", + "@angular/platform-browser": "11.2.13", + "@angular/platform-browser-dynamic": "11.2.13", + "@angular/router": "11.2.13", + "@angular/service-worker": "11.2.13", + "@ngx-translate/core": "^13.0.0", + "@ngx-translate/http-loader": "^6.0.0", + "@nrwl/angular": "12.1.1", + "@pdftron/webviewer": "7.3.2", + "@swimlane/ngx-charts": "^17.0.1", + "file-saver": "^2.0.5", + "jwt-decode": "^3.1.2", + "keycloak-angular": "^8.1.0", + "keycloak-js": "12.0.4", + "lint-staged": "^11.0.0", + "ng2-ace-editor": "^0.3.9", + "ngx-color-picker": "^11.0.0", + "ngx-toastr": "^13.2.1", + "papaparse": "^5.3.0", + "rxjs": "~6.6.7", + "scroll-into-view-if-needed": "^2.2.28", + "streamsaver": "^2.0.5", + "tslib": "^2.2.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "0.1102.12", + "@angular-eslint/eslint-plugin": "~4.2.0", + "@angular-eslint/eslint-plugin-template": "~4.2.0", + "@angular-eslint/template-parser": "~4.2.0", + "@angular/cli": "11.2.12", + "@angular/compiler-cli": "11.2.13", + "@angular/language-service": "11.2.13", + "@nrwl/cli": "12.1.1", + "@nrwl/cypress": "12.1.1", + "@nrwl/eslint-plugin-nx": "12.1.1", + "@nrwl/jest": "12.1.1", + "@nrwl/linter": "12.1.1", + "@nrwl/tao": "12.1.1", + "@nrwl/workspace": "12.1.1", + "@types/cypress": "^1.1.3", + "@types/jasmine": "3.7.1", + "@types/jest": "26.0.23", + "@types/node": "15.0.2", + "@typescript-eslint/eslint-plugin": "4.22.1", + "@typescript-eslint/parser": "4.22.1", + "cypress": "^6.9.1", + "cypress-file-upload": "^5.0.7", + "cypress-keycloak": "^1.6.0", + "cypress-keycloak-commands": "^1.2.0", + "cypress-localstorage-commands": "^1.4.4", + "dotenv": "9.0.1", + "eslint": "7.26.0", + "eslint-config-prettier": "8.3.0", + "eslint-plugin-import": "latest", + "google-translate-api-browser": "^1.1.71", + "husky": "4.3.8", + "jest": "26.6.3", + "jest-preset-angular": "8.4.0", + "lodash": "^4.17.21", + "moment": "^2.29.1", + "ng-packagr": "11.2.4", + "prettier": "2.3.0", + "pretty-quick": "^3.1.0", + "superagent": "^6.1.0", + "superagent-promise": "^1.1.0", + "ts-jest": "26.5.6", + "ts-node": "9.1.1", + "webpack": "^4.18.1", + "typescript": "4.1.4" } - }, - "dependencies": { - "@angular/animations": "11.2.13", - "@angular/cdk": "~11.2.12", - "@angular/common": "11.2.13", - "@angular/compiler": "11.2.13", - "@angular/core": "11.2.13", - "@angular/forms": "11.2.13", - "@angular/material": "~11.2.12", - "@angular/material-moment-adapter": "^11.2.12", - "@angular/platform-browser": "11.2.13", - "@angular/platform-browser-dynamic": "11.2.13", - "@angular/router": "11.2.13", - "@angular/service-worker": "11.2.13", - "@ngx-translate/core": "^13.0.0", - "@ngx-translate/http-loader": "^6.0.0", - "@nrwl/angular": "12.1.1", - "@pdftron/webviewer": "7.3.1", - "@swimlane/ngx-charts": "^17.0.1", - "file-saver": "^2.0.5", - "jwt-decode": "^3.1.2", - "keycloak-angular": "^8.1.0", - "keycloak-js": "12.0.4", - "lint-staged": "^11.0.0", - "ng2-ace-editor": "^0.3.9", - "ngx-color-picker": "^11.0.0", - "ngx-toastr": "^13.2.1", - "papaparse": "^5.3.0", - "rxjs": "~6.6.7", - "scroll-into-view-if-needed": "^2.2.28", - "streamsaver": "^2.0.5", - "tslib": "^2.2.0", - "zone.js": "~0.11.4" - }, - "devDependencies": { - "@angular-devkit/build-angular": "0.1102.12", - "@angular-eslint/eslint-plugin": "~4.2.0", - "@angular-eslint/eslint-plugin-template": "~4.2.0", - "@angular-eslint/template-parser": "~4.2.0", - "@angular/cli": "11.2.12", - "@angular/compiler-cli": "11.2.13", - "@angular/language-service": "11.2.13", - "@nrwl/cli": "12.1.1", - "@nrwl/cypress": "12.1.1", - "@nrwl/eslint-plugin-nx": "12.1.1", - "@nrwl/jest": "12.1.1", - "@nrwl/linter": "12.1.1", - "@nrwl/tao": "12.1.1", - "@nrwl/workspace": "12.1.1", - "@types/cypress": "^1.1.3", - "@types/jasmine": "3.7.1", - "@types/jest": "26.0.23", - "@types/node": "15.0.2", - "@typescript-eslint/eslint-plugin": "4.22.1", - "@typescript-eslint/parser": "4.22.1", - "cypress": "^6.9.1", - "cypress-file-upload": "^5.0.7", - "cypress-keycloak": "^1.6.0", - "cypress-keycloak-commands": "^1.2.0", - "cypress-localstorage-commands": "^1.4.4", - "dotenv": "9.0.1", - "eslint": "7.26.0", - "eslint-config-prettier": "8.3.0", - "eslint-plugin-import": "latest", - "google-translate-api-browser": "^1.1.71", - "husky": "4.3.8", - "jest": "26.6.3", - "jest-preset-angular": "8.4.0", - "lodash": "^4.17.21", - "moment": "^2.29.1", - "ng-packagr": "11.2.4", - "prettier": "2.3.0", - "pretty-quick": "^3.1.0", - "superagent": "^6.1.0", - "superagent-promise": "^1.1.0", - "ts-jest": "26.5.6", - "ts-node": "9.1.1", - "webpack": "^4.18.1", - "typescript": "4.1.4" - } } diff --git a/yarn.lock b/yarn.lock index 02c96a718..03273e01c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2449,10 +2449,10 @@ yargs "15.4.1" yargs-parser "20.0.0" -"@pdftron/webviewer@7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-7.3.1.tgz#0fff099b650a4c8c700bac566fd22c7385b3e1ff" - integrity sha512-uoCwA0Ueqd7DdAGaUPdCB8aVKgZNr5JMJeBkR70EJx04eyGofp7TB+AvIE5oQdzVtnruBR8oSONgnP2kWI+Msg== +"@pdftron/webviewer@7.3.2": + version "7.3.2" + resolved "https://registry.yarnpkg.com/@pdftron/webviewer/-/webviewer-7.3.2.tgz#58c24fa6318268b7962fb51bbf6486bac24c7d64" + integrity sha512-GJJ3ErKn2gZKXcjFBg46d4u0X+60daiVu04i+AoYbA7xyocCpGIhW/cg0dZmTq0c1ITfHXvn5uG42UN3BBFWiA== "@rollup/plugin-commonjs@^17.0.0": version "17.1.0" From acf110f5c10bebf6797ecc923fe43e3e458298ad Mon Sep 17 00:00:00 2001 From: Bamboo Date: Fri, 14 May 2021 11:10:31 +0200 Subject: [PATCH 5/6] chore(release) --- package-lock.json | 0 package.json | 226 +++++++++++++++++++++++----------------------- 2 files changed, 113 insertions(+), 113 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json index 53f9bb5f1..2217fded4 100644 --- a/package.json +++ b/package.json @@ -1,116 +1,116 @@ { - "name": "redaction", - "version": "2.38.0", - "private": true, - "license": "MIT", - "scripts": { - "affected": "nx affected", - "affected:apps": "nx affected:apps", - "affected:build": "nx affected:build", - "affected:dep-graph": "nx affected:dep-graph", - "affected:e2e": "nx affected:e2e", - "affected:libs": "nx affected:libs", - "affected:lint": "nx affected:lint", - "affected:test": "nx affected:test", - "build": "nx build", - "build-lint-all": "ng lint --project=red-ui-http --fix && ng build --project=red-ui-http && ng lint --project=red-ui --fix && ng build --project=red-ui --prod", - "dep-graph": "nx dep-graph", - "e2e": "nx e2e", - "format": "nx format:write", - "format:check": "nx format:check", - "format:write": "nx format:write", - "help": "nx help", - "postinstall": "ngcc --properties es2015 browser module main", - "lint": "nx workspace-lint && nx lint", - "lint-fix": "nx workspace-lint --fix && nx lint --fix", - "nx": "nx", - "start": "nx serve", - "test": "nx test", - "update": "nx migrate latest", - "workspace-generator": "nx workspace-generator" - }, - "husky": { - "hooks": { - "pre-commit": "pretty-quick --staged && ng lint --project=red-ui-http && ng lint --project=red-ui --fix" - } - }, - "dependencies": { - "@angular/animations": "11.2.13", - "@angular/cdk": "~11.2.12", - "@angular/common": "11.2.13", - "@angular/compiler": "11.2.13", - "@angular/core": "11.2.13", - "@angular/forms": "11.2.13", - "@angular/material": "~11.2.12", - "@angular/material-moment-adapter": "^11.2.12", - "@angular/platform-browser": "11.2.13", - "@angular/platform-browser-dynamic": "11.2.13", - "@angular/router": "11.2.13", - "@angular/service-worker": "11.2.13", - "@ngx-translate/core": "^13.0.0", - "@ngx-translate/http-loader": "^6.0.0", - "@nrwl/angular": "12.1.1", - "@pdftron/webviewer": "7.3.2", - "@swimlane/ngx-charts": "^17.0.1", - "file-saver": "^2.0.5", - "jwt-decode": "^3.1.2", - "keycloak-angular": "^8.1.0", - "keycloak-js": "12.0.4", - "lint-staged": "^11.0.0", - "ng2-ace-editor": "^0.3.9", - "ngx-color-picker": "^11.0.0", - "ngx-toastr": "^13.2.1", - "papaparse": "^5.3.0", - "rxjs": "~6.6.7", - "scroll-into-view-if-needed": "^2.2.28", - "streamsaver": "^2.0.5", - "tslib": "^2.2.0", - "zone.js": "~0.11.4" - }, - "devDependencies": { - "@angular-devkit/build-angular": "0.1102.12", - "@angular-eslint/eslint-plugin": "~4.2.0", - "@angular-eslint/eslint-plugin-template": "~4.2.0", - "@angular-eslint/template-parser": "~4.2.0", - "@angular/cli": "11.2.12", - "@angular/compiler-cli": "11.2.13", - "@angular/language-service": "11.2.13", - "@nrwl/cli": "12.1.1", - "@nrwl/cypress": "12.1.1", - "@nrwl/eslint-plugin-nx": "12.1.1", - "@nrwl/jest": "12.1.1", - "@nrwl/linter": "12.1.1", - "@nrwl/tao": "12.1.1", - "@nrwl/workspace": "12.1.1", - "@types/cypress": "^1.1.3", - "@types/jasmine": "3.7.1", - "@types/jest": "26.0.23", - "@types/node": "15.0.2", - "@typescript-eslint/eslint-plugin": "4.22.1", - "@typescript-eslint/parser": "4.22.1", - "cypress": "^6.9.1", - "cypress-file-upload": "^5.0.7", - "cypress-keycloak": "^1.6.0", - "cypress-keycloak-commands": "^1.2.0", - "cypress-localstorage-commands": "^1.4.4", - "dotenv": "9.0.1", - "eslint": "7.26.0", - "eslint-config-prettier": "8.3.0", - "eslint-plugin-import": "latest", - "google-translate-api-browser": "^1.1.71", - "husky": "4.3.8", - "jest": "26.6.3", - "jest-preset-angular": "8.4.0", - "lodash": "^4.17.21", - "moment": "^2.29.1", - "ng-packagr": "11.2.4", - "prettier": "2.3.0", - "pretty-quick": "^3.1.0", - "superagent": "^6.1.0", - "superagent-promise": "^1.1.0", - "ts-jest": "26.5.6", - "ts-node": "9.1.1", - "webpack": "^4.18.1", - "typescript": "4.1.4" + "name": "redaction", + "version": "2.39.0", + "private": true, + "license": "MIT", + "scripts": { + "affected": "nx affected", + "affected:apps": "nx affected:apps", + "affected:build": "nx affected:build", + "affected:dep-graph": "nx affected:dep-graph", + "affected:e2e": "nx affected:e2e", + "affected:libs": "nx affected:libs", + "affected:lint": "nx affected:lint", + "affected:test": "nx affected:test", + "build": "nx build", + "build-lint-all": "ng lint --project=red-ui-http --fix && ng build --project=red-ui-http && ng lint --project=red-ui --fix && ng build --project=red-ui --prod", + "dep-graph": "nx dep-graph", + "e2e": "nx e2e", + "format": "nx format:write", + "format:check": "nx format:check", + "format:write": "nx format:write", + "help": "nx help", + "postinstall": "ngcc --properties es2015 browser module main", + "lint": "nx workspace-lint && nx lint", + "lint-fix": "nx workspace-lint --fix && nx lint --fix", + "nx": "nx", + "start": "nx serve", + "test": "nx test", + "update": "nx migrate latest", + "workspace-generator": "nx workspace-generator" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged && ng lint --project=red-ui-http && ng lint --project=red-ui --fix" } + }, + "dependencies": { + "@angular/animations": "11.2.13", + "@angular/cdk": "~11.2.12", + "@angular/common": "11.2.13", + "@angular/compiler": "11.2.13", + "@angular/core": "11.2.13", + "@angular/forms": "11.2.13", + "@angular/material": "~11.2.12", + "@angular/material-moment-adapter": "^11.2.12", + "@angular/platform-browser": "11.2.13", + "@angular/platform-browser-dynamic": "11.2.13", + "@angular/router": "11.2.13", + "@angular/service-worker": "11.2.13", + "@ngx-translate/core": "^13.0.0", + "@ngx-translate/http-loader": "^6.0.0", + "@nrwl/angular": "12.1.1", + "@pdftron/webviewer": "7.3.2", + "@swimlane/ngx-charts": "^17.0.1", + "file-saver": "^2.0.5", + "jwt-decode": "^3.1.2", + "keycloak-angular": "^8.1.0", + "keycloak-js": "12.0.4", + "lint-staged": "^11.0.0", + "ng2-ace-editor": "^0.3.9", + "ngx-color-picker": "^11.0.0", + "ngx-toastr": "^13.2.1", + "papaparse": "^5.3.0", + "rxjs": "~6.6.7", + "scroll-into-view-if-needed": "^2.2.28", + "streamsaver": "^2.0.5", + "tslib": "^2.2.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "0.1102.12", + "@angular-eslint/eslint-plugin": "~4.2.0", + "@angular-eslint/eslint-plugin-template": "~4.2.0", + "@angular-eslint/template-parser": "~4.2.0", + "@angular/cli": "11.2.12", + "@angular/compiler-cli": "11.2.13", + "@angular/language-service": "11.2.13", + "@nrwl/cli": "12.1.1", + "@nrwl/cypress": "12.1.1", + "@nrwl/eslint-plugin-nx": "12.1.1", + "@nrwl/jest": "12.1.1", + "@nrwl/linter": "12.1.1", + "@nrwl/tao": "12.1.1", + "@nrwl/workspace": "12.1.1", + "@types/cypress": "^1.1.3", + "@types/jasmine": "3.7.1", + "@types/jest": "26.0.23", + "@types/node": "15.0.2", + "@typescript-eslint/eslint-plugin": "4.22.1", + "@typescript-eslint/parser": "4.22.1", + "cypress": "^6.9.1", + "cypress-file-upload": "^5.0.7", + "cypress-keycloak": "^1.6.0", + "cypress-keycloak-commands": "^1.2.0", + "cypress-localstorage-commands": "^1.4.4", + "dotenv": "9.0.1", + "eslint": "7.26.0", + "eslint-config-prettier": "8.3.0", + "eslint-plugin-import": "latest", + "google-translate-api-browser": "^1.1.71", + "husky": "4.3.8", + "jest": "26.6.3", + "jest-preset-angular": "8.4.0", + "lodash": "^4.17.21", + "moment": "^2.29.1", + "ng-packagr": "11.2.4", + "prettier": "2.3.0", + "pretty-quick": "^3.1.0", + "superagent": "^6.1.0", + "superagent-promise": "^1.1.0", + "ts-jest": "26.5.6", + "ts-node": "9.1.1", + "webpack": "^4.18.1", + "typescript": "4.1.4" + } } From e08c516c6d7e516f386067d420c2c959435dbd84 Mon Sep 17 00:00:00 2001 From: Bamboo Date: Fri, 14 May 2021 12:31:26 +0200 Subject: [PATCH 6/6] chore(release) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2217fded4..f69c6632f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "2.39.0", + "version": "2.40.0", "private": true, "license": "MIT", "scripts": {