@capacitor-community/photoviewer
Version:
PhotoViewer table images with fullscreen and sharing capabilities
178 lines (177 loc) • 3.77 kB
TypeScript
export interface PhotoViewerPlugin {
/**
* Echo a given string
*
* @param options: capEchoOptions
* @return Promise<capEchoResult>
* @since 0.0.1
*/
echo(options: capEchoOptions): Promise<capEchoResult>;
/**
* Show the PhotoViewer
*
* @param options capShowOptions
* @return Promise<capShowResult>
* @since 0.0.1
*/
show(options: capShowOptions): Promise<capShowResult>;
/**
* Download an image from http and save it locally
*
* @param options capHttpOptions
* @return Promise<capHttpResult>
* @since 3.0.4
*/
saveImageFromHttpToInternal(options: capHttpOptions): Promise<capHttpResult>;
/**
* Get the internal image path list
*
* @return Promise<capPaths>
* @since 3.0.4
*/
getInternalImagePaths(): Promise<capPaths>;
}
export interface capShowOptions {
/**
* List of image
*/
images: Image[];
/**
* Viewer options (optional)
*/
options?: ViewerOptions;
/**
* Viewer mode ("gallery","slider","one")
*/
mode?: string;
/**
* Viewer image index to start from for mode ("slider","one")
*/
startFrom?: number;
}
export interface capEchoOptions {
/**
* String to be echoed
*/
value?: string;
}
export interface capEchoResult {
/**
* String returned
*/
value?: string;
}
export interface capShowResult {
/**
* result set to true when successful else false
*/
result?: boolean;
/**
* a returned message
*/
message?: string;
/**
* Result Image index at closing returned
*/
imageIndex?: number;
}
export interface Image {
/**
* image url
*/
url: string;
/**
* image title optional
*/
title?: string;
}
export interface ViewerOptions {
/**
* display the share button (default true)
*/
share?: boolean;
/**
* display the image title if any (default true)
*/
title?: boolean;
/**
* transformer Android "zoom", "depth" or "none" (default "zoom")
*/
transformer?: string;
/**
* Grid span count (default 3)
*/
spancount?: number;
/**
* Max Zoom Scale (default 3)
*/
maxzoomscale?: number;
/**
* Compression Quality for Sharing Image range [0-1] (default 0.8)
*/
compressionquality?: number;
/**
* Background Color
* ["white", "ivory", "lightgrey", "darkgrey", "grey", "dimgrey", "black"]
* (default "black")
*/
backgroundcolor?: string;
/**
* Div HTML Element Id (Web only) (default 'photoviewer-container')
*/
divid?: string;
/**
* Movie Options iOS only
*/
movieoptions?: MovieOptions;
/**
* Custom Headers
*/
customHeaders?: {
[key: string]: string;
};
}
export interface MovieOptions {
/**
* Movie Name (default "myMovie") iOS only
*/
name?: string;
/**
* Image Time Duration in Seconds (default 3) iOS only
*/
imagetime?: number;
/**
* Movie Mode "portrait" / "landscape" (default "landscape") iOS only
*/
mode?: string;
/**
* Movie Ratio "4/3" / "16/9" (default "16/9") iOS only
*/
ratio?: string;
}
export interface capHttpOptions {
/**
* https url of an image
*/
url: string;
/**
* file name of the internal stored image
*/
filename: string;
}
export interface capHttpResult {
/**
* Web View-friendly path of the internal stored image
*/
webPath?: string;
/**
* message
*/
message?: string;
}
export interface capPaths {
/**
* image path list
*/
pathList: string[];
}