work in progress performance
This commit is contained in:
parent
819df0497c
commit
8b5d3ee0f6
@ -183,11 +183,9 @@ export class DialogService {
|
||||
}
|
||||
|
||||
public openAssignFileReviewerDialog(
|
||||
$event: MouseEvent,
|
||||
file: FileStatus,
|
||||
cb?: Function
|
||||
): MatDialogRef<AssignOwnerDialogComponent> {
|
||||
$event.stopPropagation();
|
||||
const ref = this._dialog.open(AssignOwnerDialogComponent, {
|
||||
...dialogConfig,
|
||||
data: { type: 'file', file: file }
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
</button>
|
||||
<button
|
||||
mat-icon-button
|
||||
(click)="openAssignFileReviewerDialog($event)"
|
||||
(click)="assignReviewer()"
|
||||
*ngIf="appStateService.isActiveProjectMember"
|
||||
>
|
||||
<mat-icon svgIcon="red:assign"></mat-icon>
|
||||
|
||||
@ -28,6 +28,7 @@ import { ManualAnnotationService } from '../service/manual-annotation.service';
|
||||
import { ManualAnnotationResponse } from '../model/manual-annotation-response';
|
||||
import { FileDataModel } from '../model/file-data.model';
|
||||
import { AnnotationFilter } from '../../../utils/types';
|
||||
import { FileActionService } from '../service/file-action.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-file-preview-screen',
|
||||
@ -59,6 +60,7 @@ export class FilePreviewScreenComponent implements OnInit {
|
||||
private readonly _activatedRoute: ActivatedRoute,
|
||||
private readonly _dialogService: DialogService,
|
||||
private readonly _router: Router,
|
||||
private readonly _fileActionService: FileActionService,
|
||||
private readonly _manualAnnotationService: ManualAnnotationService,
|
||||
private readonly _fileDownloadService: FileDownloadService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
@ -132,9 +134,8 @@ export class FilePreviewScreenComponent implements OnInit {
|
||||
);
|
||||
}
|
||||
|
||||
public openAssignFileReviewerDialog($event: MouseEvent) {
|
||||
const file = this.appStateService.getFileById(this.projectId, this.fileId);
|
||||
this._dialogRef = this._dialogService.openAssignFileReviewerDialog($event, file);
|
||||
public assignReviewer() {
|
||||
this._fileActionService.assignProjectReviewer();
|
||||
}
|
||||
|
||||
public get activeViewer() {
|
||||
|
||||
@ -27,7 +27,10 @@ export class AnnotationWrapper {
|
||||
this.firstTopLeftPoint = redactionLogEntry.positions[0]?.topLeft;
|
||||
this.pageNumber = redactionLogEntry.positions[0]?.page;
|
||||
this.id = redactionLogEntry.id;
|
||||
this.content = this.createAnnotationContent(redactionLogEntry);
|
||||
this.content =
|
||||
this.superType === 'redaction' || this.superType === 'ignore'
|
||||
? this.createAnnotationContent(redactionLogEntry)
|
||||
: null;
|
||||
}
|
||||
|
||||
get manualRedactionOwner() {
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { DialogService } from '../../../dialogs/dialog.service';
|
||||
import { AppStateService } from '../../../state/app-state.service';
|
||||
import { UserService } from '../../../user/user.service';
|
||||
import { StatusControllerService } from '@redaction/red-ui-http';
|
||||
import { FileStatus } from '@redaction/red-ui-http';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class FileActionService {
|
||||
constructor(
|
||||
private readonly _dialogService: DialogService,
|
||||
private readonly _userService: UserService,
|
||||
private readonly _statusControllerService: StatusControllerService,
|
||||
private _appStateService: AppStateService
|
||||
) {}
|
||||
|
||||
// TODO refactor callback to observable or promise
|
||||
public assignProjectReviewer(file?: FileStatus, callback?: Function) {
|
||||
if (this._appStateService.isActiveProjectOwnerAndManager) {
|
||||
this._dialogService.openAssignFileReviewerDialog(
|
||||
file ? file : this._appStateService.activeFile,
|
||||
() => {
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
);
|
||||
} else {
|
||||
this._statusControllerService
|
||||
.assignProjectOwner1(
|
||||
this._appStateService.activeProjectId,
|
||||
file ? file.fileId : this._appStateService.activeFileId,
|
||||
this._userService.userId
|
||||
)
|
||||
.subscribe(() => {
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -245,7 +245,7 @@
|
||||
<mat-icon svgIcon="red:report"></mat-icon>
|
||||
</button>
|
||||
<button
|
||||
(click)="openAssignFileReviewerDialog($event, fileStatus)"
|
||||
(click)="assignReviewer($event, fileStatus)"
|
||||
color="accent"
|
||||
*ngIf="appStateService.isActiveProjectMember"
|
||||
mat-icon-button
|
||||
|
||||
@ -18,6 +18,7 @@ import { DoughnutChartConfig } from '../../components/simple-doughnut-chart/simp
|
||||
import { groupBy } from '../../utils/functions';
|
||||
import { DialogService } from '../../dialogs/dialog.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { FileActionService } from '../file/service/file-action.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-project-overview-screen',
|
||||
@ -57,6 +58,7 @@ export class ProjectOverviewScreenComponent implements OnInit, OnDestroy {
|
||||
private readonly _statusControllerService: StatusControllerService,
|
||||
private readonly _notificationService: NotificationService,
|
||||
private readonly _dialogService: DialogService,
|
||||
private readonly _fileActionService: FileActionService,
|
||||
private readonly _fileUploadService: FileUploadService,
|
||||
private readonly _uploadStatusOverlayService: UploadStatusOverlayService,
|
||||
private readonly _reanalysisControllerService: ReanalysisControllerService,
|
||||
@ -244,10 +246,9 @@ export class ProjectOverviewScreenComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
public openAssignFileReviewerDialog($event: MouseEvent, file: FileStatus) {
|
||||
this._dialogService.openAssignFileReviewerDialog($event, file, () => {
|
||||
this._reloadProjects();
|
||||
});
|
||||
public assignReviewer($event: MouseEvent, file: FileStatus) {
|
||||
$event.stopPropagation();
|
||||
this._fileActionService.assignProjectReviewer(file, () => this._reloadProjects());
|
||||
}
|
||||
|
||||
public reanalyseFile($event: MouseEvent, fileStatus: FileStatus) {
|
||||
|
||||
@ -135,6 +135,10 @@ export class AppStateService {
|
||||
return this._appState.activeFile;
|
||||
}
|
||||
|
||||
get activeFileId(): string {
|
||||
return this._appState.activeFile.fileId;
|
||||
}
|
||||
|
||||
get totalAnalysedPages() {
|
||||
return this._appState.totalAnalysedPages;
|
||||
}
|
||||
|
||||
@ -39,7 +39,11 @@ export class AnnotationUtils {
|
||||
if (hasActiveFilters) {
|
||||
let found = false;
|
||||
for (const filter of flatFilters) {
|
||||
if (filter.key === annotation.dictionary && filter.checked) {
|
||||
if (
|
||||
filter.checked &&
|
||||
(filter.key === annotation.dictionary ||
|
||||
filter.key === annotation.superType)
|
||||
) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user