UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

83 lines (82 loc) 3.54 kB
import React from 'react'; import type { ActionObject, Payload } from 'jamis-core'; import type { DropEvent, FileRejection } from 'react-dropzone'; import 'blueimp-canvastoblob'; import type { ImageFileValue, ImageFileX, InputImageProps } from './types'; interface ImageState { uploading: boolean; locked: boolean; lockedReason?: string; files: Array<ImageFileValue | ImageFileX>; crop?: any; error?: string; cropFile?: ImageFileValue; cropFileName?: string; submitOnChange?: boolean; frameImageWidth?: number; } declare class ImageControl extends React.Component<InputImageProps, ImageState> { static defaultProps: Partial<InputImageProps>; static valueToFile(value: string | object, props?: InputImageProps): ImageFileValue | undefined; static sizeInfo(width: number | undefined, height: number | undefined): string; state: ImageState; files: Array<ImageFileValue | ImageFileX>; fileUploadCancelExecutors: Array<{ file: any; executor: () => void; }>; cropper: Cropper; dropzone: React.RefObject<any>; frameImageRef: React.RefObject<any>; current: ImageFileValue | ImageFileX | null; resolve?: (value?: any) => void; emitValue: any; unmounted: boolean; initAutoFill: boolean; reuploadIndex: undefined | number; constructor(props: InputImageProps); componentDidMount(): void; componentDidUpdate(prevProps: InputImageProps): void; componentWillUnmount(): void; buildCrop(props: InputImageProps): false | { aspectRatio?: number; guides?: boolean; dragMode?: string; viewMode?: number; rotatable?: boolean; scalable?: boolean; } | null | undefined; handleDropRejected(rejectedFiles: FileRejection[], evt: React.DragEvent<any>): void; startUpload(retry?: boolean): void; toggleUpload(): void; stopUpload(): void; tick(): void; removeFile(file: ImageFileValue, index: number): Promise<void>; previewImage(file: ImageFileX, index: number, e: React.MouseEvent<any>): void; editImage(index: number): void; onChange(changeImmediately?: boolean, changeEvent?: boolean): Promise<void>; syncAutoFill(): void; handleSelect(): void; handleRetry(index: number): void; handleDrop(files: Array<ImageFileX>, e?: any, event?: DropEvent): void; handlePaste(e: React.ClipboardEvent<any>): void; handleCrop(): void; cancelCrop(): void; rotatableCrop(): void; addFiles(files: Array<ImageFileX>): void; sendFile(file: ImageFileX, cb: (error: null | string, file: ImageFileX, obj?: ImageFileValue) => void, onProgress: (progress: number) => void): void; _upload(file: ImageFileX, cb: (error: null | string, file: Blob, obj?: ImageFileValue) => void, onProgress: (progress: number) => void): void; _send(file: Blob, receiver: string, params: object, onProgress: (progress: number) => void): Promise<Payload>; removeFileCanelExecutor(file: any, execute?: boolean): void; handleClick(): void; handleImageLoaded(index: number, e: React.UIEvent<any>): void; handleFrameImageLoaded(e: React.UIEvent<any>): void; validate(): any; dispatchEvent(e: string, data?: Record<string, any>): Promise<void | import("jamis-core").RendererEvent<any, any>>; doAction(action: ActionObject, data: object, throwErrors: boolean): void; handleReSelect(index: number): void; render(): JSX.Element; } export declare class ImageControlRenderer extends ImageControl { } export {};