UNPKG

jamis

Version:

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

47 lines (46 loc) 2.57 kB
import React from 'react'; import type { ActionObject, ApiObject, ApiString, Payload } from 'jamis-core'; import type { FileRejection } from 'react-dropzone'; import type { FileState, InputFileProps, InputFileX, SchemaApi } from '../types'; export default class FileControl extends React.Component<InputFileProps, FileState> { static defaultProps: Partial<InputFileProps>; state: FileState; current: InputFileX | null; resolve?: (value?: any) => void; emitValue: any; fileUploadCancelExecutors: Array<{ file: any; executor: () => void; }>; initAutoFill: boolean; static valueToFile(value: string | InputFileX, props: InputFileProps, files?: Array<InputFileX | InputFileX>): InputFileX | undefined; dropzone: React.RefObject<any>; constructor(props: InputFileProps); componentDidMount(): void; componentDidUpdate(prevProps: InputFileProps): void; handleDrop(files: Array<InputFileX>): void; handleDropRejected(rejectedFiles: FileRejection[], evt: React.DragEvent<any>): void; handleClickFile(file: InputFileX | InputFileX, e: React.MouseEvent): void; downloadTpl(e: React.MouseEvent): void; handleApi(api: SchemaApi, payload?: object): void; handleSelect(): void; startUpload(retry?: boolean): void; toggleUpload(e: React.MouseEvent<HTMLButtonElement>): void; stopUpload(): void; retry(): void; tick: () => void; sendFile: (file: InputFileX, onComplete: (error: null | string, file?: InputFileX, obj?: InputFileX) => void, onProgress: (progress: number) => void) => Promise<void>; removeFile: (file: InputFileX | InputFileX, index: number) => Promise<void>; clearError: () => void; onChange(changeImmediately?: boolean): Promise<void>; syncAutoFill(): void; uploadFile: (file: InputFileX, receiver: string, params: object, config: Partial<InputFileProps> | undefined, onProgress: (progress: number) => void) => Promise<Payload>; uploadBigFile(file: InputFileX, receiver: string, params: object, config: Partial<InputFileProps> | undefined, onProgress: (progress: number) => void): Promise<Payload>; _send(file: InputFileX, api: ApiObject | ApiString, data?: any, options?: object, onProgress?: (progress: number) => void, maxRetryLimit?: number): Promise<Payload>; removeFileCanelExecutor(file: any, execute?: boolean): void; validate(): any; doAction(action: ActionObject, data: object, throwErrors: boolean): void; render(): JSX.Element; } export declare class FileControlRenderer extends FileControl { }