diff --git a/apps/red-ui/src/app/modules/file-preview/components/pages/pages.component.ts b/apps/red-ui/src/app/modules/file-preview/components/pages/pages.component.ts index b268b15db..43974fe89 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/pages/pages.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/pages/pages.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, Input } from '@angular/core'; +import { AfterViewInit, Component, inject, Input } from '@angular/core'; import { List } from '@iqser/common-ui/lib/utils'; import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service'; import { MultiSelectService } from '../../services/multi-select.service'; @@ -7,13 +7,14 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { FilePreviewStateService } from '../../services/file-preview-state.service'; import { ViewedPagesMapService } from '@services/files/viewed-pages-map.service'; import { ViewedPage } from '@red/domain'; +import scrollIntoView from 'scroll-into-view-if-needed'; @Component({ selector: 'redaction-pages', templateUrl: './pages.component.html', styleUrls: ['./pages.component.scss'], }) -export class PagesComponent { +export class PagesComponent implements AfterViewInit { readonly #state = inject(FilePreviewStateService); readonly #multiSelectService = inject(MultiSelectService); readonly #listingService = inject(AnnotationsListingService); @@ -22,6 +23,22 @@ export class PagesComponent { @Input({ required: true }) displayedAnnotations: Map; readonly viewedPages$ = inject(ViewedPagesMapService).get$(this.#state.fileId); + ngAfterViewInit() { + setTimeout(() => { + this.scrollToLastViewedPage(); + }, 100); + } + + scrollToLastViewedPage() { + const currentPdfPage = this._pdf.currentPage(); + scrollIntoView(document.getElementById(`quick-nav-page-${currentPdfPage}`), { + behavior: 'smooth', + scrollMode: 'if-needed', + block: 'start', + inline: 'start', + }); + } + pageSelectedByClick($event: number): void { this._pdf.navigateTo($event); } diff --git a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts index 8485050a4..2af424ef7 100644 --- a/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialogs/download-dialog/download-dialog.component.ts @@ -76,12 +76,11 @@ export class DownloadDialogComponent extends IqserDialogComponent type === DownloadFileTypes.REDACTED); - return !hasReportTypes || (onlyRedactedVersionSelected && !this.hasApprovedFiles); + return onlyRedactedVersionSelected && !this.hasApprovedFiles; } override get valid() { diff --git a/libs/common-ui b/libs/common-ui index e69f8b3f0..fd4491b2a 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit e69f8b3f0df8701bbc3dbc79e2239aaad3acc889 +Subproject commit fd4491b2a39792ffe3ef76155c1572a45e38406e