UNPKG

4.06 kBJavaScriptView Raw
1function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
3import { tuple } from '../_util/type';
4import PropsTypes from '../_util/vue-types';
5export var UploadFileStatus = PropsTypes.oneOf(tuple('error', 'success', 'done', 'uploading', 'removed')); // export const UploadFile = PropsTypes.shape({
6// uid: PropsTypes.oneOfType([
7// PropsTypes.string,
8// PropsTypes.number,
9// ]),
10// size: PropsTypes.number,
11// name: PropsTypes.string,
12// filename: PropsTypes.string,
13// lastModified: PropsTypes.number,
14// lastModifiedDate: PropsTypes.any,
15// url: PropsTypes.string,
16// status: UploadFileStatus,
17// percent: PropsTypes.number,
18// thumbUrl: PropsTypes.string,
19// originFileObj: PropsTypes.any,
20// response: PropsTypes.any,
21// error: PropsTypes.any,
22// linkProps: PropsTypes.any,
23// type: PropsTypes.string,
24// }).loose
25
26function UploadFile(_ref) {
27 var uid = _ref.uid,
28 name = _ref.name;
29 if (!uid && uid !== 0) return false;
30 if (!['string', 'number'].includes(_typeof(uid))) return false;
31 if (name === '' || typeof name !== 'string') return false;
32 return true;
33}
34
35export var UploadChangeParam = {
36 file: PropsTypes.custom(UploadFile),
37 fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),
38 event: PropsTypes.object
39};
40export var ShowUploadListInterface = PropsTypes.shape({
41 showRemoveIcon: PropsTypes.looseBool,
42 showPreviewIcon: PropsTypes.looseBool
43}).loose;
44export var UploadLocale = PropsTypes.shape({
45 uploading: PropsTypes.string,
46 removeFile: PropsTypes.string,
47 downloadFile: PropsTypes.string,
48 uploadError: PropsTypes.string,
49 previewFile: PropsTypes.string
50}).loose;
51export var UploadProps = {
52 type: PropsTypes.oneOf(tuple('drag', 'select')),
53 name: PropsTypes.string,
54 defaultFileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),
55 fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),
56 action: PropsTypes.oneOfType([PropsTypes.string, PropsTypes.func]),
57 directory: PropsTypes.looseBool,
58 data: PropsTypes.oneOfType([PropsTypes.object, PropsTypes.func]),
59 method: PropsTypes.oneOf(tuple('POST', 'PUT', 'post', 'put')),
60 headers: PropsTypes.object,
61 showUploadList: PropsTypes.oneOfType([PropsTypes.looseBool, ShowUploadListInterface]),
62 multiple: PropsTypes.looseBool,
63 accept: PropsTypes.string,
64 beforeUpload: PropsTypes.func,
65 listType: PropsTypes.oneOf(tuple('text', 'picture', 'picture-card')),
66 // className: PropsTypes.string,
67 remove: PropsTypes.func,
68 supportServerRender: PropsTypes.looseBool,
69 // style: PropsTypes.object,
70 disabled: PropsTypes.looseBool,
71 prefixCls: PropsTypes.string,
72 customRequest: PropsTypes.func,
73 withCredentials: PropsTypes.looseBool,
74 openFileDialogOnClick: PropsTypes.looseBool,
75 locale: UploadLocale,
76 height: PropsTypes.number,
77 id: PropsTypes.string,
78 previewFile: PropsTypes.func,
79 transformFile: PropsTypes.func,
80 onChange: PropsTypes.func,
81 onPreview: PropsTypes.func,
82 onRemove: PropsTypes.func,
83 onDownload: PropsTypes.func,
84 'onUpdate:fileList': PropsTypes.func
85};
86export var UploadState = {
87 fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),
88 dragState: PropsTypes.string
89};
90export var UploadListProps = {
91 listType: PropsTypes.oneOf(tuple('text', 'picture', 'picture-card')),
92 // items: PropsTypes.arrayOf(UploadFile),
93 items: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),
94 // items: PropsTypes.any,
95 progressAttr: PropsTypes.object,
96 prefixCls: PropsTypes.string,
97 showRemoveIcon: PropsTypes.looseBool,
98 showDownloadIcon: PropsTypes.looseBool,
99 showPreviewIcon: PropsTypes.looseBool,
100 locale: UploadLocale,
101 previewFile: PropsTypes.func,
102 onPreview: PropsTypes.func,
103 onRemove: PropsTypes.func,
104 onDownload: PropsTypes.func
105};
\No newline at end of file