fixed redacted viewer sync
This commit is contained in:
parent
996d50f2e4
commit
1585d8cad9
@ -16,26 +16,6 @@
|
||||
<mat-icon svgIcon="red:assign"></mat-icon>
|
||||
</button>
|
||||
|
||||
<button
|
||||
(click)="openDeleteFileDialog($event, fileStatus)"
|
||||
*ngIf="permissionsService.canDeleteFile(fileStatus)"
|
||||
[matTooltipPosition]="tooltipPosition"
|
||||
[matTooltip]="'project-overview.delete.action' | translate"
|
||||
color="accent"
|
||||
mat-icon-button
|
||||
>
|
||||
<mat-icon svgIcon="red:trash"></mat-icon>
|
||||
</button>
|
||||
<div
|
||||
*ngIf="permissionsService.canShowRedactionReportDownloadBtn(fileStatus)"
|
||||
[matTooltipPosition]="tooltipPosition"
|
||||
[matTooltip]="(fileStatus.isApproved ? 'report.action' : 'report.unavailable-single') | translate"
|
||||
>
|
||||
<button (click)="downloadFileRedactionReport($event, fileStatus)" [disabled]="!fileStatus.isApproved" color="accent" mat-icon-button>
|
||||
<mat-icon svgIcon="red:report"></mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<button
|
||||
#reanalyseTooltip="matTooltip"
|
||||
(click)="reanalyseFile($event, fileStatus)"
|
||||
@ -59,6 +39,26 @@
|
||||
<mat-icon svgIcon="red:refresh"></mat-icon>
|
||||
</button>
|
||||
|
||||
<button
|
||||
(click)="openDeleteFileDialog($event, fileStatus)"
|
||||
*ngIf="permissionsService.canDeleteFile(fileStatus)"
|
||||
[matTooltipPosition]="tooltipPosition"
|
||||
[matTooltip]="'project-overview.delete.action' | translate"
|
||||
color="accent"
|
||||
mat-icon-button
|
||||
>
|
||||
<mat-icon svgIcon="red:trash"></mat-icon>
|
||||
</button>
|
||||
<div
|
||||
*ngIf="permissionsService.canShowRedactionReportDownloadBtn(fileStatus)"
|
||||
[matTooltipPosition]="tooltipPosition"
|
||||
[matTooltip]="(fileStatus.isApproved ? 'report.action' : 'report.unavailable-single') | translate"
|
||||
>
|
||||
<button (click)="downloadFileRedactionReport($event, fileStatus)" [disabled]="!fileStatus.isApproved" color="accent" mat-icon-button>
|
||||
<mat-icon svgIcon="red:report"></mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<button
|
||||
(click)="setFileApproved($event, fileStatus)"
|
||||
*ngIf="permissionsService.canApprove(fileStatus)"
|
||||
|
||||
@ -100,9 +100,6 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges {
|
||||
|
||||
instance.docViewer.on('documentLoaded', this._documentLoaded);
|
||||
|
||||
// initialize state
|
||||
this._restoreState(null, instance);
|
||||
|
||||
this._loadDocument();
|
||||
});
|
||||
}
|
||||
@ -225,19 +222,25 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges {
|
||||
|
||||
private _loadDocument() {
|
||||
if (this.fileData) {
|
||||
// if it's not first load - save viewer state
|
||||
if (this._viewerState) {
|
||||
this._viewerState = this._getCurrentViewerState();
|
||||
}
|
||||
this.instance.loadDocument(this.fileData, {
|
||||
filename: this.fileStatus ? this.fileStatus.filename : 'document.pdf'
|
||||
});
|
||||
if (!this._viewerState) {
|
||||
this._restoreState(null, this.instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private _documentLoaded() {
|
||||
this._ngZone.run(() => {
|
||||
this.viewerReady.emit(this.instance);
|
||||
this._restoreState(this._viewerState, this.instance);
|
||||
if (!this._viewerState) {
|
||||
this.setInitialViewerState();
|
||||
this._viewerState = this._getCurrentViewerState();
|
||||
} else {
|
||||
this._restoreState(this._viewerState);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -259,34 +262,34 @@ export class PdfViewerComponent implements OnInit, AfterViewInit, OnChanges {
|
||||
return viewerState;
|
||||
}
|
||||
|
||||
private _restoreState(viewerState: ViewerState, instance: WebViewerInstance) {
|
||||
if (viewerState) {
|
||||
instance.docViewer.setCurrentPage(viewerState.pageNumber);
|
||||
instance.setLayoutMode(viewerState.layoutMode);
|
||||
const instanceDisplayMode = instance.docViewer.getDisplayModeManager().getDisplayMode();
|
||||
instanceDisplayMode.mode = viewerState.displayMode;
|
||||
instance.docViewer.getDisplayModeManager().setDisplayMode(instanceDisplayMode);
|
||||
// Synchronize zoom - needs to be done before scrolling
|
||||
if (viewerState.zoom === 0) {
|
||||
this.instance.setFitMode('FitPage');
|
||||
} else {
|
||||
instance.docViewer.zoomTo(viewerState.zoom);
|
||||
}
|
||||
const viewerScrollElement = instance.docViewer.getScrollViewElement();
|
||||
viewerScrollElement.scrollTo(viewerState.scrollLeft, viewerState.scrollTop);
|
||||
|
||||
if (viewerState.leftPanelState) {
|
||||
instance.openElements(['leftPanel']);
|
||||
} else {
|
||||
instance.closeElements(['leftPanel']);
|
||||
}
|
||||
this._viewerState = viewerState;
|
||||
} else {
|
||||
// viewer init
|
||||
private _restoreState(viewerState: ViewerState) {
|
||||
this.instance.docViewer.setCurrentPage(viewerState.pageNumber);
|
||||
this.instance.setLayoutMode(viewerState.layoutMode);
|
||||
const instanceDisplayMode = this.instance.docViewer.getDisplayModeManager().getDisplayMode();
|
||||
instanceDisplayMode.mode = viewerState.displayMode;
|
||||
this.instance.docViewer.getDisplayModeManager().setDisplayMode(instanceDisplayMode);
|
||||
// Synchronize zoom - needs to be done before scrolling
|
||||
if (viewerState.zoom === 0) {
|
||||
this.instance.setFitMode('FitPage');
|
||||
const instanceDisplayMode = instance.docViewer.getDisplayModeManager().getDisplayMode();
|
||||
instanceDisplayMode.mode = 'Single';
|
||||
instance.docViewer.getDisplayModeManager().setDisplayMode(instanceDisplayMode);
|
||||
} else {
|
||||
this.instance.docViewer.zoomTo(viewerState.zoom);
|
||||
}
|
||||
const viewerScrollElement = this.instance.docViewer.getScrollViewElement();
|
||||
viewerScrollElement.scrollTo(viewerState.scrollLeft, viewerState.scrollTop);
|
||||
|
||||
if (viewerState.leftPanelState) {
|
||||
this.instance.openElements(['leftPanel']);
|
||||
} else {
|
||||
this.instance.closeElements(['leftPanel']);
|
||||
}
|
||||
this._viewerState = viewerState;
|
||||
}
|
||||
|
||||
setInitialViewerState() {
|
||||
// viewer init
|
||||
this.instance.setFitMode('FitPage');
|
||||
const instanceDisplayMode = this.instance.docViewer.getDisplayModeManager().getDisplayMode();
|
||||
instanceDisplayMode.mode = 'Single';
|
||||
this.instance.docViewer.getDisplayModeManager().setDisplayMode(instanceDisplayMode);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user