@eternalheart/ngx-file-preview
Version:
A powerful Angular file preview component library supporting multiple file formats including images, videos, PDFs, Office documents, text files and more.
63 lines (62 loc) • 1.76 kB
TypeScript
import { EnvironmentInjector, Injector } from '@angular/core';
import { PreviewFile, PreviewOptions } from '../types/preview.types';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare const INITIAL_PREVIEW_STATE: {
isVisible: boolean;
currentIndex: number;
files: never[];
};
export interface PreviewState {
isVisible: boolean;
currentFile?: PreviewFile;
currentIndex: number;
files: PreviewFile[];
}
export declare class PreviewService {
/**
* 初始化 需要将所有service注入到modal
*/
private injector;
private envInjector;
private appRef;
private lang;
private loading;
/**
* 初始化
* @param injector
* @param envInjector
*/
init(injector: Injector, envInjector: EnvironmentInjector): void;
/**
* 设置语言
* @param lang
*/
setLang(lang: string): void;
/**
* 获取实际的lang parser
*/
getLangParser(): {
locale: string;
t(key: string, ...args: (string | number)[]): string;
};
readonly stateSubject: BehaviorSubject<PreviewState>;
get state(): PreviewState;
getStateObservable(): import("rxjs").Observable<PreviewState>;
previous(): void;
next(): void;
private updatePreviewState;
/**
* 设置加载中状态
* @param loading
*/
setLoading(loading: boolean): void;
getLoadingObservable(): import("rxjs").Observable<boolean>;
private modalRef?;
get modalElement(): any;
open(options: PreviewOptions): void;
close(): void;
private cleanupModal;
static ɵfac: i0.ɵɵFactoryDeclaration<PreviewService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<PreviewService>;
}