|
|
// Project: https://github.com/vueComponent/ant-design-vue
|
|
|
// Definitions by: akki-jat <https://github.com/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<T = any> {
|
|
|
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<string>;
|
|
|
type TransformFileHandler = (
|
|
|
file: VcFile,
|
|
|
) => string | Blob | File | PromiseLike<string | Blob | File>;
|
|
|
|
|
|
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<boolean>;
|
|
|
|
|
|
/**
|
|
|
* 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<boolean>;
|
|
|
|
|
|
locale?: UploadLocale;
|
|
|
id?: string;
|
|
|
previewFile?: PreviewFileHandler;
|
|
|
transformFile?: TransformFileHandler;
|
|
|
}
|