</form>
</div>
- <div class="col-md-6 col-xl-8 mb-3">
+ <div class="col-md-6 col-xl-8 mb-3 d-none d-md-block" #pdfPreview>
- <div class="pdf-viewer-container" *ngIf="getContentType() == 'application/pdf'">
- <pdf-viewer [src]="previewUrl" [original-size]="false" [show-borders]="true"></pdf-viewer>
- </div>
+ <ng-container *ngIf="getContentType() == 'application/pdf'">
+ <div class="preview-sticky pdf-viewer-container" *ngIf="!useNativePdfViewer ; else nativePdfViewer">
+ <pdf-viewer [src]="previewUrl" [original-size]="false" [show-borders]="true" [show-all]="true" [(page)]="previewCurrentPage" [render-text-mode]="2" (after-load-complete)="pdfPreviewLoaded($event)"></pdf-viewer>
+ </div>
+ <ng-template #nativePdfViewer>
+ <object [data]="previewUrl | safe" class="preview-sticky" width="100%"></object>
+ </ng-template>
+ </ng-container>
+ <ng-container *ngIf="getContentType() == 'text/plain'">
+ <object [data]="previewUrl | safe" type="text/plain" class="preview-sticky" width="100%"></object>
+ </ng-container>
+
</div>
</div>
-import { Component, OnInit, ViewChild } from '@angular/core';
+import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
- import { Title } from '@angular/platform-browser';
import { ActivatedRoute, Router } from '@angular/router';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
+import { NgbModal, NgbNav } from '@ng-bootstrap/ng-bootstrap';
import { PaperlessCorrespondent } from 'src/app/data/paperless-correspondent';
import { PaperlessDocument } from 'src/app/data/paperless-document';
import { PaperlessDocumentMetadata } from 'src/app/data/paperless-document-metadata';
tags: new FormControl([])
})
+ previewCurrentPage: number = 1
+ previewNumPages: number = 1
+
+ @ViewChild('nav') nav: NgbNav
+ @ViewChild('pdfPreview') set pdfPreview(element) {
+ // this gets called when compontent added or removed from DOM
+ if (element && element.nativeElement.offsetParent !== null) { // its visible
+
+ setTimeout(()=> this.nav?.select(1));
+ }
+ }
+
constructor(
private documentsService: DocumentService,
private route: ActivatedRoute,