From 7bc282913bcfb0fe845a600124584387e4b01177 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 20 Jun 2023 18:37:47 +0300 Subject: [PATCH 1/2] RED-6917: Fix page navigation while search is active --- .../modules/file-preview/file-preview-screen.component.ts | 4 ++-- .../src/app/modules/file-preview/services/stamp.service.ts | 4 +++- .../modules/pdf-viewer/services/document-viewer.service.ts | 7 +++---- 3 files changed, 8 insertions(+), 7 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 bd9bc0871..1c42250e2 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 @@ -177,6 +177,8 @@ export class FilePreviewScreenComponent effect(() => { if (this._viewModeService.viewMode()) { this.updateViewMode().then(); + this._logger.info('[PDF] Stamp pdf'); + this._stampService.stampPDF().then(); } }); } @@ -274,8 +276,6 @@ export class FilePreviewScreenComponent } } - this._logger.info('[PDF] Stamp pdf'); - await this._stampService.stampPDF(); this._logger.info('[PDF] Rebuild filters'); this.#rebuildFilters(); this._logger.info('[PDF] Update done'); diff --git a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts index f8c66749f..4b110eb24 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/stamp.service.ts @@ -32,6 +32,7 @@ export class StampService { const file = this._state.file(); const allPages = [...Array(file.numberOfPages).keys()].map(page => page + 1); + await pdfDoc.lock(); try { await clearStamps(pdfDoc, this._pdf.PDFNet, allPages, this._licenseService.activeLicenseKey); } catch (e) { @@ -48,7 +49,8 @@ export class StampService { await this._stampExcludedPages(pdfDoc, file.excludedPages); } - this._documentViewer.refreshAndUpdateView(); + this._documentViewer.refreshAndUpdateView(Array.from({ length: await pdfDoc.getPageCount() }, (_x, i) => i + 1)); + await pdfDoc.unlock(); } private async _stampExcludedPages(document: PDFNet.PDFDoc, excludedPages: number[]): Promise { diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts index 855708d92..9d2aabf60 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/document-viewer.service.ts @@ -120,11 +120,10 @@ export class REDDocumentViewer { } } - refreshAndUpdateView() { - this.#document.refreshAll(); - // do not adjust this page if is compare mode + refreshAndUpdateView(visiblePages: number[]) { const currentPage = this.#document.getCurrentPage(); - this.#document.updateView([currentPage], currentPage); + this.#document.refreshAll(); + this.#document.updateView(visiblePages, currentPage); } resetRotation(pages: number | number[] | string | string[]) { From ac9803b3c0ec986ed1aaaf40aa1d8dfa37840494 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 20 Jun 2023 18:45:03 +0300 Subject: [PATCH 2/2] RED-6917 update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 73a78f74a..532ed736d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "4.129.0", + "version": "4.133.0", "private": true, "license": "MIT", "scripts": {