@nutui/nutui-react 2.0.19-beta.1 → 2.0.19
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/CHANGELOG.md +14 -0
- package/dist/esm/Button.js +84 -5
- package/dist/esm/Uploader.js +191 -191
- package/dist/esm/types/src/packages/uploader/demo.taro.d.ts +0 -15
- package/dist/esm/types/src/packages/uploader/file-item.d.ts +19 -0
- package/dist/esm/types/src/packages/uploader/index.d.ts +2 -1
- package/dist/esm/types/src/packages/uploader/index.taro.d.ts +2 -1
- package/dist/esm/types/src/packages/uploader/preview.d.ts +2 -0
- package/dist/esm/types/src/packages/uploader/preview.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/uploader/upload.d.ts +3 -0
- package/dist/esm/types/src/packages/uploader/uploader.d.ts +5 -23
- package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +10 -26
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/tr-TR.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/locales/zh-UG.js +1 -1
- package/dist/nutui.react.es.js +257 -254
- package/dist/nutui.react.umd.js +257 -254
- package/dist/style.mjs +1 -1
- package/dist/types/packages/uploader/file-item.d.ts +19 -0
- package/dist/types/packages/uploader/index.d.ts +2 -1
- package/dist/types/packages/uploader/preview.d.ts +2 -0
- package/dist/types/packages/uploader/upload.d.ts +3 -0
- package/dist/types/packages/uploader/uploader.d.ts +5 -23
- package/package.json +1 -1
- package/dist/esm/button2.js +0 -87
package/dist/nutui.react.es.js
CHANGED
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
var _a;
|
|
8
8
|
/*!
|
|
9
|
-
* @nutui/nutui-react v2.0.19
|
|
9
|
+
* @nutui/nutui-react v2.0.19 Wed Sep 27 2023 18:11:25 GMT+0800 (China Standard Time)
|
|
10
10
|
* (c) 2023 @jdf2e.
|
|
11
11
|
* Released under the MIT License.
|
|
12
12
|
*/
|
|
@@ -18986,6 +18986,99 @@ const TextArea = (props) => {
|
|
|
18986
18986
|
};
|
|
18987
18987
|
TextArea.defaultProps = defaultProps$H;
|
|
18988
18988
|
TextArea.displayName = "NutTextArea";
|
|
18989
|
+
class UploadOptions {
|
|
18990
|
+
constructor() {
|
|
18991
|
+
__publicField(this, "url", "");
|
|
18992
|
+
__publicField(this, "name", "file");
|
|
18993
|
+
__publicField(this, "fileType", "image");
|
|
18994
|
+
__publicField(this, "formData");
|
|
18995
|
+
__publicField(this, "sourceFile");
|
|
18996
|
+
__publicField(this, "method", "post");
|
|
18997
|
+
__publicField(this, "xhrState", 200);
|
|
18998
|
+
__publicField(this, "timeout", 30 * 1e3);
|
|
18999
|
+
__publicField(this, "headers", {});
|
|
19000
|
+
__publicField(this, "withCredentials", false);
|
|
19001
|
+
__publicField(this, "onStart");
|
|
19002
|
+
__publicField(this, "taroFilePath");
|
|
19003
|
+
__publicField(this, "onProgress");
|
|
19004
|
+
__publicField(this, "onSuccess");
|
|
19005
|
+
__publicField(this, "onFailure");
|
|
19006
|
+
__publicField(this, "beforeXhrUpload");
|
|
19007
|
+
}
|
|
19008
|
+
}
|
|
19009
|
+
const UPLOADING = "uploading";
|
|
19010
|
+
const SUCCESS = "success";
|
|
19011
|
+
const ERROR = "error";
|
|
19012
|
+
class Upload {
|
|
19013
|
+
constructor(options2) {
|
|
19014
|
+
__publicField(this, "options");
|
|
19015
|
+
this.options = options2;
|
|
19016
|
+
}
|
|
19017
|
+
upload() {
|
|
19018
|
+
var _a2;
|
|
19019
|
+
const { options: options2 } = this;
|
|
19020
|
+
const xhr = new XMLHttpRequest();
|
|
19021
|
+
xhr.timeout = options2.timeout;
|
|
19022
|
+
if (xhr.upload) {
|
|
19023
|
+
xhr.upload.addEventListener(
|
|
19024
|
+
"progress",
|
|
19025
|
+
(e) => {
|
|
19026
|
+
var _a3;
|
|
19027
|
+
(_a3 = options2.onProgress) == null ? void 0 : _a3.call(options2, e, options2);
|
|
19028
|
+
},
|
|
19029
|
+
false
|
|
19030
|
+
);
|
|
19031
|
+
xhr.onreadystatechange = () => {
|
|
19032
|
+
var _a3, _b;
|
|
19033
|
+
if (xhr.readyState === 4) {
|
|
19034
|
+
if (xhr.status === options2.xhrState) {
|
|
19035
|
+
(_a3 = options2.onSuccess) == null ? void 0 : _a3.call(options2, xhr.responseText, options2);
|
|
19036
|
+
} else {
|
|
19037
|
+
(_b = options2.onFailure) == null ? void 0 : _b.call(options2, xhr.responseText, options2);
|
|
19038
|
+
}
|
|
19039
|
+
}
|
|
19040
|
+
};
|
|
19041
|
+
xhr.withCredentials = options2.withCredentials;
|
|
19042
|
+
xhr.open(options2.method, options2.url, true);
|
|
19043
|
+
for (const [key, value] of Object.entries(options2.headers)) {
|
|
19044
|
+
xhr.setRequestHeader(key, value);
|
|
19045
|
+
}
|
|
19046
|
+
(_a2 = options2.onStart) == null ? void 0 : _a2.call(options2, options2);
|
|
19047
|
+
if (options2.beforeXhrUpload) {
|
|
19048
|
+
options2.beforeXhrUpload(xhr, options2);
|
|
19049
|
+
} else {
|
|
19050
|
+
xhr.send(options2.formData);
|
|
19051
|
+
}
|
|
19052
|
+
} else {
|
|
19053
|
+
console.warn("浏览器不支持 XMLHttpRequest");
|
|
19054
|
+
}
|
|
19055
|
+
}
|
|
19056
|
+
}
|
|
19057
|
+
const funcInterceptor = (interceptor, {
|
|
19058
|
+
args = [],
|
|
19059
|
+
done,
|
|
19060
|
+
canceled
|
|
19061
|
+
}) => {
|
|
19062
|
+
if (interceptor) {
|
|
19063
|
+
const returnVal = interceptor.apply(null, args);
|
|
19064
|
+
if (isPromise(returnVal)) {
|
|
19065
|
+
returnVal.then((value) => {
|
|
19066
|
+
if (value) {
|
|
19067
|
+
done(value);
|
|
19068
|
+
} else if (canceled) {
|
|
19069
|
+
canceled();
|
|
19070
|
+
}
|
|
19071
|
+
}).catch(() => {
|
|
19072
|
+
});
|
|
19073
|
+
} else if (returnVal) {
|
|
19074
|
+
done();
|
|
19075
|
+
} else if (canceled) {
|
|
19076
|
+
canceled();
|
|
19077
|
+
}
|
|
19078
|
+
} else {
|
|
19079
|
+
done();
|
|
19080
|
+
}
|
|
19081
|
+
};
|
|
18989
19082
|
const defaultProps$G = {
|
|
18990
19083
|
...ComponentDefaults,
|
|
18991
19084
|
percent: 0,
|
|
@@ -19106,96 +19199,105 @@ const Progress = (props) => {
|
|
|
19106
19199
|
};
|
|
19107
19200
|
Progress.defaultProps = defaultProps$G;
|
|
19108
19201
|
Progress.displayName = "NutProgress";
|
|
19109
|
-
|
|
19110
|
-
|
|
19111
|
-
|
|
19112
|
-
|
|
19113
|
-
|
|
19114
|
-
|
|
19115
|
-
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19119
|
-
|
|
19120
|
-
|
|
19121
|
-
|
|
19122
|
-
|
|
19123
|
-
|
|
19124
|
-
|
|
19125
|
-
__publicField(this, "onFailure");
|
|
19126
|
-
__publicField(this, "beforeXhrUpload");
|
|
19127
|
-
}
|
|
19128
|
-
}
|
|
19129
|
-
class Upload {
|
|
19130
|
-
constructor(options2) {
|
|
19131
|
-
__publicField(this, "options");
|
|
19132
|
-
this.options = options2;
|
|
19133
|
-
}
|
|
19134
|
-
upload() {
|
|
19202
|
+
const Preview = ({
|
|
19203
|
+
fileList,
|
|
19204
|
+
previewType,
|
|
19205
|
+
deletable,
|
|
19206
|
+
onDeleteItem,
|
|
19207
|
+
handleItemClick,
|
|
19208
|
+
previewUrl,
|
|
19209
|
+
children
|
|
19210
|
+
}) => {
|
|
19211
|
+
const renderIcon = (item) => {
|
|
19212
|
+
if (item.status === ERROR) {
|
|
19213
|
+
return item.failIcon || /* @__PURE__ */ React__default.createElement(x$9, { color: "#fff" });
|
|
19214
|
+
}
|
|
19215
|
+
return item.loadingIcon || /* @__PURE__ */ React__default.createElement(k$3, { className: "nut-icon-loading", color: "#fff" });
|
|
19216
|
+
};
|
|
19217
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, fileList.length !== 0 && fileList.map((item, index) => {
|
|
19135
19218
|
var _a2;
|
|
19136
|
-
|
|
19137
|
-
|
|
19138
|
-
|
|
19139
|
-
|
|
19140
|
-
|
|
19141
|
-
|
|
19142
|
-
|
|
19143
|
-
|
|
19144
|
-
|
|
19219
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
19220
|
+
"div",
|
|
19221
|
+
{
|
|
19222
|
+
className: `nut-uploader__preview ${previewType}`,
|
|
19223
|
+
key: item.uid
|
|
19224
|
+
},
|
|
19225
|
+
previewType === "picture" && deletable && /* @__PURE__ */ React__default.createElement(
|
|
19226
|
+
x$9,
|
|
19227
|
+
{
|
|
19228
|
+
color: "rgba(0,0,0,0.6)",
|
|
19229
|
+
className: "close",
|
|
19230
|
+
onClick: () => onDeleteItem(item, index)
|
|
19231
|
+
}
|
|
19232
|
+
),
|
|
19233
|
+
previewType === "picture" && !children && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-img" }, item.status === "ready" ? /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress" }, /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress__msg" }, item.message)) : item.status !== "success" && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress" }, renderIcon(item), /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress__msg" }, item.message)), ((_a2 = item.type) == null ? void 0 : _a2.includes("image")) ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, item.url && /* @__PURE__ */ React__default.createElement(
|
|
19234
|
+
"img",
|
|
19235
|
+
{
|
|
19236
|
+
className: "nut-uploader__preview-img__c",
|
|
19237
|
+
style: { objectFit: "fill" },
|
|
19238
|
+
src: item.url,
|
|
19239
|
+
alt: "",
|
|
19240
|
+
onClick: () => handleItemClick(item)
|
|
19241
|
+
}
|
|
19242
|
+
)) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, previewUrl ? /* @__PURE__ */ React__default.createElement(
|
|
19243
|
+
"img",
|
|
19244
|
+
{
|
|
19245
|
+
className: "nut-uploader__preview-img__c",
|
|
19246
|
+
src: previewUrl,
|
|
19247
|
+
alt: "",
|
|
19248
|
+
onClick: () => handleItemClick(item)
|
|
19249
|
+
}
|
|
19250
|
+
) : /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-img__file" }, /* @__PURE__ */ React__default.createElement(
|
|
19251
|
+
"div",
|
|
19252
|
+
{
|
|
19253
|
+
onClick: () => handleItemClick(item),
|
|
19254
|
+
className: "nut-uploader__preview-img__file__name"
|
|
19145
19255
|
},
|
|
19146
|
-
|
|
19147
|
-
|
|
19148
|
-
|
|
19149
|
-
|
|
19150
|
-
|
|
19151
|
-
|
|
19152
|
-
|
|
19153
|
-
|
|
19154
|
-
|
|
19155
|
-
|
|
19256
|
+
/* @__PURE__ */ React__default.createElement(x$6, { color: "#808080" }),
|
|
19257
|
+
/* @__PURE__ */ React__default.createElement("span", null, " ", item.name)
|
|
19258
|
+
))), item.status === "success" ? /* @__PURE__ */ React__default.createElement("div", { className: "tips" }, item.name) : null),
|
|
19259
|
+
previewType === "list" && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-list" }, /* @__PURE__ */ React__default.createElement(
|
|
19260
|
+
"div",
|
|
19261
|
+
{
|
|
19262
|
+
className: `nut-uploader__preview-img__file__name ${item.status}`,
|
|
19263
|
+
onClick: () => handleItemClick(item)
|
|
19264
|
+
},
|
|
19265
|
+
/* @__PURE__ */ React__default.createElement(x$6, null),
|
|
19266
|
+
/* @__PURE__ */ React__default.createElement("span", null, " ", item.name)
|
|
19267
|
+
), deletable && /* @__PURE__ */ React__default.createElement(
|
|
19268
|
+
y$8,
|
|
19269
|
+
{
|
|
19270
|
+
color: "#808080",
|
|
19271
|
+
className: "nut-uploader__preview-img__file__del",
|
|
19272
|
+
onClick: () => onDeleteItem(item, index)
|
|
19156
19273
|
}
|
|
19157
|
-
|
|
19158
|
-
|
|
19159
|
-
|
|
19160
|
-
|
|
19161
|
-
|
|
19162
|
-
|
|
19163
|
-
(_a2 = options2.onStart) == null ? void 0 : _a2.call(options2, options2);
|
|
19164
|
-
if (options2.beforeXhrUpload) {
|
|
19165
|
-
options2.beforeXhrUpload(xhr, options2);
|
|
19166
|
-
} else {
|
|
19167
|
-
xhr.send(options2.formData);
|
|
19168
|
-
}
|
|
19169
|
-
} else {
|
|
19170
|
-
console.warn("浏览器不支持 XMLHttpRequest");
|
|
19171
|
-
}
|
|
19172
|
-
}
|
|
19173
|
-
}
|
|
19174
|
-
const funcInterceptor = (interceptor, {
|
|
19175
|
-
args = [],
|
|
19176
|
-
done,
|
|
19177
|
-
canceled
|
|
19178
|
-
}) => {
|
|
19179
|
-
if (interceptor) {
|
|
19180
|
-
const returnVal = interceptor.apply(null, args);
|
|
19181
|
-
if (isPromise(returnVal)) {
|
|
19182
|
-
returnVal.then((value) => {
|
|
19183
|
-
if (value) {
|
|
19184
|
-
done(value);
|
|
19185
|
-
} else if (canceled) {
|
|
19186
|
-
canceled();
|
|
19274
|
+
), item.status === "uploading" && /* @__PURE__ */ React__default.createElement(
|
|
19275
|
+
Progress,
|
|
19276
|
+
{
|
|
19277
|
+
percent: item.percentage,
|
|
19278
|
+
color: "linear-gradient(270deg, rgba(18,126,255,1) 0%,rgba(32,147,255,1) 32.815625%,rgba(13,242,204,1) 100%)",
|
|
19279
|
+
showText: false
|
|
19187
19280
|
}
|
|
19188
|
-
|
|
19189
|
-
|
|
19190
|
-
|
|
19191
|
-
done();
|
|
19192
|
-
} else if (canceled) {
|
|
19193
|
-
canceled();
|
|
19194
|
-
}
|
|
19195
|
-
} else {
|
|
19196
|
-
done();
|
|
19197
|
-
}
|
|
19281
|
+
))
|
|
19282
|
+
);
|
|
19283
|
+
}));
|
|
19198
19284
|
};
|
|
19285
|
+
class FileItem {
|
|
19286
|
+
constructor() {
|
|
19287
|
+
__publicField(this, "status", "ready");
|
|
19288
|
+
__publicField(this, "message", "准备中..");
|
|
19289
|
+
__publicField(this, "uid", (/* @__PURE__ */ new Date()).getTime().toString());
|
|
19290
|
+
__publicField(this, "name");
|
|
19291
|
+
__publicField(this, "url");
|
|
19292
|
+
__publicField(this, "type");
|
|
19293
|
+
__publicField(this, "path");
|
|
19294
|
+
__publicField(this, "percentage", 0);
|
|
19295
|
+
__publicField(this, "formData", {});
|
|
19296
|
+
__publicField(this, "responseText");
|
|
19297
|
+
__publicField(this, "loadingIcon");
|
|
19298
|
+
__publicField(this, "failIcon");
|
|
19299
|
+
}
|
|
19300
|
+
}
|
|
19199
19301
|
const defaultProps$F = {
|
|
19200
19302
|
...ComponentDefaults,
|
|
19201
19303
|
url: "",
|
|
@@ -19218,24 +19320,11 @@ const defaultProps$F = {
|
|
|
19218
19320
|
preview: true,
|
|
19219
19321
|
deletable: true,
|
|
19220
19322
|
capture: false,
|
|
19323
|
+
uploadIcon: /* @__PURE__ */ React__default.createElement(x$3, { width: "20px", height: "20px", color: "#808080" }),
|
|
19221
19324
|
beforeDelete: (file, files) => {
|
|
19222
19325
|
return true;
|
|
19223
19326
|
}
|
|
19224
19327
|
};
|
|
19225
|
-
class FileItem {
|
|
19226
|
-
constructor() {
|
|
19227
|
-
__publicField(this, "status", "ready");
|
|
19228
|
-
__publicField(this, "message", "准备中..");
|
|
19229
|
-
__publicField(this, "uid", (/* @__PURE__ */ new Date()).getTime().toString());
|
|
19230
|
-
__publicField(this, "name");
|
|
19231
|
-
__publicField(this, "url");
|
|
19232
|
-
__publicField(this, "type");
|
|
19233
|
-
__publicField(this, "path");
|
|
19234
|
-
__publicField(this, "percentage", 0);
|
|
19235
|
-
__publicField(this, "formData", new FormData());
|
|
19236
|
-
__publicField(this, "responseText");
|
|
19237
|
-
}
|
|
19238
|
-
}
|
|
19239
19328
|
const InternalUploader = (props, ref) => {
|
|
19240
19329
|
const { locale } = useConfig();
|
|
19241
19330
|
const {
|
|
@@ -19280,13 +19369,15 @@ const InternalUploader = (props, ref) => {
|
|
|
19280
19369
|
beforeDelete,
|
|
19281
19370
|
...restProps
|
|
19282
19371
|
} = { ...defaultProps$F, ...props };
|
|
19283
|
-
const [fileList, setFileList] =
|
|
19284
|
-
|
|
19285
|
-
|
|
19286
|
-
|
|
19287
|
-
|
|
19372
|
+
const [fileList, setFileList] = usePropsValue({
|
|
19373
|
+
value,
|
|
19374
|
+
defaultValue,
|
|
19375
|
+
finalValue: [],
|
|
19376
|
+
onChange: (v) => {
|
|
19377
|
+
onChange == null ? void 0 : onChange(v);
|
|
19288
19378
|
}
|
|
19289
|
-
}
|
|
19379
|
+
});
|
|
19380
|
+
const [uploadQueue, setUploadQueue] = useState([]);
|
|
19290
19381
|
const classes = classNames(className, "nut-uploader");
|
|
19291
19382
|
useImperativeHandle(ref, () => ({
|
|
19292
19383
|
submit: () => {
|
|
@@ -19312,10 +19403,11 @@ const InternalUploader = (props, ref) => {
|
|
|
19312
19403
|
el.value = "";
|
|
19313
19404
|
};
|
|
19314
19405
|
const executeUpload = (fileItem, index) => {
|
|
19406
|
+
var _a2, _b;
|
|
19315
19407
|
const uploadOption = new UploadOptions();
|
|
19316
19408
|
uploadOption.url = url2;
|
|
19317
19409
|
for (const [key, value2] of Object.entries(data)) {
|
|
19318
|
-
fileItem.formData.append(key, value2);
|
|
19410
|
+
(_a2 = fileItem.formData) == null ? void 0 : _a2.append(key, value2);
|
|
19319
19411
|
}
|
|
19320
19412
|
uploadOption.formData = fileItem.formData;
|
|
19321
19413
|
uploadOption.timeout = timeout2 * 1;
|
|
@@ -19325,73 +19417,67 @@ const InternalUploader = (props, ref) => {
|
|
|
19325
19417
|
uploadOption.withCredentials = withCredentials;
|
|
19326
19418
|
uploadOption.beforeXhrUpload = beforeXhrUpload;
|
|
19327
19419
|
try {
|
|
19328
|
-
uploadOption.sourceFile = fileItem.formData.get(name);
|
|
19420
|
+
uploadOption.sourceFile = (_b = fileItem.formData) == null ? void 0 : _b.get(name);
|
|
19329
19421
|
} catch (error) {
|
|
19330
19422
|
console.warn(error);
|
|
19331
19423
|
}
|
|
19332
19424
|
uploadOption.onStart = (option) => {
|
|
19333
19425
|
clearUploadQueue(index);
|
|
19334
|
-
setFileList(
|
|
19335
|
-
|
|
19426
|
+
setFileList(
|
|
19427
|
+
fileList.map((item) => {
|
|
19336
19428
|
if (item.uid === fileItem.uid) {
|
|
19337
19429
|
item.status = "ready";
|
|
19338
19430
|
item.message = locale.uploader.readyUpload;
|
|
19339
19431
|
}
|
|
19340
19432
|
return item;
|
|
19341
|
-
})
|
|
19342
|
-
|
|
19343
|
-
});
|
|
19433
|
+
})
|
|
19434
|
+
);
|
|
19344
19435
|
onStart && onStart(option);
|
|
19345
19436
|
};
|
|
19346
19437
|
uploadOption.onProgress = (e, option) => {
|
|
19347
|
-
setFileList(
|
|
19348
|
-
|
|
19438
|
+
setFileList(
|
|
19439
|
+
fileList.map((item) => {
|
|
19349
19440
|
if (item.uid === fileItem.uid) {
|
|
19350
|
-
item.status =
|
|
19441
|
+
item.status = UPLOADING;
|
|
19351
19442
|
item.message = locale.uploader.uploading;
|
|
19352
19443
|
item.percentage = (e.loaded / e.total * 100).toFixed(0);
|
|
19353
19444
|
onProgress && onProgress({ e, option, percentage: item.percentage });
|
|
19354
19445
|
}
|
|
19355
19446
|
return item;
|
|
19356
|
-
})
|
|
19357
|
-
|
|
19358
|
-
});
|
|
19447
|
+
})
|
|
19448
|
+
);
|
|
19359
19449
|
};
|
|
19360
19450
|
uploadOption.onSuccess = (responseText, option) => {
|
|
19361
|
-
|
|
19362
|
-
|
|
19363
|
-
|
|
19364
|
-
|
|
19365
|
-
|
|
19366
|
-
|
|
19367
|
-
|
|
19368
|
-
}
|
|
19369
|
-
return item;
|
|
19370
|
-
});
|
|
19371
|
-
return [...fileList2];
|
|
19451
|
+
const list = fileList.map((item) => {
|
|
19452
|
+
if (item.uid === fileItem.uid) {
|
|
19453
|
+
item.status = SUCCESS;
|
|
19454
|
+
item.message = locale.uploader.success;
|
|
19455
|
+
item.responseText = responseText;
|
|
19456
|
+
}
|
|
19457
|
+
return item;
|
|
19372
19458
|
});
|
|
19373
|
-
|
|
19459
|
+
setFileList(list);
|
|
19460
|
+
onUpdate == null ? void 0 : onUpdate(list);
|
|
19461
|
+
onSuccess == null ? void 0 : onSuccess({
|
|
19374
19462
|
responseText,
|
|
19375
19463
|
option,
|
|
19376
|
-
fileList
|
|
19464
|
+
fileList: list
|
|
19377
19465
|
});
|
|
19378
19466
|
};
|
|
19379
19467
|
uploadOption.onFailure = (responseText, option) => {
|
|
19380
|
-
|
|
19381
|
-
|
|
19382
|
-
|
|
19383
|
-
|
|
19384
|
-
|
|
19385
|
-
|
|
19386
|
-
|
|
19387
|
-
return item;
|
|
19388
|
-
});
|
|
19389
|
-
return [...fileList2];
|
|
19468
|
+
const list = fileList.map((item) => {
|
|
19469
|
+
if (item.uid === fileItem.uid) {
|
|
19470
|
+
item.status = ERROR;
|
|
19471
|
+
item.message = locale.uploader.error;
|
|
19472
|
+
item.responseText = responseText;
|
|
19473
|
+
}
|
|
19474
|
+
return item;
|
|
19390
19475
|
});
|
|
19391
|
-
|
|
19476
|
+
setFileList(list);
|
|
19477
|
+
onFailure == null ? void 0 : onFailure({
|
|
19392
19478
|
responseText,
|
|
19393
19479
|
option,
|
|
19394
|
-
fileList
|
|
19480
|
+
fileList: list
|
|
19395
19481
|
});
|
|
19396
19482
|
};
|
|
19397
19483
|
const task = new Upload(uploadOption);
|
|
@@ -19416,11 +19502,7 @@ const InternalUploader = (props, ref) => {
|
|
|
19416
19502
|
fileItem.type = file.type;
|
|
19417
19503
|
fileItem.formData = formData;
|
|
19418
19504
|
fileItem.uid = file.lastModified + fileItem.uid;
|
|
19419
|
-
|
|
19420
|
-
fileItem.message = locale.uploader.readyUpload;
|
|
19421
|
-
} else {
|
|
19422
|
-
fileItem.message = locale.uploader.waitingUpload;
|
|
19423
|
-
}
|
|
19505
|
+
fileItem.message = autoUpload ? locale.uploader.readyUpload : locale.uploader.waitingUpload;
|
|
19424
19506
|
executeUpload(fileItem, index);
|
|
19425
19507
|
if (preview && file.type.includes("image")) {
|
|
19426
19508
|
const reader = new FileReader();
|
|
@@ -19431,8 +19513,7 @@ const InternalUploader = (props, ref) => {
|
|
|
19431
19513
|
};
|
|
19432
19514
|
reader.readAsDataURL(file);
|
|
19433
19515
|
} else {
|
|
19434
|
-
fileList
|
|
19435
|
-
setFileList([...fileList]);
|
|
19516
|
+
setFileList([...fileList, fileItem]);
|
|
19436
19517
|
}
|
|
19437
19518
|
});
|
|
19438
19519
|
};
|
|
@@ -19459,9 +19540,9 @@ const InternalUploader = (props, ref) => {
|
|
|
19459
19540
|
return filterFile;
|
|
19460
19541
|
};
|
|
19461
19542
|
const deleted = (file, index) => {
|
|
19462
|
-
fileList.
|
|
19463
|
-
onDelete
|
|
19464
|
-
setFileList(
|
|
19543
|
+
const deletedFileList = fileList.filter((file2, idx) => idx !== index);
|
|
19544
|
+
onDelete == null ? void 0 : onDelete(file, deletedFileList);
|
|
19545
|
+
setFileList(deletedFileList);
|
|
19465
19546
|
};
|
|
19466
19547
|
const onDeleteItem = (file, index) => {
|
|
19467
19548
|
clearUploadQueue(index);
|
|
@@ -19487,131 +19568,53 @@ const InternalUploader = (props, ref) => {
|
|
|
19487
19568
|
const _files = filterFiles(new Array().slice.call(files));
|
|
19488
19569
|
readFile(_files);
|
|
19489
19570
|
}
|
|
19490
|
-
|
|
19571
|
+
setFileList(fileList);
|
|
19491
19572
|
if (clearInput) {
|
|
19492
19573
|
clearInputValue($el);
|
|
19493
19574
|
}
|
|
19494
19575
|
};
|
|
19495
19576
|
const handleItemClick = (file) => {
|
|
19496
|
-
onFileItemClick
|
|
19577
|
+
onFileItemClick == null ? void 0 : onFileItemClick(file);
|
|
19497
19578
|
};
|
|
19498
|
-
return /* @__PURE__ */ React__default.createElement("div", { className: classes, ...restProps }, (children || previewType === "list") && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__slot" },
|
|
19579
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: classes, ...restProps }, (children || previewType === "list") && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__slot" }, children || /* @__PURE__ */ React__default.createElement(Button, { size: "small", type: "primary" }, "上传文件"), maxCount > fileList.length && /* @__PURE__ */ React__default.createElement(
|
|
19499
19580
|
"input",
|
|
19500
19581
|
{
|
|
19501
19582
|
className: "nut-uploader__input",
|
|
19502
19583
|
type: "file",
|
|
19503
|
-
capture
|
|
19584
|
+
capture,
|
|
19504
19585
|
name,
|
|
19505
19586
|
accept,
|
|
19506
19587
|
disabled,
|
|
19507
19588
|
multiple,
|
|
19508
19589
|
onChange: fileChange
|
|
19509
19590
|
}
|
|
19510
|
-
)
|
|
19511
|
-
|
|
19591
|
+
)), /* @__PURE__ */ React__default.createElement(
|
|
19592
|
+
Preview,
|
|
19512
19593
|
{
|
|
19513
|
-
|
|
19514
|
-
|
|
19515
|
-
|
|
19516
|
-
|
|
19517
|
-
|
|
19518
|
-
|
|
19519
|
-
|
|
19594
|
+
...{
|
|
19595
|
+
fileList,
|
|
19596
|
+
previewType,
|
|
19597
|
+
deletable,
|
|
19598
|
+
onDeleteItem,
|
|
19599
|
+
handleItemClick,
|
|
19600
|
+
previewUrl,
|
|
19601
|
+
children
|
|
19602
|
+
}
|
|
19520
19603
|
}
|
|
19521
|
-
)
|
|
19522
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
19523
|
-
"div",
|
|
19524
|
-
{
|
|
19525
|
-
className: `nut-uploader__preview ${previewType}`,
|
|
19526
|
-
key: item.uid
|
|
19527
|
-
},
|
|
19528
|
-
previewType === "picture" && deletable && /* @__PURE__ */ React__default.createElement(
|
|
19529
|
-
x$9,
|
|
19530
|
-
{
|
|
19531
|
-
color: "rgba(0,0,0,0.6)",
|
|
19532
|
-
className: "close",
|
|
19533
|
-
onClick: () => onDeleteItem(item, index)
|
|
19534
|
-
}
|
|
19535
|
-
),
|
|
19536
|
-
previewType === "picture" && !children && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-img" }, item.status === "ready" ? /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress" }, /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress__msg" }, item.message)) : item.status !== "success" && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress" }, item.failIcon !== " " && item.loadingIcon !== " " && (item.status === "error" ? item.failIcon || /* @__PURE__ */ React__default.createElement(x$9, { color: "#fff" }) : item.loadingIcon || /* @__PURE__ */ React__default.createElement(
|
|
19537
|
-
k$3,
|
|
19538
|
-
{
|
|
19539
|
-
className: "nut-icon-loading",
|
|
19540
|
-
color: "#fff"
|
|
19541
|
-
}
|
|
19542
|
-
)), /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview__progress__msg" }, item.message)), item.type.includes("image") ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, item.url && /* @__PURE__ */ React__default.createElement(
|
|
19543
|
-
"img",
|
|
19544
|
-
{
|
|
19545
|
-
className: "nut-uploader__preview-img__c",
|
|
19546
|
-
style: { objectFit: fit },
|
|
19547
|
-
src: item.url,
|
|
19548
|
-
alt: "",
|
|
19549
|
-
onClick: () => handleItemClick(item)
|
|
19550
|
-
}
|
|
19551
|
-
)) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, previewUrl ? /* @__PURE__ */ React__default.createElement(
|
|
19552
|
-
"img",
|
|
19553
|
-
{
|
|
19554
|
-
className: "nut-uploader__preview-img__c",
|
|
19555
|
-
src: previewUrl,
|
|
19556
|
-
alt: "",
|
|
19557
|
-
onClick: () => handleItemClick(item)
|
|
19558
|
-
}
|
|
19559
|
-
) : /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-img__file" }, /* @__PURE__ */ React__default.createElement(
|
|
19560
|
-
"div",
|
|
19561
|
-
{
|
|
19562
|
-
onClick: () => handleItemClick(item),
|
|
19563
|
-
className: "nut-uploader__preview-img__file__name"
|
|
19564
|
-
},
|
|
19565
|
-
/* @__PURE__ */ React__default.createElement(x$6, { color: "#808080" }),
|
|
19566
|
-
/* @__PURE__ */ React__default.createElement("span", null, " ", item.name)
|
|
19567
|
-
))), item.status === "success" ? /* @__PURE__ */ React__default.createElement("div", { className: "tips" }, item.name) : null),
|
|
19568
|
-
previewType === "list" && /* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__preview-list" }, /* @__PURE__ */ React__default.createElement(
|
|
19569
|
-
"div",
|
|
19570
|
-
{
|
|
19571
|
-
className: `nut-uploader__preview-img__file__name ${item.status}`,
|
|
19572
|
-
onClick: () => handleItemClick(item)
|
|
19573
|
-
},
|
|
19574
|
-
/* @__PURE__ */ React__default.createElement(x$6, null),
|
|
19575
|
-
/* @__PURE__ */ React__default.createElement("span", null, " ", item.name)
|
|
19576
|
-
), deletable && /* @__PURE__ */ React__default.createElement(
|
|
19577
|
-
y$8,
|
|
19578
|
-
{
|
|
19579
|
-
color: "#808080",
|
|
19580
|
-
className: "nut-uploader__preview-img__file__del",
|
|
19581
|
-
onClick: () => onDeleteItem(item, index)
|
|
19582
|
-
}
|
|
19583
|
-
), item.status === "uploading" && /* @__PURE__ */ React__default.createElement(
|
|
19584
|
-
Progress,
|
|
19585
|
-
{
|
|
19586
|
-
percent: item.percentage,
|
|
19587
|
-
color: "linear-gradient(270deg, rgba(18,126,255,1) 0%,rgba(32,147,255,1) 32.815625%,rgba(13,242,204,1) 100%)",
|
|
19588
|
-
showText: false
|
|
19589
|
-
}
|
|
19590
|
-
))
|
|
19591
|
-
);
|
|
19592
|
-
}), maxCount > fileList.length && previewType === "picture" && !children && /* @__PURE__ */ React__default.createElement(
|
|
19604
|
+
), maxCount > fileList.length && previewType === "picture" && !children && /* @__PURE__ */ React__default.createElement(
|
|
19593
19605
|
"div",
|
|
19594
19606
|
{
|
|
19595
|
-
className:
|
|
19607
|
+
className: classNames("nut-uploader__upload", previewType, {
|
|
19608
|
+
"nut-uploader__upload-disabled": disabled
|
|
19609
|
+
})
|
|
19596
19610
|
},
|
|
19597
|
-
/* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__icon" }, uploadIcon
|
|
19598
|
-
|
|
19599
|
-
"input",
|
|
19600
|
-
{
|
|
19601
|
-
className: "nut-uploader__input",
|
|
19602
|
-
type: "file",
|
|
19603
|
-
capture: "user",
|
|
19604
|
-
name,
|
|
19605
|
-
accept,
|
|
19606
|
-
disabled,
|
|
19607
|
-
multiple,
|
|
19608
|
-
onChange: fileChange
|
|
19609
|
-
}
|
|
19610
|
-
) : /* @__PURE__ */ React__default.createElement(
|
|
19611
|
+
/* @__PURE__ */ React__default.createElement("div", { className: "nut-uploader__icon" }, uploadIcon, /* @__PURE__ */ React__default.createElement("span", { className: "nut-uploader__icon-tip" }, uploadLabel)),
|
|
19612
|
+
/* @__PURE__ */ React__default.createElement(
|
|
19611
19613
|
"input",
|
|
19612
19614
|
{
|
|
19613
19615
|
className: "nut-uploader__input",
|
|
19614
19616
|
type: "file",
|
|
19617
|
+
capture,
|
|
19615
19618
|
name,
|
|
19616
19619
|
accept,
|
|
19617
19620
|
disabled,
|