From 1f0b0f952e22657b7ef29493f9aa3b951b7a82a6 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 27 Oct 2020 21:41:10 +0200 Subject: [PATCH] some css and label fixes --- apps/red-ui/src/app/app.module.ts | 2 - .../assign-owner-dialog.component.html | 4 +- apps/red-ui/src/app/dialogs/dialog.service.ts | 14 +--- .../file-details-dialog.component.ts | 12 ++-- .../project-details-dialog.component.html | 43 ----------- .../project-details-dialog.component.scss | 0 .../project-details-dialog.component.ts | 44 ------------ .../file-preview-screen.component.html | 6 +- .../file-preview-screen.component.ts | 24 ++++--- .../file/pdf-viewer/pdf-viewer.component.ts | 1 + .../project-listing-screen.component.html | 10 ++- .../project-listing-screen.component.ts | 14 +++- .../project-overview-screen.component.html | 8 +-- .../project-overview-screen.component.ts | 13 +++- .../red-ui/src/app/state/app-state.service.ts | 36 ++++++++++ apps/red-ui/src/assets/i18n/de.json | 72 ++++++++++++++++++- apps/red-ui/src/assets/i18n/en.json | 25 +++++++ .../src/assets/icons/general/refresh.svg | 4 +- apps/red-ui/src/assets/styles/red-input.scss | 11 +++ tools/auto-i18n/translateCache-de.txt | 14 ++++ 20 files changed, 220 insertions(+), 137 deletions(-) delete mode 100644 apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.html delete mode 100644 apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.scss delete mode 100644 apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.ts diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index d68122dc0..1deb8bdc2 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -37,7 +37,6 @@ import { FileDetailsDialogComponent } from './dialogs/file-details-dialog/file-d import { ToastrModule } from 'ngx-toastr'; import { ServiceWorkerModule } from '@angular/service-worker'; import { environment } from '../environments/environment'; -import { ProjectDetailsDialogComponent } from './dialogs/project-details-dialog/project-details-dialog.component'; import { AuthModule } from './auth/auth.module'; import { FileUploadModule } from './upload/file-upload.module'; import { FullPageLoadingIndicatorComponent } from './utils/full-page-loading-indicator/full-page-loading-indicator.component'; @@ -76,7 +75,6 @@ export function HttpLoaderFactory(httpClient: HttpClient) { FilePreviewScreenComponent, PdfViewerComponent, FileDetailsDialogComponent, - ProjectDetailsDialogComponent, AssignOwnerDialogComponent, FullPageLoadingIndicatorComponent, InitialsAvatarComponent, diff --git a/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.html b/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.html index ef9de5472..2dc4ad041 100644 --- a/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.html +++ b/apps/red-ui/src/app/dialogs/assign-owner-dialog/assign-owner-dialog.component.html @@ -7,7 +7,7 @@
- + {{ 'assign-' + data.type + '-owner.dialog.single-user.label' | translate }} @@ -22,7 +22,7 @@
- + {{ 'assign-' + data.type + '-owner.dialog.multi-user.label' | translate }} diff --git a/apps/red-ui/src/app/dialogs/dialog.service.ts b/apps/red-ui/src/app/dialogs/dialog.service.ts index 135acebcc..64efdb9d6 100644 --- a/apps/red-ui/src/app/dialogs/dialog.service.ts +++ b/apps/red-ui/src/app/dialogs/dialog.service.ts @@ -11,10 +11,9 @@ import { import { ConfirmationDialogComponent } from '../common/confirmation-dialog/confirmation-dialog.component'; import { NotificationService, NotificationType } from '../notification/notification.service'; import { TranslateService } from '@ngx-translate/core'; -import { AppStateService, ProjectWrapper } from '../state/app-state.service'; +import { AppStateService } from '../state/app-state.service'; import { AddEditProjectDialogComponent } from './add-edit-project-dialog/add-edit-project-dialog.component'; import { AssignOwnerDialogComponent } from './assign-owner-dialog/assign-owner-dialog.component'; -import { ProjectDetailsDialogComponent } from './project-details-dialog/project-details-dialog.component'; import { ManualRedactionDialogComponent } from './manual-redaction-dialog/manual-redaction-dialog.component'; import { Annotations } from '@pdftron/webviewer'; @@ -250,17 +249,6 @@ export class DialogService { return ref; } - public openProjectDetailsDialog( - $event: MouseEvent, - project: ProjectWrapper - ): MatDialogRef { - $event.stopPropagation(); - return this._dialog.open(ProjectDetailsDialogComponent, { - ...dialogConfig, - data: project - }); - } - public openAddProjectDialog(cb?: Function): MatDialogRef { const ref = this._dialog.open(AddEditProjectDialogComponent, { ...dialogConfig, diff --git a/apps/red-ui/src/app/dialogs/file-details-dialog/file-details-dialog.component.ts b/apps/red-ui/src/app/dialogs/file-details-dialog/file-details-dialog.component.ts index 285c6f125..909ed8aa9 100644 --- a/apps/red-ui/src/app/dialogs/file-details-dialog/file-details-dialog.component.ts +++ b/apps/red-ui/src/app/dialogs/file-details-dialog/file-details-dialog.component.ts @@ -1,7 +1,7 @@ import { Component, Inject, OnInit } from '@angular/core'; -import { FileStatus, FileUploadControllerService } from '@redaction/red-ui-http'; +import { FileStatus } from '@redaction/red-ui-http'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { download } from '../../utils/file-download-utils'; +import { AppStateService } from '../../state/app-state.service'; @Component({ selector: 'redaction-file-details-dialog', @@ -10,7 +10,7 @@ import { download } from '../../utils/file-download-utils'; }) export class FileDetailsDialogComponent implements OnInit { constructor( - private readonly _fileUploadControllerService: FileUploadControllerService, + private readonly _appStateService: AppStateService, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public fileStatus: FileStatus ) {} @@ -18,10 +18,6 @@ export class FileDetailsDialogComponent implements OnInit { ngOnInit(): void {} downloadRedactionReport() { - this._fileUploadControllerService - .downloadRedactionReport({ fileIds: [this.fileStatus.fileId] }, true, 'response') - .subscribe((data) => { - download(data, 'redaction-report-' + this.fileStatus.filename + '.docx'); - }); + this._appStateService.downloadFileRedactionReport(this.fileStatus); } } diff --git a/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.html b/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.html deleted file mode 100644 index a70432e6a..000000000 --- a/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.html +++ /dev/null @@ -1,43 +0,0 @@ -
-
- -
-
-
- {{ projectDetails.project.projectName }} -
-
- {{ projectDetails.project.description }} -
-
- {{ projectDetails.project.date | date: 'short' }} -
-
- {{ - 'project-details.dialog.info.file-count.label' - | translate - : { fileCount: projectDetails.files ? projectDetails.files.length : 0 } - }} -
-
-
- -
- - -
- - -
diff --git a/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.scss b/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.ts b/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.ts deleted file mode 100644 index 42eb34408..000000000 --- a/apps/red-ui/src/app/dialogs/project-details-dialog/project-details-dialog.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { FileUploadControllerService, ReanalysisControllerService } from '@redaction/red-ui-http'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { download } from '../../utils/file-download-utils'; -import { ProjectWrapper } from '../../state/app-state.service'; - -@Component({ - selector: 'redaction-project-details-dialog', - templateUrl: './project-details-dialog.component.html', - styleUrls: ['./project-details-dialog.component.scss'] -}) -export class ProjectDetailsDialogComponent implements OnInit { - constructor( - private readonly _fileUploadControllerService: FileUploadControllerService, - private readonly _reanalysisControllerService: ReanalysisControllerService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public projectDetails: ProjectWrapper - ) {} - - ngOnInit(): void {} - - downloadRedactionReport() { - this._fileUploadControllerService - .downloadRedactionReportForProject( - this.projectDetails.project.projectId, - true, - 'response' - ) - .subscribe((data) => { - download( - data, - 'redaction-report-' + this.projectDetails.project.projectName + '.docx' - ); - }); - } - - reanalyseProject() { - this._reanalysisControllerService - .reanalyzeProject(this.projectDetails.project.projectId) - .subscribe(() => { - this.dialogRef.close(); - }); - } -} diff --git a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html index 8171aec98..0a09f089f 100644 --- a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.html @@ -1,4 +1,4 @@ -
+
- + diff --git a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts index 032c18f01..0343058c8 100644 --- a/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/screens/file/file-preview-screen/file-preview-screen.component.ts @@ -48,6 +48,7 @@ export class FilePreviewScreenComponent implements OnInit { public filters: AnnotationFilters; public expandedFilters: AnnotationFilters = { hint: false }; public pagesPanelActive = true; + public viewReady: boolean = false; constructor( public readonly appStateService: AppStateService, @@ -91,11 +92,9 @@ export class FilePreviewScreenComponent implements OnInit { public ngOnInit(): void { // PDFTRON cache fix - localStorage.clear(); this._reloadFiles(); this.appStateService.fileStatusChanged.subscribe((fileStatus) => { if (fileStatus.fileId === this.fileId) { - console.log(fileStatus); this._reloadFiles(); } }); @@ -184,6 +183,7 @@ export class FilePreviewScreenComponent implements OnInit { public selectPage(pageNumber: number) { this._viewerComponent.navigateToPage(pageNumber); + this._scrollAnnotationsToPage(pageNumber, 'always'); } public openManualRedactionDialog($event: ManualRedactionEntry) { @@ -213,17 +213,24 @@ export class FilePreviewScreenComponent implements OnInit { if (this.selectedAnnotation?.getPageNumber() === this.activeViewerPage) { return; } - const elements: any[] = this._annotationsElement.nativeElement.querySelectorAll( - `div[anotation-page-header="${this.activeViewerPage}"]` - ); - this._scrollToFirstElement(elements); + this._scrollAnnotationsToPage(this.activeViewerPage); } - private _scrollToFirstElement(elements: HTMLElement[]) { + private _scrollAnnotationsToPage(page: number, mode: 'always' | 'if-needed' = 'if-needed') { + const elements: any[] = this._annotationsElement.nativeElement.querySelectorAll( + `div[anotation-page-header="${page}"]` + ); + this._scrollToFirstElement(elements, mode); + } + + private _scrollToFirstElement( + elements: HTMLElement[], + mode: 'always' | 'if-needed' = 'if-needed' + ) { if (elements.length > 0) { scrollIntoView(elements[0], { behavior: 'smooth', - scrollMode: 'if-needed', + scrollMode: mode, block: 'start', inline: 'start' }); @@ -445,6 +452,7 @@ export class FilePreviewScreenComponent implements OnInit { viewerReady($event: WebViewerInstance) { this.instance = $event; + this.viewReady = true; } handleAnnotationsAdded(annotations: Annotations.Annotation[]) { diff --git a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts index b98ca230c..07a126c3e 100644 --- a/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts +++ b/apps/red-ui/src/app/screens/file/pdf-viewer/pdf-viewer.component.ts @@ -127,6 +127,7 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges { private _disableElements() { this.instance.disableElements([ + 'menuButton', 'textHighlightToolButton', 'textUnderlineToolButton', 'textSquigglyToolButton', diff --git a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html index 895fd5ba6..0ef6d4562 100644 --- a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html +++ b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.html @@ -132,7 +132,7 @@ +
diff --git a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts index ba3ed65bd..a68e9b68c 100644 --- a/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts +++ b/apps/red-ui/src/app/screens/project-listing-screen/project-listing-screen.component.ts @@ -1,11 +1,12 @@ import { Component, OnInit } from '@angular/core'; -import { Project } from '@redaction/red-ui-http'; +import { FileUploadControllerService, Project } from '@redaction/red-ui-http'; import { AppStateService, ProjectWrapper } from '../../state/app-state.service'; import { UserService } from '../../user/user.service'; import { DoughnutChartConfig } from '../../components/simple-doughnut-chart/simple-doughnut-chart.component'; import { SortingOption } from '../../utils/types'; import { groupBy } from '../../utils/functions'; import { DialogService } from '../../dialogs/dialog.service'; +import { download } from '../../utils/file-download-utils'; @Component({ selector: 'redaction-project-listing-screen', @@ -27,6 +28,7 @@ export class ProjectListingScreenComponent implements OnInit { constructor( public readonly appStateService: AppStateService, + private readonly _fileUploadControllerService: FileUploadControllerService, private readonly _userService: UserService, private readonly _dialogService: DialogService ) {} @@ -94,8 +96,9 @@ export class ProjectListingScreenComponent implements OnInit { }); } - public openProjectDetailsDialog($event: MouseEvent, project: ProjectWrapper) { - this._dialogService.openProjectDetailsDialog($event, project); + downloadRedactionReport($event: MouseEvent, project: Project) { + $event.preventDefault(); + this.appStateService.downloadRedactionReport(project); } public openAssignProjectOwnerDialog($event: MouseEvent, project: Project) { @@ -117,4 +120,9 @@ export class ProjectListingScreenComponent implements OnInit { .sort() .map((status) => ({ length: obj[status], color: status })); } + + reanalyseProject($event: MouseEvent, project: Project) { + $event.preventDefault(); + this.appStateService.reanalyseProject(project); + } } diff --git a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html index faf3e6c48..4ca29bf7a 100644 --- a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html +++ b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.html @@ -191,7 +191,7 @@ @@ -228,7 +228,7 @@ - diff --git a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts index 9cb91988b..b2be5cf97 100644 --- a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts +++ b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts @@ -2,6 +2,7 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { FileStatus, + FileUploadControllerService, ReanalysisControllerService, StatusControllerService } from '@redaction/red-ui-http'; @@ -16,6 +17,7 @@ import { SortingOption } from '../../utils/types'; import { DoughnutChartConfig } from '../../components/simple-doughnut-chart/simple-doughnut-chart.component'; import { groupBy } from '../../utils/functions'; import { DialogService } from '../../dialogs/dialog.service'; +import { download } from '../../utils/file-download-utils'; @Component({ selector: 'redaction-project-overview-screen', @@ -50,6 +52,7 @@ export class ProjectOverviewScreenComponent implements OnInit, OnDestroy { constructor( public readonly appStateService: AppStateService, private readonly _activatedRoute: ActivatedRoute, + private readonly _fileUploadControllerService: FileUploadControllerService, private readonly _statusControllerService: StatusControllerService, private readonly _notificationService: NotificationService, private readonly _dialogService: DialogService, @@ -152,8 +155,14 @@ export class ProjectOverviewScreenComponent implements OnInit, OnDestroy { ); } - public openDetailsDialog($event: MouseEvent) { - this._dialogService.openProjectDetailsDialog($event, this.appStateService.activeProject); + downloadFileRedactionReport($event: MouseEvent, file: FileStatus) { + $event.stopPropagation(); + this.appStateService.downloadFileRedactionReport(file); + } + + downloadRedactionReport($event: MouseEvent) { + $event.stopPropagation(); + this.appStateService.downloadRedactionReport(); } public openEditProjectDialog($event: MouseEvent) { diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 546a183e0..faedae0cc 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -1,6 +1,7 @@ import { EventEmitter, Injectable } from '@angular/core'; import { FileStatus, + FileUploadControllerService, Project, ProjectControllerService, ReanalysisControllerService, @@ -12,6 +13,7 @@ import { Router } from '@angular/router'; import { UserService } from '../user/user.service'; import { interval } from 'rxjs'; import { tap } from 'rxjs/operators'; +import { download } from '../utils/file-download-utils'; export interface AppState { projects: ProjectWrapper[]; @@ -41,6 +43,7 @@ export class AppStateService { constructor( private readonly _router: Router, private readonly _userService: UserService, + private readonly _fileUploadControllerService: FileUploadControllerService, private readonly _projectControllerService: ProjectControllerService, private readonly _notificationService: NotificationService, private readonly _reanalysisControllerService: ReanalysisControllerService, @@ -74,6 +77,13 @@ export class AppStateService { return this._appState.activeProject?.project?.ownerId === this._userService.userId; } + get isActiveProjectOwnerAndManager() { + return ( + this._appState.activeProject?.project?.ownerId === this._userService.userId && + this._userService.isManager(this._userService.user) + ); + } + get isActiveProjectMember() { return ( this._appState.activeProject?.project?.memberIds?.indexOf(this._userService.userId) >= 0 @@ -181,6 +191,24 @@ export class AppStateService { return files; } + reanalyseProject(project?: Project) { + if (!project) { + project = this.activeProject.project; + } + this._reanalysisControllerService.reanalyzeProject(project.projectId).subscribe(() => {}); + } + + downloadRedactionReport(project?: Project) { + if (!project) { + project = this.activeProject.project; + } + this._fileUploadControllerService + .downloadRedactionReportForProject(project.projectId, true, 'response') + .subscribe((data) => { + download(data, 'redaction-report-' + project.projectName + '.docx'); + }); + } + activateProject(projectId: string) { this._appState.activeFile = null; this._appState.activeProject = this._appState.projects.find( @@ -295,4 +323,12 @@ export class AppStateService { .toPromise(); await this.reloadActiveProjectFiles(); } + + downloadFileRedactionReport(file: FileStatus) { + this._fileUploadControllerService + .downloadRedactionReport({ fileIds: [file.fileId] }, true, 'response') + .subscribe((data) => { + download(data, 'redaction-report-' + file.filename + '.docx'); + }); + } } diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 11c86d5ca..70f7f56ac 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -17,6 +17,14 @@ } }, "manual-redaction": { + "confirm-annotation": { + "success": { + "label": "Anmerkung bestätigt!" + }, + "failed": { + "label": "Fehler beim Bestätigen des Entfernens von Anmerkungen!" + } + }, "remove-annotation": { "success": { "label": "Anmerkung Zum Entfernen empfohlen!" @@ -44,16 +52,19 @@ }, "content": { "text": { - "label": "Ausgewählter Text: {{value}}" + "label": "Ausgewählter Text:" }, "dictionary": { "add": { "label": "Zum Wörterbuch hinzufügen" }, - "label": "Wörterbuch" + "label": "Art" }, "reason": { "label": "Grund" + }, + "comment": { + "label": "Kommentar" } } } @@ -165,6 +176,17 @@ "label": "Kürzlich" } }, + "table-col-names": { + "name": { + "label": "Name" + }, + "owner": { + "label": "Inhaber" + }, + "status": { + "label": "Status" + } + }, "stats": { "analyzed-pages": { "label": "Analysierte Seiten" @@ -194,6 +216,9 @@ }, "name": { "label": "Name" + }, + "due-date": { + "label": "Geburtstermin" } }, "actions": { @@ -298,6 +323,9 @@ "recent": { "label": "Kürzlich" }, + "oldest": { + "label": "Älteste" + }, "alphabetically": { "label": "Alphabetisch" }, @@ -361,6 +389,17 @@ }, "no-project": { "label": "Angefordertes Projekt: {{projectId}} existiert nicht! Zurück zur Projektliste." + }, + "legend": { + "contains-hints": { + "label": "Enthält Hinweise" + }, + "contains-redactions": { + "label": "Enthält Redaktionen" + }, + "contains-suggestions": { + "label": "Enthält Vorschläge zur Redaktion" + } } }, "file-preview": { @@ -446,6 +485,35 @@ "label": "Nicht zugewiesen" } }, + "assign-file-owner": { + "dialog": { + "single-user": { + "label": "Gutachter" + }, + "title": { + "label": "File Reviewer verwalten" + }, + "save": { + "label": "speichern" + } + } + }, + "assign-project-owner": { + "dialog": { + "single-user": { + "label": "Inhaber" + }, + "multi-user": { + "label": "Mitglieder" + }, + "title": { + "label": "Projektbesitzer und Mitglieder verwalten" + }, + "save": { + "label": "speichern" + } + } + }, "unassigned": "Nicht zugewiesen", "under-review": "Wird überprüft", "under-approval": "In Genehmigung", diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index e71cf0365..a058d158f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -165,6 +165,21 @@ } }, "project-listing": { + "report": { + "action": { + "label": "Download Redaction Report" + } + }, + "reanalyse": { + "action": { + "label": "Reanalyse entire Project" + } + }, + "assign": { + "action": { + "label": "Assign Owner & Members" + } + }, "table-header": { "title": { "label": "{{length}} active projects" @@ -291,6 +306,16 @@ } }, "project-overview": { + "report": { + "action": { + "label": "Download Redaction Report" + } + }, + "assign": { + "action": { + "label": "Assign Reviewer" + } + }, "table-header": { "title": { "label": "{{length}} documents" diff --git a/apps/red-ui/src/assets/icons/general/refresh.svg b/apps/red-ui/src/assets/icons/general/refresh.svg index b20153d91..51cc16f7b 100644 --- a/apps/red-ui/src/assets/icons/general/refresh.svg +++ b/apps/red-ui/src/assets/icons/general/refresh.svg @@ -2,8 +2,7 @@ viewBox="0 0 487.23 487.23" width="487.23px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" y="0px"> - - + - diff --git a/apps/red-ui/src/assets/styles/red-input.scss b/apps/red-ui/src/assets/styles/red-input.scss index 283afa080..c008f4544 100644 --- a/apps/red-ui/src/assets/styles/red-input.scss +++ b/apps/red-ui/src/assets/styles/red-input.scss @@ -6,6 +6,16 @@ flex-direction: column; margin-top: 13px; + .mat-form-field-underline { + display: none; + } + + .mat-form-field-label { + opacity: 0.7 !important; + color: $grey-1 !important; + transform: translateY(-1.34em) !important; + } + &:first-child { margin-top: 0; } @@ -57,6 +67,7 @@ letter-spacing: 0; line-height: 14px; margin-bottom: 2px; + color: $grey-1; &.mat-checkbox-layout { opacity: 1; diff --git a/tools/auto-i18n/translateCache-de.txt b/tools/auto-i18n/translateCache-de.txt index a363e340a..cc40763a7 100644 --- a/tools/auto-i18n/translateCache-de.txt +++ b/tools/auto-i18n/translateCache-de.txt @@ -117,3 +117,17 @@ Your user doesn't have the required RED-* roles to access this application. Plea Your user doesn't have the required RED-* roles to access this application. Please contact {{adminName}} for access!|Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff! Your user doesn't have the required RED-* roles to access this application. Please contact {{adminName}} for access!|Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff! Your user doesn't have the required RED-* roles to access this application. Please contact your admin for access!|Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff! +Annotation Confirmed!|Anmerkung bestätigt! +Error confirming Annotation removal!|Fehler beim Bestätigen des Entfernens von Anmerkungen! +Selected text:|Ausgewählter Text: +Type|Art +Owner|Inhaber +Oldest|Älteste +Contains hints |Enthält Hinweise +Contains redactions |Enthält Redaktionen +Contains suggestions for redaction |Enthält Vorschläge zur Redaktion +Reviewer|Gutachter +Manage File Reviewer|File Reviewer verwalten +Save|speichern +Members|Mitglieder +Manage Project Owner and Members|Projektbesitzer und Mitglieder verwalten