import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; import { ModalController } from '@ionic/angular'; import { GcPdfViewer } from '@mescius/dspdfviewer'; import { UofxFileDownloadHelper, UofxFileModel } from '@uofx/app-components/file-helper'; import { Subject } from 'rxjs'; import { UofxWatermarkSettingModel } from './api/pdf.model'; import { UofxPdfLogic } from './logic/pdf.logic'; import * as i0 from "@angular/core"; export declare class UofxPdfViewerComponent implements OnChanges, OnDestroy, AfterViewInit { private modalCtrl; private pdfLogic; private downloadHelper; /** 要檢視的PDF檔案 */ file: UofxFileModel; /** viewer的高度 */ viewerHeight: any; /** PDF浮水印相關設定 */ watermarkSetting: UofxWatermarkSettingModel; /** 是否允許viewer內點擊下載檔案 */ enabledDownloadPdf: boolean; /** 是否可以編輯,可編輯時才可下載原始檔 */ editable: boolean; /** 要開啟pdf檔案的subject */ openPdfSubject: Subject; /** pdf開啟前事件 */ beforeOpenPdf: EventEmitter; /** pdf開啟前事件 */ afterOpenPdf: EventEmitter; /** * 顯示GcPdfViewer的html element id * - * 產生一個GcPdfViewer只能認一組id,所以不能將此id寫死 */ viewerHtmlId: string; /** 文件檢視器物件 */ viewer: GcPdfViewer; /** openPdfSubject 的訂閱 */ private openPdfSub$; /** openPdfStatus$ 的訂閱 */ private openPdfStatusSub$; /** pdf是否讀取中 */ isLoading: boolean; constructor(modalCtrl: ModalController, pdfLogic: UofxPdfLogic, downloadHelper: UofxFileDownloadHelper); ngAfterViewInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; /** * 新增開滿版dialog的toolbar item * - * 開啟fullscreen會在這邊做而不是搬到logic呼叫 * 是為了防止import cycle的發生 */ private addToolbarFullscreenItem; /** 開啟滿版dialog觀看viewer */ private openFullscreen; /** * modal關閉,重新判斷viewer是否有fullscreen的按鈕 * - * fullscreen的viewer不會有'custom-fullscreen'這個key, * 當關掉fullscreen後外層的viewer fullscreen key也會一起被拿掉了, * 暫時靠dismiss事件來處理這段 * - * 1. if: 沒有fullscreen,並且有download,要放在download前面 * 2. else: 沒有fullscreen,並且沒有download,直接擺最後面 */ private modalDismissLogic; /** 初始化訂閱 */ private initSubscribe; /** 更換pdf時要open新的pdf的訂閱 */ private openPdfSubscribe; /** 開啟pdf狀態的subject訂閱 */ private openPdfStatusSub; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }