RED-7051 & RED-7138 scroll page indicators & hide chip focus
This commit is contained in:
parent
d0e06bd6a9
commit
7995c72fe5
@ -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<number, AnnotationWrapper[]>;
|
||||
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);
|
||||
}
|
||||
|
||||
@ -76,12 +76,11 @@ export class DownloadDialogComponent extends IqserDialogComponent<DownloadDialog
|
||||
}
|
||||
|
||||
get invalidDownload() {
|
||||
const hasReportTypes = this.form.controls.reportTemplateIds.value.length;
|
||||
const downloadFileTypes = this.form.controls.downloadFileTypes.value;
|
||||
const onlyRedactedVersionSelected =
|
||||
downloadFileTypes.length && downloadFileTypes.every(type => type === DownloadFileTypes.REDACTED);
|
||||
|
||||
return !hasReportTypes || (onlyRedactedVersionSelected && !this.hasApprovedFiles);
|
||||
return onlyRedactedVersionSelected && !this.hasApprovedFiles;
|
||||
}
|
||||
|
||||
override get valid() {
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit e69f8b3f0df8701bbc3dbc79e2239aaad3acc889
|
||||
Subproject commit fd4491b2a39792ffe3ef76155c1572a45e38406e
|
||||
Loading…
x
Reference in New Issue
Block a user