// Project: https://github.com/vueComponent/ant-design-vue // Definitions by: akki-jat // Definitions: https://github.com/vueComponent/ant-design-vue/types import { AntdComponent } from './component'; export interface VcFile extends File { uid: string; readonly lastModifiedDate: Date; readonly webkitRelativePath: string; } export interface UploadFile { uid: string; size: number; name: string; fileName?: string; lastModified?: number; lastModifiedDate?: Date; url?: string; status?: UploadFileStatus; percent?: number; thumbUrl?: string; originFileObj?: File | Blob; response?: T; error?: any; linkProps?: any; type: string; xhr?: T; preview?: string; } export interface ShowUploadList { showRemoveIcon?: boolean; showPreviewIcon?: boolean; showDownloadIcon?: boolean; } export interface UploadLocale { uploading?: string; removeFile?: string; downloadFile?: string; uploadError?: string; previewFile?: string; } export type UploadType = 'drag' | 'select'; export type UploadListType = 'text' | 'picture' | 'picture-card'; export type UploadFileStatus = 'error' | 'success' | 'done' | 'uploading' | 'removed'; type PreviewFileHandler = (file: File | Blob) => PromiseLike; type TransformFileHandler = ( file: VcFile, ) => string | Blob | File | PromiseLike; export declare class Upload extends AntdComponent { static Dragger: typeof Upload; /** * File types that can be accepted. * @type string */ accept: string; /** * Uploading URL * @type string | Function */ action: string | Function; /** * support upload whole directory * @type boolean * @see https://caniuse.com/#feat=input-file-directory */ directory: boolean; /** * Hook function which will be executed before uploading. * Uploading will be stopped with false or a rejected Promise returned. * Warning:this function is not supported in IE9. * @type Function */ beforeUpload: (file: any, fileList: any) => boolean | Promise; /** * override for the default xhr behavior allowing for additional customization and ability to implement your own XMLHttpRequest * @type Function */ customRequest: Function; /** * Uploading params or function which can return uploading params. * @type object | Function */ data: object | Function; method?: 'POST' | 'PUT' | 'post' | 'put'; /** * Default list of files that have been uploaded. * @type UploadFile[] */ defaultFileList: UploadFile[]; /** * disable upload button * @default false * @type boolean */ disabled: boolean; /** * List of files that have been uploaded (controlled) * @type UploadFile[] */ fileList: UploadFile[]; /** * Set request headers, valid above IE10. * @type object */ headers: object; /** * Built-in stylesheets, support for three types: text, picture or picture-card * @default 'text' * @type string */ listType: 'text' | 'picture' | 'picture-card'; /** * Whether to support selected multiple file. IE10+ supported. * You can select multiple files with CTRL holding down while multiple is set to be true * @default false * @type boolean */ multiple: boolean; /** * The name of uploading file * @default 'file' * @type string */ name: string; /** * Whether to show default upload list, could be an object to specify showPreviewIcon and showRemoveIcon individually * @default true * @type boolean | ShowUploadList */ showUploadList: boolean | ShowUploadList; /** * Need to be turned on while the server side is rendering. * @default false * @type boolean */ supportServerRender: boolean; /** * ajax upload with cookie sent * @default false * @type boolean */ withCredentials: boolean; /** * click open file dialog * @default true * @type boolean */ openFileDialogOnClick: boolean; /** * A callback function, will be executed when removing file button is clicked, * remove event will be prevented when return value is false or a Promise which resolve(false) or reject. * @type Function */ remove: (file: any) => boolean | Promise; locale?: UploadLocale; id?: string; previewFile?: PreviewFileHandler; transformFile?: TransformFileHandler; }