@chief-editor/ui
Version:
UI Component for chief editor
41 lines (40 loc) • 1.36 kB
TypeScript
import { RefObject } from 'react';
import { Emitter } from '@co-hooks/emitter';
import { FileClass } from './file';
import { IBaseFile, IFileUploadErrorMessage, IFileUploadEvent, IFileUploadOptions } from '..';
interface IFilesMap<T> {
[key: string]: FileClass<T>;
}
export declare class FileUpload<T> extends Emitter<IFileUploadEvent<T>> {
files: FileClass<T>[];
filesMap: IFilesMap<T>;
input: RefObject<HTMLInputElement>;
maxLength: number;
autoUpload: boolean;
name: string;
uploadUrl: string;
accept: string;
multiple: boolean;
withCredentials: boolean;
headers: {
[key: string]: string;
};
errors: IFileUploadErrorMessage;
init(input: RefObject<HTMLInputElement>): void;
initFile(file: Partial<IBaseFile<T>>): FileClass<T>;
initURLFile(file: IBaseFile<T>): FileClass<T>;
clickInput(): void;
addFiles(files: FileList | File[]): void;
replaceFile(id: string): void;
removeFileById(id: string): void;
getIndexById(id: string): number;
upload(file: FileClass<T>): FileClass<T>;
uploadFileById(id: string): void;
isOverMaxLength(): boolean;
updateOptions(options: Omit<IFileUploadOptions<T>, 'value'>): void;
updateValue(value: IBaseFile<T>[]): void;
destroy(): void;
clearUnusedFiles(): void;
private getBaseFiles;
}
export {};