ngx-doc-viewer
Version:
Angular document viewer.
108 lines (104 loc) • 5.56 kB
TypeScript
import * as i0 from '@angular/core';
import { OnChanges, OnDestroy, EventEmitter, TemplateRef, QueryList, ElementRef, NgZone, ChangeDetectorRef, SimpleChanges } from '@angular/core';
import * as i1 from '@angular/common';
import { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
export * from 'docviewhelper';
type viewerType = 'google' | 'office' | 'mammoth' | 'pdf' | 'url';
type ViewerRenderPhase = 'idle' | 'loading' | 'ready' | 'error';
interface ViewerTemplateContext {
$implicit: ViewerStateContext;
state: ViewerStateContext;
}
interface ViewerStateContext {
viewer: viewerType;
url: string;
phase: ViewerRenderPhase;
errorText: string;
retry: () => void;
actionUrl: string;
}
declare class NgxDocViewerComponent implements OnChanges, OnDestroy {
private domSanitizer;
private ngZone;
private cdr;
loaded: EventEmitter<void>;
loading: EventEmitter<ViewerStateContext>;
error: EventEmitter<ViewerStateContext>;
phaseChange: EventEmitter<ViewerStateContext>;
url: string;
queryParams: string;
viewerUrl: string;
googleCheckInterval: number;
googleMaxChecks: number;
googleFinalRetryDelay: number;
disableContent: 'none' | 'all' | 'popout' | 'popout-hide';
googleCheckContentLoaded: boolean;
viewer: viewerType;
overrideLocalhost: string;
loadingText: string;
errorTextOverride: string;
retryButtonText: string;
officeAutoRetry: boolean;
officeRetryDelay: number;
officeReloadButtonText: string;
officeReloadButtonTitle: string;
secondaryActionText: string;
secondaryActionMode: 'open' | 'download';
loadingTemplate?: TemplateRef<unknown>;
errorTemplate?: TemplateRef<unknown>;
errorActionsTemplate?: TemplateRef<unknown>;
officeReloadTemplate?: TemplateRef<unknown>;
iframes?: QueryList<ElementRef>;
fullUrl?: SafeResourceUrl;
externalViewer: boolean;
docHtml: string;
configuredViewer: viewerType;
showIframe: boolean;
renderPhase: ViewerRenderPhase;
errorText: string;
failedUrl: string;
retryNonce: number;
loadingTemplateContext: ViewerTemplateContext;
errorTemplateContext: ViewerTemplateContext;
private checkIFrameSubscription?;
private loadVersion;
private externalLoadTimeoutId?;
private googleFinalRetryTimeoutId?;
private googleFinalRetriedSourceKey?;
private currentGoogleSourceKey?;
private officeRetryTimeoutId?;
private officeAutoRetriedSourceKey?;
private currentOfficeSourceKey?;
private lastEmittedPhase?;
constructor(domSanitizer: DomSanitizer, ngZone: NgZone, cdr: ChangeDetectorRef);
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): Promise<void>;
retryLoad(): void;
private reloadIframe;
private scheduleViewerRecovery;
private scheduleGoogleRecovery;
iframeLoaded(): void;
objectLoaded(): void;
private reloadMammoth;
private scheduleExternalLoadTimeout;
private clearExternalLoadTimeout;
private clearGoogleFinalRetry;
private clearOfficeRetry;
private scheduleOfficeRetry;
private scheduleGoogleFinalRetry;
get displayedErrorText(): string;
private updateTemplateContexts;
private createTemplateContext;
private createStateContext;
private setRenderPhase;
private emitLifecycleIfNeeded;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDocViewerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxDocViewerComponent, "ngx-doc-viewer", never, { "url": { "alias": "url"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "viewerUrl": { "alias": "viewerUrl"; "required": false; }; "googleCheckInterval": { "alias": "googleCheckInterval"; "required": false; }; "googleMaxChecks": { "alias": "googleMaxChecks"; "required": false; }; "googleFinalRetryDelay": { "alias": "googleFinalRetryDelay"; "required": false; }; "disableContent": { "alias": "disableContent"; "required": false; }; "googleCheckContentLoaded": { "alias": "googleCheckContentLoaded"; "required": false; }; "viewer": { "alias": "viewer"; "required": false; }; "overrideLocalhost": { "alias": "overrideLocalhost"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "errorTextOverride": { "alias": "errorTextOverride"; "required": false; }; "retryButtonText": { "alias": "retryButtonText"; "required": false; }; "officeAutoRetry": { "alias": "officeAutoRetry"; "required": false; }; "officeRetryDelay": { "alias": "officeRetryDelay"; "required": false; }; "officeReloadButtonText": { "alias": "officeReloadButtonText"; "required": false; }; "officeReloadButtonTitle": { "alias": "officeReloadButtonTitle"; "required": false; }; "secondaryActionText": { "alias": "secondaryActionText"; "required": false; }; "secondaryActionMode": { "alias": "secondaryActionMode"; "required": false; }; }, { "loaded": "loaded"; "loading": "loading"; "error": "error"; "phaseChange": "phaseChange"; }, ["loadingTemplate", "errorTemplate", "errorActionsTemplate", "officeReloadTemplate"], never, true, never>;
}
declare class NgxDocViewerModule {
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDocViewerModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxDocViewerModule, never, [typeof i1.CommonModule, typeof NgxDocViewerComponent], [typeof NgxDocViewerComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<NgxDocViewerModule>;
}
export { NgxDocViewerComponent, NgxDocViewerModule };
export type { ViewerStateContext, viewerType };