@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
88 lines (87 loc) • 2.75 kB
TypeScript
//@ts-ignore
import React, { Component } from 'react';
//@ts-ignore
import { Size } from '@grapecity/core-ui';
//@ts-ignore
import { ChangedEventArgs } from '@grapecity/viewer-core';
import GcPdfViewer from '../..';
import { StampCategory } from '../../Models/ViewerTypes';
import { ISupportApi } from '../../SupportApi/ISupportApi';
export type AddStampDropdownProps = {
dropup?: boolean;
size?: Size;
viewer: GcPdfViewer;
shortcutTip: string;
};
export type AddStampDropdownModel = {
enabled?: boolean;
checked?: boolean;
selectedImageUrl?: string;
selectedImageDpi?: number;
selectedImageKey?: string;
imagesCache?: CachedStampCategory[];
};
/**
* Cached stamp category.
**/
export type CachedStampCategory = {
/**
* Category name.
**/
name: string;
/**
* Image source.
**/
imageSrc: string[];
/**
* Image keys.
**/
imageKeys: string[];
/**
* Loaded image flags.
**/
imageLoaded: boolean[];
/**
* Dynamic stamp flag.
**/
isDynamic?: boolean;
/**
* Image DPI.
* @default 72.
**/
dpi?: number;
};
export declare class AddStampDropdown extends Component<AddStampDropdownProps, AddStampDropdownModel> {
private _dropDown;
private _mounted;
private _selectedImageObjectUrl;
private _loadingFlag;
private static _cacheHash;
private static _stampsLoadPromise;
constructor(props: AddStampDropdownProps, context: any);
componentDidMount(): void;
componentWillUnmount(): void;
static clearCache(viewerInstanceId: string): void;
private get cachedCategories();
private set cachedCategories(value);
_clearImagesCache(): void;
_cacheImages(categories: StampCategory[]): Promise<void>;
onImageLoaded(cachedCat: CachedStampCategory, index: number, imageKey: string): void;
/**
* Reload stamp categories and refresh the UI.
**/
refresh(): Promise<void>;
loadStampCategories(force?: boolean): Promise<void>;
get selectedImageUrl(): string | undefined;
get selectedImageKey(): string | undefined;
private set selectedImageObjectUrl(value);
get selectedImageDpi(): number | undefined;
onParentStateChanged(args: ChangedEventArgs): void;
onItemSelected(selectedImageUrl?: string, cat?: CachedStampCategory, selectedImageKey?: string): void;
activateStampMode(): void;
get isActivateEditModeOnMouseMoveAllowed(): boolean;
//@ts-ignore
//@ts-ignore
render(): React.JSX.Element;
renderSubMenu(selectedImageUrl: string | undefined, cat: CachedStampCategory, supportApi: ISupportApi | null, ddItems: any[]): void;
}