linkmore-design 1.0.84 → 1.0.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConfigProvider/demos/componentSize.d.ts +2 -0
- package/dist/ConfigProvider/demos/style.d.ts +2 -0
- package/dist/ConfigProvider/index.d.ts +2 -2
- package/dist/Form/demos/responsive.d.ts +1 -0
- package/dist/Form/demos/responsiveAll.d.ts +3 -0
- package/dist/Form/util.d.ts +1 -0
- package/dist/ImageViewer/fns/index.d.ts +1 -0
- package/dist/Input/index.d.ts +1 -1
- package/dist/InputRange/demos/basic.d.ts +2 -0
- package/dist/InputRange/index.d.ts +8 -0
- package/dist/InputRange/style/index.d.ts +1 -0
- package/dist/LmEditTable/EditTable.d.ts +2 -0
- package/dist/LmTable/util.d.ts +7 -0
- package/dist/LmTable/virTual/VirtualTable.d.ts +2 -2
- package/dist/LmUpload/LmUpload.d.ts +1 -0
- package/dist/LmUpload/demos/formCard.d.ts +2 -0
- package/dist/LmUpload/fns/index.d.ts +1 -0
- package/dist/LmUpload/utils.d.ts +1 -0
- package/dist/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.umd.js +483 -218
- package/dist/index.umd.min.js +5 -5
- package/es/Button/index.js +4 -2
- package/es/ConfigProvider/cssVariables.js +1 -1
- package/es/ConfigProvider/index.d.ts +2 -2
- package/es/ConfigProvider/index.js +2 -1
- package/es/DatePicker/generatePicker/generateSinglePicker.js +3 -3
- package/es/Form/container.js +2 -16
- package/es/Form/style/index.css +8 -2
- package/es/Form/util.d.ts +1 -0
- package/es/Form/util.js +22 -0
- package/es/ImageViewer/components/Carousel.js +20 -2
- package/es/ImageViewer/components/Thumb.js +24 -5
- package/es/ImageViewer/fns/index.d.ts +1 -0
- package/es/ImageViewer/fns/index.js +19 -2
- package/es/ImageViewer/style/index.css +26 -15
- package/es/Input/index.d.ts +1 -1
- package/es/Input/index.js +6 -2
- package/es/Input/style/index.css +9 -0
- package/es/InputRange/index.d.ts +8 -0
- package/es/InputRange/index.js +67 -0
- package/es/InputRange/style/index.css +511 -0
- package/es/InputRange/style/index.d.ts +1 -0
- package/es/InputRange/style/index.js +1 -0
- package/es/LmEditTable/EditTable.d.ts +2 -0
- package/es/LmEditTable/EditTable.js +19 -5
- package/es/LmFilter/style/index.css +159 -0
- package/es/LmTable/Table.js +50 -64
- package/es/LmTable/components/sheelTableCell.js +2 -2
- package/es/LmTable/style/index.css +1 -0
- package/es/LmTable/util.js +73 -16
- package/es/LmTable/virTual/VirtualTable.d.ts +2 -2
- package/es/LmTable/virTual/VirtualTable.js +6 -4
- package/es/LmUpload/LmUpload.d.ts +1 -0
- package/es/LmUpload/LmUpload.js +46 -26
- package/es/LmUpload/UploadList/ItemPicture.js +5 -4
- package/es/LmUpload/UploadList/ItemPictureCard.js +26 -12
- package/es/LmUpload/UploadList/ItemText.js +4 -3
- package/es/LmUpload/body/UploadCore.js +1 -1
- package/es/LmUpload/fns/index.d.ts +1 -0
- package/es/LmUpload/fns/index.js +91 -46
- package/es/LmUpload/style/index.css +42 -35
- package/es/LmUpload/utils.d.ts +1 -0
- package/es/LmUpload/utils.js +12 -0
- package/es/LmUpload/wrapper/UploadRoot.js +7 -13
- package/es/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
- package/es/LmUpload/wrapper/UploadWrapper.js +1 -1
- package/es/Select/index.js +3 -2
- package/es/Tabs/index.js +3 -2
- package/es/index.d.ts +3 -0
- package/es/index.js +2 -1
- package/lib/Button/index.js +5 -2
- package/lib/ConfigProvider/cssVariables.js +1 -1
- package/lib/ConfigProvider/index.d.ts +2 -2
- package/lib/ConfigProvider/index.js +2 -1
- package/lib/DatePicker/generatePicker/generateSinglePicker.js +7 -7
- package/lib/Form/container.js +3 -16
- package/lib/Form/style/index.css +8 -2
- package/lib/Form/util.d.ts +1 -0
- package/lib/Form/util.js +24 -0
- package/lib/ImageViewer/components/Carousel.js +20 -2
- package/lib/ImageViewer/components/Thumb.js +25 -5
- package/lib/ImageViewer/fns/index.d.ts +1 -0
- package/lib/ImageViewer/fns/index.js +18 -1
- package/lib/ImageViewer/style/index.css +26 -15
- package/lib/Input/index.d.ts +1 -1
- package/lib/Input/index.js +7 -2
- package/lib/Input/style/index.css +9 -0
- package/lib/InputRange/index.d.ts +8 -0
- package/lib/InputRange/index.js +79 -0
- package/lib/InputRange/style/index.css +511 -0
- package/lib/InputRange/style/index.d.ts +1 -0
- package/lib/InputRange/style/index.js +3 -0
- package/lib/LmEditTable/EditTable.d.ts +2 -0
- package/lib/LmEditTable/EditTable.js +19 -4
- package/lib/LmFilter/style/index.css +159 -0
- package/lib/LmTable/Table.js +50 -64
- package/lib/LmTable/components/sheelTableCell.js +2 -2
- package/lib/LmTable/style/index.css +1 -0
- package/lib/LmTable/util.js +73 -16
- package/lib/LmTable/virTual/VirtualTable.d.ts +2 -2
- package/lib/LmTable/virTual/VirtualTable.js +6 -4
- package/lib/LmUpload/LmUpload.d.ts +1 -0
- package/lib/LmUpload/LmUpload.js +46 -26
- package/lib/LmUpload/UploadList/ItemPicture.js +5 -4
- package/lib/LmUpload/UploadList/ItemPictureCard.js +26 -12
- package/lib/LmUpload/UploadList/ItemText.js +4 -3
- package/lib/LmUpload/body/UploadCore.js +1 -1
- package/lib/LmUpload/fns/index.d.ts +1 -0
- package/lib/LmUpload/fns/index.js +89 -45
- package/lib/LmUpload/style/index.css +42 -35
- package/lib/LmUpload/utils.d.ts +1 -0
- package/lib/LmUpload/utils.js +17 -1
- package/lib/LmUpload/wrapper/UploadRoot.js +7 -13
- package/lib/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
- package/lib/LmUpload/wrapper/UploadWrapper.js +2 -1
- package/lib/Select/index.js +4 -2
- package/lib/Tabs/index.js +4 -2
- package/lib/index.d.ts +3 -0
- package/lib/index.js +9 -1
- package/package.json +1 -1
package/lib/LmUpload/LmUpload.js
CHANGED
|
@@ -27,24 +27,41 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
var LmUpload = function LmUpload(_a, ref) {
|
|
30
|
-
var
|
|
30
|
+
var _fileConfig = _a.fileConfig,
|
|
31
|
+
fileNames = _a.fileNames,
|
|
31
32
|
components = _a.components,
|
|
32
33
|
_ossConfig = _a.ossConfig,
|
|
33
|
-
resetProps = __rest(_a, ["fileConfig", "components", "ossConfig"]);
|
|
34
|
+
resetProps = __rest(_a, ["fileConfig", "fileNames", "components", "ossConfig"]);
|
|
34
35
|
|
|
35
36
|
var defaultRef = (0, _react.useRef)(null); // 仅在初始化触发一次
|
|
36
37
|
|
|
37
38
|
var initConfig = (0, _react.useMemo)(function () {
|
|
38
39
|
return {
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
// 文件参数配置: 存储时的数据
|
|
41
|
+
fileConfig: function fileConfig(fileConfigProps) {
|
|
42
|
+
var file = fileConfigProps.file,
|
|
43
|
+
timestamp = fileConfigProps.timestamp,
|
|
44
|
+
fileName = fileConfigProps.fileName,
|
|
45
|
+
filePath = fileConfigProps.filePath,
|
|
46
|
+
shortlink = fileConfigProps.shortlink,
|
|
47
|
+
url = fileConfigProps.url;
|
|
48
|
+
return Object.assign({
|
|
49
|
+
uid: timestamp,
|
|
50
|
+
fileTypeCode: file.type,
|
|
51
|
+
fileTypeName: file.type,
|
|
52
|
+
fileName: fileName,
|
|
53
|
+
realFileName: file.name,
|
|
54
|
+
fileSize: file.size,
|
|
55
|
+
internalUrl: shortlink,
|
|
56
|
+
externalUrl: shortlink,
|
|
57
|
+
filePath: filePath,
|
|
58
|
+
seq: 0,
|
|
59
|
+
url: url,
|
|
60
|
+
status: 'done'
|
|
61
|
+
}, _fileConfig === null || _fileConfig === void 0 ? void 0 : _fileConfig(fileConfigProps));
|
|
62
|
+
},
|
|
63
|
+
// 读取字段配置: 读取存储的参数字段
|
|
64
|
+
fileNames: Object.assign({
|
|
48
65
|
uid: 'uid',
|
|
49
66
|
fileTypeCode: 'fileTypeCode',
|
|
50
67
|
fileTypeName: 'fileTypeName',
|
|
@@ -55,32 +72,31 @@ var LmUpload = function LmUpload(_a, ref) {
|
|
|
55
72
|
externalUrl: 'externalUrl',
|
|
56
73
|
filePath: 'filePath',
|
|
57
74
|
seq: 'seq',
|
|
58
|
-
url: 'url'
|
|
59
|
-
|
|
75
|
+
url: 'url',
|
|
76
|
+
status: 'status'
|
|
77
|
+
}, fileNames),
|
|
60
78
|
// 初始化
|
|
61
79
|
components: Object.assign({
|
|
62
80
|
wrapper: null
|
|
63
81
|
}, components || {})
|
|
64
82
|
};
|
|
65
83
|
}, []);
|
|
66
|
-
var defaultProps = {
|
|
84
|
+
var defaultProps = Object.assign({
|
|
85
|
+
size: 100,
|
|
86
|
+
fileSize: 10,
|
|
67
87
|
uid: 'uid',
|
|
68
|
-
fileList: null,
|
|
69
|
-
type: ['jpg', 'jpeg', 'png'],
|
|
70
88
|
accept: '',
|
|
71
|
-
|
|
89
|
+
type: ['jpg', 'jpeg', 'png'],
|
|
72
90
|
listType: 'card',
|
|
73
|
-
|
|
91
|
+
readOnly: false,
|
|
74
92
|
disabled: false,
|
|
75
|
-
maxCount: null,
|
|
76
93
|
showUploadList: true,
|
|
77
|
-
|
|
94
|
+
fileList: null,
|
|
78
95
|
defaultFileList: [],
|
|
96
|
+
limit: null,
|
|
97
|
+
maxCount: null,
|
|
98
|
+
children: null,
|
|
79
99
|
itemRender: null,
|
|
80
|
-
readOnly: false,
|
|
81
|
-
onRemove: function onRemove() {
|
|
82
|
-
return true;
|
|
83
|
-
},
|
|
84
100
|
enabledOss: false,
|
|
85
101
|
// oss配置
|
|
86
102
|
ossConfig: function ossConfig() {
|
|
@@ -93,11 +109,15 @@ var LmUpload = function LmUpload(_a, ref) {
|
|
|
93
109
|
bucket: 'linkmore-scm-test',
|
|
94
110
|
shortlink: 'https://linkmore-scm-test.oss-cn-hangzhou.aliyuncs.com'
|
|
95
111
|
}, typeof _ossConfig === 'function' ? _ossConfig() : _ossConfig);
|
|
112
|
+
},
|
|
113
|
+
// 根据返回值决定是否可删除
|
|
114
|
+
onRemove: function onRemove() {
|
|
115
|
+
return true;
|
|
96
116
|
}
|
|
97
|
-
};
|
|
117
|
+
}, resetProps);
|
|
98
118
|
return /*#__PURE__*/_react.default.createElement(_UploadRoot.default, Object.assign({
|
|
99
119
|
ref: ref || defaultRef
|
|
100
|
-
}, initConfig, defaultProps
|
|
120
|
+
}, initConfig, defaultProps));
|
|
101
121
|
};
|
|
102
122
|
|
|
103
123
|
var _default = /*#__PURE__*/(0, _react.forwardRef)(LmUpload);
|
|
@@ -22,9 +22,10 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
22
22
|
var readOnly = instance.readOnly,
|
|
23
23
|
remove = instance.remove,
|
|
24
24
|
preview = instance.preview,
|
|
25
|
-
download = instance.download
|
|
25
|
+
download = instance.download,
|
|
26
|
+
fileNames = instance.fileNames;
|
|
26
27
|
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
-
className: (0, _classnames.default)('lm_upload_item lm_upload_item_picture', file.status === 'error' && '
|
|
28
|
+
className: (0, _classnames.default)('lm_upload_item lm_upload_item_picture', file[fileNames.status] === 'error' && 'lm_upload_item_error')
|
|
28
29
|
}, /*#__PURE__*/React.createElement("div", {
|
|
29
30
|
className: "picture_left"
|
|
30
31
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -33,14 +34,14 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
33
34
|
return preview(file);
|
|
34
35
|
}
|
|
35
36
|
}, /*#__PURE__*/React.createElement("img", {
|
|
36
|
-
src: file.url,
|
|
37
|
+
src: file[fileNames.url],
|
|
37
38
|
alt: ""
|
|
38
39
|
})), /*#__PURE__*/React.createElement("div", {
|
|
39
40
|
className: "lm_upload_item_name",
|
|
40
41
|
onClick: function onClick() {
|
|
41
42
|
return download(file);
|
|
42
43
|
}
|
|
43
|
-
}, file.fileName)), !readOnly && /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
}, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
|
|
44
45
|
className: "picture_right lm_upload_item_action"
|
|
45
46
|
}, /*#__PURE__*/React.createElement("div", {
|
|
46
47
|
className: "action_delete",
|
|
@@ -28,13 +28,22 @@ var renderThumb = function renderThumb(file) {
|
|
|
28
28
|
case 'png':
|
|
29
29
|
case 'jpg':
|
|
30
30
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
-
className: "
|
|
31
|
+
className: "lm_upload_item_thumb_error"
|
|
32
32
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
33
33
|
type: "lmweb-image"
|
|
34
34
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
35
35
|
className: "lm_upload_item_name"
|
|
36
36
|
}, file.realFileName));
|
|
37
37
|
|
|
38
|
+
case 'mp4':
|
|
39
|
+
case 'm2v':
|
|
40
|
+
case 'mkv':
|
|
41
|
+
case 'ogm':
|
|
42
|
+
case 'webm':
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
44
|
+
type: "lmweb-video"
|
|
45
|
+
});
|
|
46
|
+
|
|
38
47
|
case 'doc':
|
|
39
48
|
case 'docx':
|
|
40
49
|
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
@@ -72,24 +81,29 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
72
81
|
var readOnly = instance.readOnly,
|
|
73
82
|
size = instance.size,
|
|
74
83
|
remove = instance.remove,
|
|
75
|
-
preview = instance.preview
|
|
84
|
+
preview = instance.preview,
|
|
85
|
+
getFileFields = instance.getFileFields;
|
|
76
86
|
|
|
77
87
|
var _useState = (0, _react.useState)(false),
|
|
78
88
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
79
89
|
isError = _useState2[0],
|
|
80
|
-
setIsError = _useState2[1]; // 文件信息重组
|
|
90
|
+
setIsError = _useState2[1]; // 文件信息重组 获取文件名称 => 截取后缀文件名
|
|
81
91
|
|
|
82
92
|
|
|
83
93
|
var resetFile = (0, _react.useMemo)(function () {
|
|
84
|
-
var
|
|
85
|
-
|
|
94
|
+
var fileParams = getFileFields(file);
|
|
95
|
+
var realFileName = fileParams.realFileName,
|
|
96
|
+
fileName = fileParams.fileName,
|
|
97
|
+
filename = fileParams.filename;
|
|
98
|
+
var fileExtension = (realFileName || fileName || filename).replace(/.*\./, '').toLowerCase();
|
|
99
|
+
return Object.assign(Object.assign({}, fileParams), {
|
|
86
100
|
fileExtension: fileExtension
|
|
87
101
|
});
|
|
88
|
-
}, [file]); // 预览小图
|
|
102
|
+
}, [getFileFields, file]); // 预览小图
|
|
89
103
|
|
|
90
104
|
var thumbUrl = (0, _react.useMemo)(function () {
|
|
91
|
-
return "".concat(
|
|
92
|
-
}, [
|
|
105
|
+
return "".concat(resetFile.url, "?x-oss-process=image/resize,w_").concat(size);
|
|
106
|
+
}, [resetFile.url, size]); // 根据文件名后缀判断
|
|
93
107
|
|
|
94
108
|
var isImg = (0, _react.useMemo)(function () {
|
|
95
109
|
return ['jpg', 'jpeg', 'png', 'gif', 'bmp'].includes(resetFile.fileExtension);
|
|
@@ -98,7 +112,7 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
98
112
|
var resetSize = (0, _react.useMemo)(function () {
|
|
99
113
|
var width = size - 16;
|
|
100
114
|
var padding = size > 60 ? 8 : 4;
|
|
101
|
-
var fontSize = size > 60 ? 16 :
|
|
115
|
+
var fontSize = size > 60 ? 16 : 12;
|
|
102
116
|
return {
|
|
103
117
|
width: width,
|
|
104
118
|
padding: padding,
|
|
@@ -106,7 +120,7 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
106
120
|
};
|
|
107
121
|
}, [size]);
|
|
108
122
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
109
|
-
className: (0, _classnames.default)('lm_upload_item', 'lm_upload_item_card', isError && '
|
|
123
|
+
className: (0, _classnames.default)('lm_upload_item', 'lm_upload_item_card', isError && 'lm_upload_item_error'),
|
|
110
124
|
style: {
|
|
111
125
|
height: size,
|
|
112
126
|
width: size
|
|
@@ -132,7 +146,7 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
132
146
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
133
147
|
type: "lmweb-eye",
|
|
134
148
|
style: {
|
|
135
|
-
fontSize:
|
|
149
|
+
fontSize: resetSize.fontSize
|
|
136
150
|
}
|
|
137
151
|
})), !readOnly && /*#__PURE__*/_react.default.createElement("div", {
|
|
138
152
|
className: "action_delete",
|
|
@@ -142,7 +156,7 @@ var PictureItem = function PictureItem(_ref) {
|
|
|
142
156
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
143
157
|
type: "lmweb-delete",
|
|
144
158
|
style: {
|
|
145
|
-
fontSize:
|
|
159
|
+
fontSize: resetSize.fontSize
|
|
146
160
|
}
|
|
147
161
|
})))));
|
|
148
162
|
};
|
|
@@ -19,9 +19,10 @@ var TextItem = function TextItem(_ref) {
|
|
|
19
19
|
var file = _ref.file,
|
|
20
20
|
instance = _ref.instance;
|
|
21
21
|
var readOnly = instance.readOnly,
|
|
22
|
-
remove = instance.remove
|
|
22
|
+
remove = instance.remove,
|
|
23
|
+
fileNames = instance.fileNames;
|
|
23
24
|
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
-
className: (0, _classnames.default)('lm_upload_item lm_upload_item_text', file.status === 'error' && '
|
|
25
|
+
className: (0, _classnames.default)('lm_upload_item lm_upload_item_text', file[fileNames.status] === 'error' && 'lm_upload_item_error')
|
|
25
26
|
}, /*#__PURE__*/React.createElement("div", {
|
|
26
27
|
className: "text_left"
|
|
27
28
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -30,7 +31,7 @@ var TextItem = function TextItem(_ref) {
|
|
|
30
31
|
type: "lmweb-attachment"
|
|
31
32
|
})), /*#__PURE__*/React.createElement("div", {
|
|
32
33
|
className: "lm_upload_item_name"
|
|
33
|
-
}, file.fileName)), !readOnly && /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
}, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
|
|
34
35
|
className: "text_right lm_upload_item_text_action"
|
|
35
36
|
}, /*#__PURE__*/React.createElement("div", {
|
|
36
37
|
className: "action_delete",
|
|
@@ -45,7 +45,7 @@ var UploadCore = function UploadCore(_ref) {
|
|
|
45
45
|
if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value) {
|
|
46
46
|
inputRef.current.value = '';
|
|
47
47
|
}
|
|
48
|
-
}, [(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value]);
|
|
48
|
+
}, [beforeUpload, (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value]);
|
|
49
49
|
var inputConfig = {
|
|
50
50
|
type: 'file',
|
|
51
51
|
accept: accept,
|
|
@@ -5,6 +5,7 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
|
|
|
5
5
|
}) => {
|
|
6
6
|
CoreMethods: {
|
|
7
7
|
getIsMaxCount: () => boolean;
|
|
8
|
+
getFileFields: (fileParams: any) => {};
|
|
8
9
|
beforeUpload: (e: any) => false | import("../../message").MessageType;
|
|
9
10
|
getUploadStatus: () => {
|
|
10
11
|
uploading: boolean;
|
|
@@ -69,13 +69,38 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
69
69
|
return {
|
|
70
70
|
uploading: uploading
|
|
71
71
|
};
|
|
72
|
-
}, [state.percent]); //
|
|
72
|
+
}, [state.percent]); // 获取文件字段值
|
|
73
|
+
|
|
74
|
+
var getFileFields = (0, _react.useCallback)(function (fileParams) {
|
|
75
|
+
var fileNames = props.fileNames;
|
|
76
|
+
var obj = {};
|
|
77
|
+
Object.entries(fileNames).forEach(function (v) {
|
|
78
|
+
var itemKey = v[0];
|
|
79
|
+
var itemValue = v[1];
|
|
80
|
+
|
|
81
|
+
if (fileParams[itemKey]) {
|
|
82
|
+
obj[itemKey] = fileParams[itemValue];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return obj;
|
|
86
|
+
}, [props]); // 获取是否达到最大上传数量
|
|
73
87
|
|
|
74
88
|
var getIsMaxCount = (0, _react.useCallback)(function () {
|
|
75
|
-
|
|
76
|
-
|
|
89
|
+
var maxCount = props.maxCount,
|
|
90
|
+
limit = props.limit;
|
|
91
|
+
var flag = false;
|
|
92
|
+
var num = maxCount || limit;
|
|
93
|
+
|
|
94
|
+
if (num && typeof num === 'number') {
|
|
95
|
+
flag = !(getFileList().length < num);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return flag;
|
|
99
|
+
}, [getFileList, props]); // 上传成功事件: File, fileParams
|
|
100
|
+
|
|
101
|
+
var uploadSuccess = (0, _react.useCallback)(function (file, params, ossCallBack) {
|
|
102
|
+
var _a;
|
|
77
103
|
|
|
78
|
-
var uploadDone = (0, _react.useCallback)(function (file, params, ossCallBack) {
|
|
79
104
|
var fileList = [params].concat((0, _toConsumableArray2.default)(getFileList()));
|
|
80
105
|
dispatch({
|
|
81
106
|
type: 'changeFileList',
|
|
@@ -86,18 +111,25 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
86
111
|
percent: null
|
|
87
112
|
}); // 上传事件:抛出 file: 文件 filelist: 文件列表 event: 上传进度信息
|
|
88
113
|
|
|
114
|
+
(_a = props.onSuccess) === null || _a === void 0 ? void 0 : _a.call(props, {
|
|
115
|
+
file: file,
|
|
116
|
+
fileList: fileList
|
|
117
|
+
});
|
|
89
118
|
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
90
119
|
file: file,
|
|
91
120
|
fileList: fileList
|
|
92
121
|
});
|
|
93
122
|
ossCallBack === null || ossCallBack === void 0 ? void 0 : ossCallBack(params);
|
|
94
|
-
}, [getFileList]); // 上传进度事件
|
|
123
|
+
}, [getFileList, props.onSuccess, onChange, dispatch]); // 上传进度事件
|
|
95
124
|
|
|
96
125
|
var uploadProgress = (0, _react.useCallback)(function (file, _ref2) {
|
|
97
126
|
var progress = _ref2.progress,
|
|
98
127
|
checkPoint = _ref2.checkPoint,
|
|
99
128
|
result = _ref2.result;
|
|
100
|
-
|
|
129
|
+
|
|
130
|
+
var _a;
|
|
131
|
+
|
|
132
|
+
var params = {
|
|
101
133
|
file: file,
|
|
102
134
|
fileList: getFileList(),
|
|
103
135
|
event: {
|
|
@@ -106,23 +138,43 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
106
138
|
result: result,
|
|
107
139
|
status: typeof progress !== 'number' ? 'done' : 'uploading'
|
|
108
140
|
}
|
|
109
|
-
}
|
|
141
|
+
};
|
|
142
|
+
(_a = props.onProgress) === null || _a === void 0 ? void 0 : _a.call(props, params);
|
|
143
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(params);
|
|
110
144
|
dispatch({
|
|
111
145
|
type: 'changePercent',
|
|
112
146
|
percent: Number((progress * 100).toFixed(2))
|
|
113
147
|
});
|
|
114
|
-
}, [getFileList]); //
|
|
148
|
+
}, [getFileList, props.onProgress, onChange, dispatch]); // 上传失败事件
|
|
149
|
+
|
|
150
|
+
var uploadError = (0, _react.useCallback)(function (_ref3) {
|
|
151
|
+
var error = _ref3.error,
|
|
152
|
+
file = _ref3.file;
|
|
153
|
+
console.log('上传报错:', error);
|
|
154
|
+
props.onError ? props.onError({
|
|
155
|
+
error: error,
|
|
156
|
+
file: file,
|
|
157
|
+
fileList: getFileList()
|
|
158
|
+
}) : _linkmoreDesign.message.warning('文件上传失败!', 1.5);
|
|
159
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
160
|
+
file: file,
|
|
161
|
+
fileList: getFileList(),
|
|
162
|
+
event: {
|
|
163
|
+
status: 'error'
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}, [props.onError, getFileList, onChange]); // 上传至ali-oss
|
|
115
167
|
|
|
116
168
|
var uploadOss = (0, _react.useCallback)(function (file) {
|
|
117
169
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
118
|
-
var
|
|
170
|
+
var _ossConfig, _ossConfig$dir, filePath, shortlink, _ossConfig$region, region, accessKeyId, accessKeySecret, stsToken, _ossConfig$bucket, bucket, ossCallBack, client, timestamp, fileName, pathName, url, params;
|
|
119
171
|
|
|
120
172
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
121
173
|
while (1) {
|
|
122
174
|
switch (_context.prev = _context.next) {
|
|
123
175
|
case 0:
|
|
124
176
|
_context.prev = 0;
|
|
125
|
-
_ossConfig = ossConfig(), _ossConfig$dir = _ossConfig.dir,
|
|
177
|
+
_ossConfig = ossConfig(), _ossConfig$dir = _ossConfig.dir, filePath = _ossConfig$dir === void 0 ? '/BizFile/4595/Supplier/' : _ossConfig$dir, shortlink = _ossConfig.shortlink, _ossConfig$region = _ossConfig.region, region = _ossConfig$region === void 0 ? 'oss-cn-hangzhou' : _ossConfig$region, accessKeyId = _ossConfig.accessKeyId, accessKeySecret = _ossConfig.accessKeySecret, stsToken = _ossConfig.stsToken, _ossConfig$bucket = _ossConfig.bucket, bucket = _ossConfig$bucket === void 0 ? 'linkmore-scm-test' : _ossConfig$bucket, ossCallBack = _ossConfig.ossCallBack;
|
|
126
178
|
client = new _aliOss.default({
|
|
127
179
|
region: region,
|
|
128
180
|
accessKeyId: accessKeyId,
|
|
@@ -132,7 +184,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
132
184
|
});
|
|
133
185
|
timestamp = Date.now();
|
|
134
186
|
fileName = "".concat(timestamp, "-").concat(file.name);
|
|
135
|
-
pathName =
|
|
187
|
+
pathName = filePath.slice(-1) === '/' ? "".concat(filePath).concat(fileName) : "".concat(filePath, "/").concat(fileName);
|
|
136
188
|
url = "".concat(shortlink).concat(pathName) || '';
|
|
137
189
|
_context.next = 9;
|
|
138
190
|
return client.multipartUpload(pathName, file, {
|
|
@@ -150,53 +202,44 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
150
202
|
});
|
|
151
203
|
|
|
152
204
|
case 9:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
fileTypeCode: file.type,
|
|
157
|
-
fileTypeName: file.type,
|
|
205
|
+
params = props.fileConfig({
|
|
206
|
+
file: file,
|
|
207
|
+
timestamp: timestamp,
|
|
158
208
|
fileName: fileName,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
internalUrl: 'internalUrl',
|
|
162
|
-
externalUrl: 'externalUrl',
|
|
163
|
-
filePath: dir,
|
|
164
|
-
seq: seq,
|
|
209
|
+
filePath: filePath,
|
|
210
|
+
shortlink: shortlink,
|
|
165
211
|
url: url
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
_context.next =
|
|
212
|
+
});
|
|
213
|
+
uploadSuccess(file, params, ossCallBack);
|
|
214
|
+
_context.next = 16;
|
|
169
215
|
break;
|
|
170
216
|
|
|
171
|
-
case
|
|
172
|
-
_context.prev =
|
|
217
|
+
case 13:
|
|
218
|
+
_context.prev = 13;
|
|
173
219
|
_context.t0 = _context["catch"](0);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
file: file
|
|
177
|
-
fileList: getFileList(),
|
|
178
|
-
event: {
|
|
179
|
-
status: 'error'
|
|
180
|
-
}
|
|
220
|
+
uploadError({
|
|
221
|
+
error: _context.t0,
|
|
222
|
+
file: file
|
|
181
223
|
});
|
|
182
224
|
|
|
183
|
-
case
|
|
225
|
+
case 16:
|
|
184
226
|
case "end":
|
|
185
227
|
return _context.stop();
|
|
186
228
|
}
|
|
187
229
|
}
|
|
188
|
-
}, _callee, null, [[0,
|
|
230
|
+
}, _callee, null, [[0, 13]]);
|
|
189
231
|
}));
|
|
190
|
-
}, [ossConfig,
|
|
232
|
+
}, [ossConfig, uploadProgress, props.fileConfig, uploadSuccess, uploadError]); // 自定义使用外部上传
|
|
233
|
+
|
|
191
234
|
var customUpload = (0, _react.useCallback)(function (file) {
|
|
192
235
|
var _a;
|
|
193
236
|
|
|
194
237
|
(_a = props.fileUpload) === null || _a === void 0 ? void 0 : _a.call(props, {
|
|
195
238
|
file: file,
|
|
196
239
|
value: getFileList(),
|
|
197
|
-
onChange:
|
|
240
|
+
onChange: uploadSuccess
|
|
198
241
|
});
|
|
199
|
-
}, [props.fileUpload, getFileList,
|
|
242
|
+
}, [props.fileUpload, getFileList, uploadSuccess]); // 上传前的检测
|
|
200
243
|
|
|
201
244
|
var beforeUpload = (0, _react.useCallback)(function (e) {
|
|
202
245
|
var files = e.target.files; // 循环文件检查是否存在不符合要求的文件
|
|
@@ -223,20 +266,20 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
223
266
|
|
|
224
267
|
var remove = (0, _react.useCallback)(function (file) {
|
|
225
268
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
226
|
-
var
|
|
269
|
+
var _a, _b, res, fileList;
|
|
227
270
|
|
|
228
271
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
229
272
|
while (1) {
|
|
230
273
|
switch (_context2.prev = _context2.next) {
|
|
231
274
|
case 0:
|
|
232
275
|
_context2.next = 2;
|
|
233
|
-
return (
|
|
276
|
+
return (_a = props.onRemove) === null || _a === void 0 ? void 0 : _a.call(props, file);
|
|
234
277
|
|
|
235
278
|
case 2:
|
|
236
279
|
res = _context2.sent;
|
|
237
280
|
|
|
238
281
|
if (res) {
|
|
239
|
-
fileList = (
|
|
282
|
+
fileList = (_b = getFileList()) === null || _b === void 0 ? void 0 : _b.filter(function (v) {
|
|
240
283
|
return v[uid] !== file[uid];
|
|
241
284
|
});
|
|
242
285
|
dispatch({
|
|
@@ -256,21 +299,22 @@ var useCoreOptions = function useCoreOptions(_ref) {
|
|
|
256
299
|
}
|
|
257
300
|
}, _callee2);
|
|
258
301
|
}));
|
|
259
|
-
}, [props.onRemove, getFileList, uid]); // 点击文件链接或预览图标时的回调
|
|
302
|
+
}, [props.onRemove, getFileList, onChange, dispatch, uid]); // 点击文件链接或预览图标时的回调
|
|
260
303
|
|
|
261
304
|
var preview = (0, _react.useCallback)(function (file) {
|
|
262
305
|
var _a;
|
|
263
306
|
|
|
264
307
|
(_a = props.onPreview) === null || _a === void 0 ? void 0 : _a.call(props, file);
|
|
265
|
-
}, []); // 点击下载文件时的回调
|
|
308
|
+
}, [props.onPreview]); // 点击下载文件时的回调
|
|
266
309
|
|
|
267
310
|
var download = (0, _react.useCallback)(function (file) {
|
|
268
311
|
var _a;
|
|
269
312
|
|
|
270
313
|
(_a = props.onDownload) === null || _a === void 0 ? void 0 : _a.call(props, file);
|
|
271
|
-
}, []);
|
|
314
|
+
}, [props.onDownload]);
|
|
272
315
|
var CoreMethods = {
|
|
273
316
|
getIsMaxCount: getIsMaxCount,
|
|
317
|
+
getFileFields: getFileFields,
|
|
274
318
|
beforeUpload: beforeUpload,
|
|
275
319
|
getUploadStatus: getUploadStatus,
|
|
276
320
|
remove: remove,
|