@zykj2024/much-library 1.1.7-beta.2 → 1.1.7-beta.4
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/esm/McCascader/city.js +909 -0
- package/dist/esm/McCascader/index.d.ts +19 -0
- package/dist/esm/McCascader/index.js +221 -0
- package/dist/esm/McCascader/index.less +72 -0
- package/dist/esm/McContainer/index.d.ts +192 -0
- package/dist/esm/McContainer/index.js +522 -0
- package/dist/esm/McContainer/index.less +132 -0
- package/dist/esm/McDateRange/index.d.ts +28 -0
- package/dist/esm/McDateRange/index.js +167 -0
- package/dist/esm/McDateRange/index.less +33 -0
- package/dist/esm/McEllipsis/index.d.ts +40 -0
- package/dist/esm/McEllipsis/index.js +115 -0
- package/dist/esm/McEllipsis/index.less +9 -0
- package/dist/esm/McEllipsisMiddle/index.d.ts +13 -0
- package/dist/esm/McEllipsisMiddle/index.js +42 -0
- package/dist/esm/McEllipsisMiddle/index.less +9 -0
- package/dist/esm/McFonts/index.d.ts +8 -0
- package/dist/esm/McFonts/index.js +7 -0
- package/dist/esm/McGroupPanel/comps/SelectedItem/index.d.ts +4 -0
- package/dist/esm/McGroupPanel/comps/SelectedItem/index.js +75 -0
- package/dist/esm/McGroupPanel/index.d.ts +30 -0
- package/dist/esm/McGroupPanel/index.js +426 -0
- package/dist/esm/McGroupPanel/index.less +161 -0
- package/dist/esm/McIconFont/iconfont.js +1 -0
- package/dist/esm/McIconFont/index.d.ts +5 -0
- package/dist/esm/McIconFont/index.js +8 -0
- package/dist/esm/McIcons/business.json +137 -0
- package/dist/esm/McIcons/index.less +22 -0
- package/dist/esm/McInput/Input.d.ts +19 -0
- package/dist/esm/McInput/Input.js +48 -0
- package/dist/esm/McInput/Search.d.ts +39 -0
- package/dist/esm/McInput/Search.js +81 -0
- package/dist/esm/McInput/TextArea.d.ts +11 -0
- package/dist/esm/McInput/TextArea.js +37 -0
- package/dist/esm/McInput/demo/Input/addonBefore.d.ts +3 -0
- package/dist/esm/McInput/demo/Input/addonBefore.js +67 -0
- package/dist/esm/McInput/demo/Input/base.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/base.js +31 -0
- package/dist/esm/McInput/demo/Input/isTrim.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/isTrim.js +22 -0
- package/dist/esm/McInput/demo/Input/label.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/label.js +26 -0
- package/dist/esm/McInput/demo/Input/ref.d.ts +3 -0
- package/dist/esm/McInput/demo/Input/ref.js +53 -0
- package/dist/esm/McInput/demo/Input/status.d.ts +2 -0
- package/dist/esm/McInput/demo/Input/status.js +23 -0
- package/dist/esm/McInput/demo/Search/search-base.d.ts +2 -0
- package/dist/esm/McInput/demo/Search/search-base.js +38 -0
- package/dist/esm/McInput/demo/TextArea/text-area-base.d.ts +2 -0
- package/dist/esm/McInput/demo/TextArea/text-area-base.js +38 -0
- package/dist/esm/McInput/index.d.ts +13 -0
- package/dist/esm/McInput/index.js +7 -0
- package/dist/esm/McInput/index.less +62 -0
- package/dist/esm/McInputNumber/index.d.ts +16 -0
- package/dist/esm/McInputNumber/index.js +50 -0
- package/dist/esm/McInputNumber/index.less +18 -0
- package/dist/esm/McLazyLoader/index.d.ts +39 -0
- package/dist/esm/McLazyLoader/index.js +88 -0
- package/dist/esm/McListSelect/comps/ListSelect.d.ts +67 -0
- package/dist/esm/McListSelect/comps/ListSelect.js +289 -0
- package/dist/esm/McListSelect/comps/ListSelectPanel.d.ts +138 -0
- package/dist/esm/McListSelect/comps/ListSelectPanel.js +451 -0
- package/dist/esm/McListSelect/comps/SelectedItem.d.ts +17 -0
- package/dist/esm/McListSelect/comps/SelectedItem.js +76 -0
- package/dist/esm/McListSelect/index.d.ts +10 -0
- package/dist/esm/McListSelect/index.js +5 -0
- package/dist/esm/McListSelect/index.less +257 -0
- package/dist/esm/McModalProvider/index.d.ts +174 -0
- package/dist/esm/McModalProvider/index.js +498 -0
- package/dist/esm/McPeriodSelect/index.d.ts +13 -0
- package/dist/esm/McPeriodSelect/index.js +305 -0
- package/dist/esm/McPeriodSelect/index.less +187 -0
- package/dist/esm/McPopoverButton/index.d.ts +14 -0
- package/dist/esm/McPopoverButton/index.js +52 -0
- package/dist/esm/McPopoverForm/index.d.ts +14 -0
- package/dist/esm/McPopoverForm/index.js +95 -0
- package/dist/esm/McProSelect/index.d.ts +35 -0
- package/dist/esm/McProSelect/index.js +152 -0
- package/dist/esm/McResult/default.d.ts +1 -0
- package/dist/esm/McResult/default.js +98 -0
- package/dist/esm/McResult/icon.d.ts +25 -0
- package/dist/esm/McResult/icon.js +1014 -0
- package/dist/esm/McResult/index.d.ts +31 -0
- package/dist/esm/McResult/index.js +119 -0
- package/dist/esm/McResult/index.less +18 -0
- package/dist/esm/McResult/public/403.svg +164 -0
- package/dist/esm/McResult/public/404.svg +123 -0
- package/dist/esm/McResult/public/500.svg +129 -0
- package/dist/esm/McResult/public/building.svg +127 -0
- package/dist/esm/McResult/public/code403.svg +7 -0
- package/dist/esm/McResult/public/code404.svg +5 -0
- package/dist/esm/McResult/public/code500.svg +5 -0
- package/dist/esm/McResult/public/detailEmpty.svg +1 -0
- package/dist/esm/McResult/public/empty.svg +1 -0
- package/dist/esm/McResult/public/noFunction.svg +1 -0
- package/dist/esm/McResult/public/noUser.svg +90 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.d.ts +12 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.js +45 -0
- package/dist/esm/McSelect/components/PanelSearchInput/index.less +7 -0
- package/dist/esm/McSelect/index.d.ts +47 -0
- package/dist/esm/McSelect/index.js +436 -0
- package/dist/esm/McSelect/index.less +72 -0
- package/dist/esm/McTag/index.d.ts +22 -0
- package/dist/esm/McTag/index.js +59 -0
- package/dist/esm/McThemeConfig/customToken.json +39 -0
- package/dist/esm/McThemeConfig/globalStyle.d.ts +2 -0
- package/dist/esm/McThemeConfig/globalStyle.js +198 -0
- package/dist/esm/McThemeConfig/index.d.ts +9 -0
- package/dist/esm/McThemeConfig/index.js +16 -0
- package/dist/esm/McThemeConfig/layoutStyle.d.ts +2 -0
- package/dist/esm/McThemeConfig/layoutStyle.js +1 -0
- package/dist/esm/McThemeConfig/provider.d.ts +8 -0
- package/dist/esm/McThemeConfig/provider.js +20 -0
- package/dist/esm/McThemeConfig/themeToken.json +152 -0
- package/dist/esm/McTreePanel/SelectedItem.d.ts +4 -0
- package/dist/esm/McTreePanel/SelectedItem.js +75 -0
- package/dist/esm/McTreePanel/index.d.ts +27 -0
- package/dist/esm/McTreePanel/index.js +315 -0
- package/dist/esm/McTreePanel/index.less +106 -0
- package/dist/esm/McTreeSelect/index.d.ts +13 -0
- package/dist/esm/McTreeSelect/index.js +182 -0
- package/dist/esm/McTreeSelect/index.less +72 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.d.ts +38 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.js +209 -0
- package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.less +6 -0
- package/dist/esm/McUpload/comps/McFormUpload/index.d.ts +7 -0
- package/dist/esm/McUpload/comps/McFormUpload/index.js +29 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.d.ts +49 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.js +396 -0
- package/dist/esm/McUpload/comps/McUploadCmp/index.less +68 -0
- package/dist/esm/McUpload/comps/McUploadDragger/index.d.ts +49 -0
- package/dist/esm/McUpload/comps/McUploadDragger/index.js +264 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.d.ts +39 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.js +318 -0
- package/dist/esm/McUpload/comps/McUploadTrigger/index.less +204 -0
- package/dist/esm/McUpload/index.d.ts +14 -0
- package/dist/esm/McUpload/index.js +9 -0
- package/dist/esm/McUpload/tools/calculateMD5/index.d.ts +3 -0
- package/dist/esm/McUpload/tools/calculateMD5/index.js +94 -0
- package/dist/esm/McUpload/tools/calculateMD5/md5Worker.js +44 -0
- package/dist/esm/McUpload/tools/getUid.d.ts +1 -0
- package/dist/esm/McUpload/tools/getUid.js +6 -0
- package/dist/esm/McUpload/tools/materialVerification.d.ts +50 -0
- package/dist/esm/McUpload/tools/materialVerification.js +257 -0
- package/dist/esm/McUpload/tools/uploadTools.d.ts +5 -0
- package/dist/esm/McUpload/tools/uploadTools.js +56 -0
- package/dist/esm/Utils/index.d.ts +8 -0
- package/dist/esm/Utils/index.js +9 -0
- package/dist/esm/Utils/lib/Queue/PriorityQueue.d.ts +21 -0
- package/dist/esm/Utils/lib/Queue/PriorityQueue.js +197 -0
- package/dist/esm/Utils/lib/Queue/TaskQueue.d.ts +17 -0
- package/dist/esm/Utils/lib/Queue/TaskQueue.js +199 -0
- package/dist/esm/Utils/lib/Queue/tools/BinaryHeap.d.ts +25 -0
- package/dist/esm/Utils/lib/Queue/tools/BinaryHeap.js +184 -0
- package/dist/esm/Utils/lib/Queue/tools/publicDependencyMethod.d.ts +6 -0
- package/dist/esm/Utils/lib/Queue/tools/publicDependencyMethod.js +26 -0
- package/dist/esm/Utils/lib/Queue/types/baseTaskQueue.d.ts +23 -0
- package/dist/esm/Utils/lib/Queue/types/baseTaskQueue.js +10 -0
- package/dist/esm/Utils/lib/copyToClipboard.d.ts +8 -0
- package/dist/esm/Utils/lib/copyToClipboard.js +54 -0
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/styles/index.less +2 -0
- package/dist/esm/styles/mixins.less +52 -0
- package/dist/esm/styles/utilities.less +51 -0
- package/dist/esm/typings.d.ts +20 -0
- package/package.json +13 -9
@@ -0,0 +1,396 @@
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
3
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
5
|
+
var _excluded = ["itemRender", "listType"];
|
6
|
+
import { useLazyRef } from '@zykj2024/much-hooks';
|
7
|
+
import { message, Upload } from 'antd';
|
8
|
+
import { useEffect, useRef } from 'react';
|
9
|
+
import { calculateMD5, getIdleCPUCores } from "../../tools/calculateMD5";
|
10
|
+
import { checkFile } from "../../tools/materialVerification";
|
11
|
+
import classNames from 'classnames';
|
12
|
+
import { TaskQueue } from "../../../Utils";
|
13
|
+
import { E_McUploadTriggerStatus, E_McUploadTriggerType, McUploadTriggerButton, McUploadTriggerPicture } from "../McUploadTrigger";
|
14
|
+
import "./index.less";
|
15
|
+
|
16
|
+
// 非必传函数返回值类型提取
|
17
|
+
|
18
|
+
// 非批处理的beforeUpload参数类型
|
19
|
+
|
20
|
+
// 非批处理的beforeUpload
|
21
|
+
|
22
|
+
// 批处理的beforeUpload的参数类型
|
23
|
+
|
24
|
+
// 批处理的beforeUpload类型
|
25
|
+
|
26
|
+
// beforeUpload的参数类型运算
|
27
|
+
|
28
|
+
// 提取参数类型的辅助类型
|
29
|
+
|
30
|
+
// customRequest的参数类型
|
31
|
+
|
32
|
+
// 组合组件类型定义
|
33
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
34
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
35
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
36
|
+
var McUploadCmp = function McUploadCmp(_ref) {
|
37
|
+
var _rest$fileList;
|
38
|
+
var itemRender = _ref.itemRender,
|
39
|
+
listType = _ref.listType,
|
40
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
41
|
+
var isRectangle = listType === E_McUploadTriggerType.RECTANGLE;
|
42
|
+
var isMax = (rest === null || rest === void 0 ? void 0 : rest.maxCount) && !!(rest !== null && rest !== void 0 && rest.fileList) && (rest === null || rest === void 0 || (_rest$fileList = rest.fileList) === null || _rest$fileList === void 0 ? void 0 : _rest$fileList.length) >= (rest === null || rest === void 0 ? void 0 : rest.maxCount);
|
43
|
+
// IO/CPU密集型任务,控制数量,为非批量处理提供MD5线程控制||批量处理的辅助函数
|
44
|
+
var CHECK_QUEUE = useLazyRef(function () {
|
45
|
+
return new TaskQueue(getIdleCPUCores());
|
46
|
+
});
|
47
|
+
// 批处理MD5线程控制
|
48
|
+
var BATCH_CHECK_QUEUE = useLazyRef(function () {
|
49
|
+
return new TaskQueue(getIdleCPUCores());
|
50
|
+
});
|
51
|
+
//upload组件的ref
|
52
|
+
var uploadRef = useRef(null);
|
53
|
+
// 批量计算文件md5工具方法
|
54
|
+
var batchGetMD5 = function batchGetMD5(file) {
|
55
|
+
return new Promise(function (resolve, reject) {
|
56
|
+
var _BATCH_CHECK_QUEUE$cu;
|
57
|
+
(_BATCH_CHECK_QUEUE$cu = BATCH_CHECK_QUEUE.current) === null || _BATCH_CHECK_QUEUE$cu === void 0 || _BATCH_CHECK_QUEUE$cu.addTask({
|
58
|
+
id: file.uid,
|
59
|
+
task: function () {
|
60
|
+
var _task = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
61
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
62
|
+
while (1) switch (_context.prev = _context.next) {
|
63
|
+
case 0:
|
64
|
+
calculateMD5(file).then(function (md5) {
|
65
|
+
return resolve(md5);
|
66
|
+
}).catch(function (err) {
|
67
|
+
return reject(err);
|
68
|
+
});
|
69
|
+
case 1:
|
70
|
+
case "end":
|
71
|
+
return _context.stop();
|
72
|
+
}
|
73
|
+
}, _callee);
|
74
|
+
}));
|
75
|
+
function task() {
|
76
|
+
return _task.apply(this, arguments);
|
77
|
+
}
|
78
|
+
return task;
|
79
|
+
}()
|
80
|
+
});
|
81
|
+
});
|
82
|
+
};
|
83
|
+
var TASK_QUEUE = useLazyRef(function () {
|
84
|
+
return new TaskQueue((rest === null || rest === void 0 ? void 0 : rest.maxTaskCounts) || 5);
|
85
|
+
});
|
86
|
+
var isBatchProcess = rest === null || rest === void 0 ? void 0 : rest.batchProcess;
|
87
|
+
var countNum = useRef(0);
|
88
|
+
var isPicture = [E_McUploadTriggerType.CIRCLE, E_McUploadTriggerType.SQUARE, E_McUploadTriggerType.RECTANGLE].includes(listType);
|
89
|
+
|
90
|
+
// 校验错误消息
|
91
|
+
var handleVerifyErrorMessage = function handleVerifyErrorMessage(file, errRes) {
|
92
|
+
if (rest !== null && rest !== void 0 && rest.verifyErrorMessage && typeof (rest === null || rest === void 0 ? void 0 : rest.verifyErrorMessage) === 'string') {
|
93
|
+
message.error(rest === null || rest === void 0 ? void 0 : rest.verifyErrorMessage);
|
94
|
+
} else if (rest !== null && rest !== void 0 && rest.verifyErrorMessage && typeof (rest === null || rest === void 0 ? void 0 : rest.verifyErrorMessage) === 'boolean') {
|
95
|
+
var _errRes$errList;
|
96
|
+
message.error((errRes === null || errRes === void 0 || (_errRes$errList = errRes.errList) === null || _errRes$errList === void 0 || (_errRes$errList = _errRes$errList[0]) === null || _errRes$errList === void 0 || (_errRes$errList = _errRes$errList.messages) === null || _errRes$errList === void 0 ? void 0 : _errRes$errList[0]) || "".concat(file.name, "\u6821\u9A8C\u4E0D\u901A\u8FC7"));
|
97
|
+
} else if (rest !== null && rest !== void 0 && rest.verifyErrorMessage && typeof (rest === null || rest === void 0 ? void 0 : rest.verifyErrorMessage) === 'function') {
|
98
|
+
message.error(rest === null || rest === void 0 ? void 0 : rest.verifyErrorMessage(errRes));
|
99
|
+
}
|
100
|
+
};
|
101
|
+
var handleVerfity = /*#__PURE__*/function () {
|
102
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(file) {
|
103
|
+
var res;
|
104
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
105
|
+
while (1) switch (_context2.prev = _context2.next) {
|
106
|
+
case 0:
|
107
|
+
_context2.next = 2;
|
108
|
+
return checkFile(file, (rest === null || rest === void 0 ? void 0 : rest.verifierConfig) || {});
|
109
|
+
case 2:
|
110
|
+
res = _context2.sent;
|
111
|
+
if (!res.isPassed) {
|
112
|
+
handleVerifyErrorMessage(file, res);
|
113
|
+
}
|
114
|
+
return _context2.abrupt("return", !!(res !== null && res !== void 0 && res.isPassed));
|
115
|
+
case 5:
|
116
|
+
case "end":
|
117
|
+
return _context2.stop();
|
118
|
+
}
|
119
|
+
}, _callee2);
|
120
|
+
}));
|
121
|
+
return function handleVerfity(_x) {
|
122
|
+
return _ref2.apply(this, arguments);
|
123
|
+
};
|
124
|
+
}();
|
125
|
+
// 上传前处理
|
126
|
+
var beforeUpload = function beforeUpload(file, fileList) {
|
127
|
+
try {
|
128
|
+
var _rest$fileList2;
|
129
|
+
// 超出范围直接返回false
|
130
|
+
if (rest !== null && rest !== void 0 && rest.maxCount && ((rest === null || rest === void 0 || (_rest$fileList2 = rest.fileList) === null || _rest$fileList2 === void 0 ? void 0 : _rest$fileList2.length) || 0) >= (rest === null || rest === void 0 ? void 0 : rest.maxCount)) {
|
131
|
+
message.error("\u6700\u591A\u4E0A\u4F20".concat(rest === null || rest === void 0 ? void 0 : rest.maxCount, "\u4E2A\u6587\u4EF6"));
|
132
|
+
return false;
|
133
|
+
}
|
134
|
+
var count = fileList.length;
|
135
|
+
countNum.current = countNum.current + 1;
|
136
|
+
if (countNum.current >= count) {
|
137
|
+
countNum.current = 0; // 重置计数
|
138
|
+
// 批量处理的话,需要等待所有文件ID生成完成
|
139
|
+
if (isBatchProcess) {
|
140
|
+
return new Promise(function (resolve) {
|
141
|
+
var _CHECK_QUEUE$current;
|
142
|
+
(_CHECK_QUEUE$current = CHECK_QUEUE.current) === null || _CHECK_QUEUE$current === void 0 || _CHECK_QUEUE$current.addTask({
|
143
|
+
id: file.uid,
|
144
|
+
task: function () {
|
145
|
+
var _task2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
146
|
+
var _rest$beforeUpload, res;
|
147
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
148
|
+
while (1) switch (_context5.prev = _context5.next) {
|
149
|
+
case 0:
|
150
|
+
if (!(rest !== null && rest !== void 0 && rest.beforeUpload)) {
|
151
|
+
_context5.next = 7;
|
152
|
+
break;
|
153
|
+
}
|
154
|
+
_context5.next = 3;
|
155
|
+
return rest === null || rest === void 0 || (_rest$beforeUpload = rest.beforeUpload) === null || _rest$beforeUpload === void 0 ? void 0 : _rest$beforeUpload.call(rest, {
|
156
|
+
fileList: fileList,
|
157
|
+
basicVerifier: function () {
|
158
|
+
var _basicVerifier = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(file) {
|
159
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
160
|
+
while (1) switch (_context3.prev = _context3.next) {
|
161
|
+
case 0:
|
162
|
+
_context3.next = 2;
|
163
|
+
return checkFile(file, (rest === null || rest === void 0 ? void 0 : rest.verifierConfig) || {});
|
164
|
+
case 2:
|
165
|
+
return _context3.abrupt("return", _context3.sent);
|
166
|
+
case 3:
|
167
|
+
case "end":
|
168
|
+
return _context3.stop();
|
169
|
+
}
|
170
|
+
}, _callee3);
|
171
|
+
}));
|
172
|
+
function basicVerifier(_x2) {
|
173
|
+
return _basicVerifier.apply(this, arguments);
|
174
|
+
}
|
175
|
+
return basicVerifier;
|
176
|
+
}(),
|
177
|
+
getMD5: function () {
|
178
|
+
var _getMD = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(file) {
|
179
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
180
|
+
while (1) switch (_context4.prev = _context4.next) {
|
181
|
+
case 0:
|
182
|
+
_context4.next = 2;
|
183
|
+
return batchGetMD5(file);
|
184
|
+
case 2:
|
185
|
+
return _context4.abrupt("return", _context4.sent);
|
186
|
+
case 3:
|
187
|
+
case "end":
|
188
|
+
return _context4.stop();
|
189
|
+
}
|
190
|
+
}, _callee4);
|
191
|
+
}));
|
192
|
+
function getMD5(_x3) {
|
193
|
+
return _getMD.apply(this, arguments);
|
194
|
+
}
|
195
|
+
return getMD5;
|
196
|
+
}(),
|
197
|
+
taskQueue: TASK_QUEUE.current
|
198
|
+
});
|
199
|
+
case 3:
|
200
|
+
res = _context5.sent;
|
201
|
+
resolve(res);
|
202
|
+
//批处理模式不自动调用用户自定义校验
|
203
|
+
_context5.next = 8;
|
204
|
+
break;
|
205
|
+
case 7:
|
206
|
+
// 无校验
|
207
|
+
resolve(true);
|
208
|
+
case 8:
|
209
|
+
case "end":
|
210
|
+
return _context5.stop();
|
211
|
+
}
|
212
|
+
}, _callee5);
|
213
|
+
}));
|
214
|
+
function task() {
|
215
|
+
return _task2.apply(this, arguments);
|
216
|
+
}
|
217
|
+
return task;
|
218
|
+
}()
|
219
|
+
});
|
220
|
+
});
|
221
|
+
}
|
222
|
+
}
|
223
|
+
// 非批量走antd原始逻辑
|
224
|
+
if (!isBatchProcess) {
|
225
|
+
return new Promise(function (resolve) {
|
226
|
+
var _CHECK_QUEUE$current2;
|
227
|
+
(_CHECK_QUEUE$current2 = CHECK_QUEUE.current) === null || _CHECK_QUEUE$current2 === void 0 || _CHECK_QUEUE$current2.addTask({
|
228
|
+
id: file.uid,
|
229
|
+
task: function () {
|
230
|
+
var _task3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
231
|
+
var _rest$beforeUpload2, res, _res;
|
232
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
233
|
+
while (1) switch (_context8.prev = _context8.next) {
|
234
|
+
case 0:
|
235
|
+
if (!(rest !== null && rest !== void 0 && rest.beforeUpload)) {
|
236
|
+
_context8.next = 7;
|
237
|
+
break;
|
238
|
+
}
|
239
|
+
_context8.next = 3;
|
240
|
+
return rest === null || rest === void 0 || (_rest$beforeUpload2 = rest.beforeUpload) === null || _rest$beforeUpload2 === void 0 ? void 0 : _rest$beforeUpload2.call(rest, {
|
241
|
+
file: file,
|
242
|
+
fileList: fileList,
|
243
|
+
basicVerifier: function () {
|
244
|
+
var _basicVerifier2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(file) {
|
245
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
246
|
+
while (1) switch (_context6.prev = _context6.next) {
|
247
|
+
case 0:
|
248
|
+
_context6.next = 2;
|
249
|
+
return checkFile(file, (rest === null || rest === void 0 ? void 0 : rest.verifierConfig) || {});
|
250
|
+
case 2:
|
251
|
+
return _context6.abrupt("return", _context6.sent);
|
252
|
+
case 3:
|
253
|
+
case "end":
|
254
|
+
return _context6.stop();
|
255
|
+
}
|
256
|
+
}, _callee6);
|
257
|
+
}));
|
258
|
+
function basicVerifier(_x4) {
|
259
|
+
return _basicVerifier2.apply(this, arguments);
|
260
|
+
}
|
261
|
+
return basicVerifier;
|
262
|
+
}(),
|
263
|
+
getMD5: function () {
|
264
|
+
var _getMD2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(file) {
|
265
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
266
|
+
while (1) switch (_context7.prev = _context7.next) {
|
267
|
+
case 0:
|
268
|
+
_context7.next = 2;
|
269
|
+
return calculateMD5(file);
|
270
|
+
case 2:
|
271
|
+
return _context7.abrupt("return", _context7.sent);
|
272
|
+
case 3:
|
273
|
+
case "end":
|
274
|
+
return _context7.stop();
|
275
|
+
}
|
276
|
+
}, _callee7);
|
277
|
+
}));
|
278
|
+
function getMD5(_x5) {
|
279
|
+
return _getMD2.apply(this, arguments);
|
280
|
+
}
|
281
|
+
return getMD5;
|
282
|
+
}(),
|
283
|
+
taskQueue: TASK_QUEUE.current
|
284
|
+
});
|
285
|
+
case 3:
|
286
|
+
res = _context8.sent;
|
287
|
+
resolve(res);
|
288
|
+
//用户自定义校验
|
289
|
+
_context8.next = 15;
|
290
|
+
break;
|
291
|
+
case 7:
|
292
|
+
if (!(!!(rest !== null && rest !== void 0 && rest.verifierConfig) && !(rest !== null && rest !== void 0 && rest.beforeUpload))) {
|
293
|
+
_context8.next = 14;
|
294
|
+
break;
|
295
|
+
}
|
296
|
+
_context8.next = 10;
|
297
|
+
return handleVerfity(file);
|
298
|
+
case 10:
|
299
|
+
_res = _context8.sent;
|
300
|
+
resolve(_res);
|
301
|
+
_context8.next = 15;
|
302
|
+
break;
|
303
|
+
case 14:
|
304
|
+
// 无校验
|
305
|
+
resolve(true);
|
306
|
+
case 15:
|
307
|
+
case "end":
|
308
|
+
return _context8.stop();
|
309
|
+
}
|
310
|
+
}, _callee8);
|
311
|
+
}));
|
312
|
+
function task() {
|
313
|
+
return _task3.apply(this, arguments);
|
314
|
+
}
|
315
|
+
return task;
|
316
|
+
}()
|
317
|
+
});
|
318
|
+
});
|
319
|
+
}
|
320
|
+
} catch (error) {
|
321
|
+
countNum.current = 0; // 重置计数
|
322
|
+
return false;
|
323
|
+
}
|
324
|
+
};
|
325
|
+
|
326
|
+
// 自定义上传
|
327
|
+
var customRequest = function customRequest(options) {
|
328
|
+
var _rest$customRequest;
|
329
|
+
rest === null || rest === void 0 || (_rest$customRequest = rest.customRequest) === null || _rest$customRequest === void 0 || _rest$customRequest.call(rest, options, TASK_QUEUE.current);
|
330
|
+
};
|
331
|
+
|
332
|
+
// 自定义渲染项
|
333
|
+
var customItemRender = function customItemRender(originNode, file, fileList, actions) {
|
334
|
+
var _file$status = file.status,
|
335
|
+
status = _file$status === void 0 ? 'done' : _file$status,
|
336
|
+
name = file.name,
|
337
|
+
percent = file.percent,
|
338
|
+
url = file.url,
|
339
|
+
thumbUrl = file.thumbUrl;
|
340
|
+
var tempTrigger = isPicture ? /*#__PURE__*/_jsx(McUploadTriggerPicture, {
|
341
|
+
status: status,
|
342
|
+
percent: percent,
|
343
|
+
type: listType,
|
344
|
+
url: thumbUrl || url,
|
345
|
+
onDelete: actions.remove
|
346
|
+
}) : /*#__PURE__*/_jsx(McUploadTriggerButton, {
|
347
|
+
status: status,
|
348
|
+
fileName: name,
|
349
|
+
percent: percent,
|
350
|
+
onDelete: actions.remove
|
351
|
+
});
|
352
|
+
if (itemRender) {
|
353
|
+
return itemRender === null || itemRender === void 0 ? void 0 : itemRender(tempTrigger, file, fileList, actions);
|
354
|
+
} else {
|
355
|
+
return tempTrigger;
|
356
|
+
}
|
357
|
+
};
|
358
|
+
useEffect(function () {
|
359
|
+
if (rest !== null && rest !== void 0 && rest.taskQueueRef) {
|
360
|
+
rest.taskQueueRef.current = TASK_QUEUE.current;
|
361
|
+
}
|
362
|
+
if (rest !== null && rest !== void 0 && rest.uploadRef) {
|
363
|
+
rest.uploadRef.current = _objectSpread(_objectSpread({}, uploadRef.current || {}), {}, {
|
364
|
+
open: function open() {
|
365
|
+
var _uploadRef$current, _uploadRef$current$cl;
|
366
|
+
(_uploadRef$current = uploadRef.current) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.nativeElement) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.querySelector('input[type="file"]')) === null || _uploadRef$current === void 0 || (_uploadRef$current$cl = _uploadRef$current.click) === null || _uploadRef$current$cl === void 0 || _uploadRef$current$cl.call(_uploadRef$current);
|
367
|
+
}
|
368
|
+
});
|
369
|
+
}
|
370
|
+
}, []);
|
371
|
+
return /*#__PURE__*/_jsxs("div", {
|
372
|
+
style: {
|
373
|
+
width: '100%'
|
374
|
+
},
|
375
|
+
children: [/*#__PURE__*/_jsx(Upload, _objectSpread(_objectSpread({}, rest), {}, {
|
376
|
+
listType: isPicture ? 'picture-card' : 'text',
|
377
|
+
beforeUpload: beforeUpload,
|
378
|
+
customRequest: !(rest !== null && rest !== void 0 && rest.customRequest) ? undefined : customRequest,
|
379
|
+
ref: uploadRef,
|
380
|
+
itemRender: customItemRender,
|
381
|
+
rootClassName: classNames('mc-upload-cmp', isRectangle ? 'mc-upload-cmp__rectangle' : '', (rest === null || rest === void 0 ? void 0 : rest.rootClassName) || '', isMax ? 'mc-upload-cmp__max' : ''),
|
382
|
+
children: isMax ? /*#__PURE__*/_jsx(_Fragment, {}) : !listType ? rest === null || rest === void 0 ? void 0 : rest.children : isPicture ? /*#__PURE__*/_jsx(McUploadTriggerPicture, {
|
383
|
+
disabled: rest === null || rest === void 0 ? void 0 : rest.disabled,
|
384
|
+
type: listType,
|
385
|
+
status: E_McUploadTriggerStatus.DEFAULT
|
386
|
+
}) : /*#__PURE__*/_jsx(McUploadTriggerButton, {
|
387
|
+
disabled: rest === null || rest === void 0 ? void 0 : rest.disabled,
|
388
|
+
status: E_McUploadTriggerStatus.DEFAULT
|
389
|
+
})
|
390
|
+
})), !!(rest !== null && rest !== void 0 && rest.placeholder) && /*#__PURE__*/_jsx("div", {
|
391
|
+
className: 'mc-upload-cmp__placeholder',
|
392
|
+
children: rest === null || rest === void 0 ? void 0 : rest.placeholder
|
393
|
+
})]
|
394
|
+
});
|
395
|
+
};
|
396
|
+
export default McUploadCmp;
|
@@ -0,0 +1,68 @@
|
|
1
|
+
.mc-upload-cmp {
|
2
|
+
width: 100%;
|
3
|
+
|
4
|
+
:global {
|
5
|
+
.ant-upload-select {
|
6
|
+
border: none !important;
|
7
|
+
|
8
|
+
> .ant-upload {
|
9
|
+
align-items: flex-start !important;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
.ant-upload-select {
|
15
|
+
border: none !important;
|
16
|
+
|
17
|
+
> .ant-upload {
|
18
|
+
align-items: flex-start !important;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
.mc-upload-cmp__rectangle {
|
24
|
+
:global {
|
25
|
+
.ant-upload-select,
|
26
|
+
.ant-upload-list-item-container {
|
27
|
+
width: 90px !important;
|
28
|
+
height: 120px !important;
|
29
|
+
}
|
30
|
+
|
31
|
+
.ant-upload-select {
|
32
|
+
> .ant-upload {
|
33
|
+
width: 90px !important;
|
34
|
+
height: 120px !important;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
.ant-upload-select,
|
40
|
+
.ant-upload-list-item-container {
|
41
|
+
width: 90px !important;
|
42
|
+
height: 120px !important;
|
43
|
+
}
|
44
|
+
|
45
|
+
.ant-upload-select {
|
46
|
+
> .ant-upload {
|
47
|
+
width: 90px !important;
|
48
|
+
height: 120px !important;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
.mc-upload-cmp__max {
|
54
|
+
:global {
|
55
|
+
.ant-upload.ant-upload-select {
|
56
|
+
display: none !important;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
.ant-upload.ant-upload-select {
|
61
|
+
display: none !important;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
.mc-upload-cmp__placeholder {
|
66
|
+
margin-top: 5px;
|
67
|
+
color: #ccc;
|
68
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { RcFile } from 'antd/es/upload';
|
2
|
+
import { MutableRefObject } from 'react';
|
3
|
+
import { DropzoneProps, DropzoneState } from 'react-dropzone';
|
4
|
+
import { TaskQueue } from '../../../Utils';
|
5
|
+
import { FileCheckedResult, VerifyConfig } from '../../tools/materialVerification';
|
6
|
+
export type Omit<T, Keys extends keyof T> = {
|
7
|
+
[P in keyof T as Exclude<P, Keys>]: T[P];
|
8
|
+
};
|
9
|
+
export type ExtractReturnTypeIfFunction<T> = T extends (...args: any[]) => infer R ? R : never;
|
10
|
+
export type UploadOptions = {
|
11
|
+
file: McUploadFile;
|
12
|
+
fileList: McUploadFile[];
|
13
|
+
basicVerifier: (file: RcFile) => Promise<FileCheckedResult>;
|
14
|
+
getMD5: (file: RcFile) => Promise<string>;
|
15
|
+
taskQueue: TaskQueue;
|
16
|
+
};
|
17
|
+
export type BeforeUpload = (params: UploadOptions) => void;
|
18
|
+
type BatchProcessBeforeUploadParams = {
|
19
|
+
fileList: McUploadFile[];
|
20
|
+
basicVerifier: (file: RcFile) => Promise<FileCheckedResult>;
|
21
|
+
getMD5: (file: RcFile) => Promise<string>;
|
22
|
+
taskQueue: TaskQueue;
|
23
|
+
};
|
24
|
+
export type BatchProcessBeforeUpload = (params: BatchProcessBeforeUploadParams) => void;
|
25
|
+
export type BeforeUploadProps = {
|
26
|
+
batchProcess: true;
|
27
|
+
uploadFile?: BatchProcessBeforeUpload;
|
28
|
+
} | {
|
29
|
+
batchProcess?: false;
|
30
|
+
uploadFile?: BeforeUpload;
|
31
|
+
};
|
32
|
+
export type ExtractNonUndefined<T> = T extends undefined ? never : T;
|
33
|
+
export type McUploadFile = RcFile & {
|
34
|
+
path: string;
|
35
|
+
relativePath: string;
|
36
|
+
uid: string;
|
37
|
+
};
|
38
|
+
type McUploadDraggerProps = DropzoneProps & {
|
39
|
+
maxTaskCounts?: number;
|
40
|
+
batchProcess?: boolean;
|
41
|
+
taskQueueRef?: MutableRefObject<TaskQueue | undefined>;
|
42
|
+
verifierConfig?: VerifyConfig;
|
43
|
+
} & BeforeUploadProps;
|
44
|
+
export type McUploadDraggerRef = {
|
45
|
+
open: () => void;
|
46
|
+
control: DropzoneState;
|
47
|
+
};
|
48
|
+
declare const McUploadDragger: import("react").ForwardRefExoticComponent<McUploadDraggerProps & import("react").RefAttributes<unknown>>;
|
49
|
+
export default McUploadDragger;
|