@ecoding/components.antd 0.5.2 → 0.5.6
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/lib/core/async-cascader/index.d.ts +1 -1
- package/lib/core/multiple-file-upload/index.d.ts +1 -0
- package/lib/core/multiple-file-upload/index.js +3 -3
- package/lib/core/multiple-img-upload/index.d.ts +1 -0
- package/lib/core/multiple-img-upload/index.js +32 -24
- package/lib/core/multiple-single-img-upload/index.d.ts +1 -0
- package/lib/core/single-file-upload/index.d.ts +1 -0
- package/lib/core/single-file-upload/index.js +3 -2
- package/lib/core/single-img-upload/index.d.ts +1 -0
- package/lib/core/single-img-upload/index.js +11 -13
- package/package.json +2 -2
|
@@ -13,7 +13,7 @@ import { UploadOutlined, LinkOutlined, DeleteOutlined, EllipsisOutlined } from '
|
|
|
13
13
|
import { buildURL } from '@ecoding/helper.url';
|
|
14
14
|
import Toast from "../../core/toast";
|
|
15
15
|
import Loading from "../../core/loading";
|
|
16
|
-
const InfosRender = ({ infos, setInfos, onChange }) => {
|
|
16
|
+
const InfosRender = ({ infos, setInfos, onChange, domain }) => {
|
|
17
17
|
const remove = (i) => {
|
|
18
18
|
const temp = infos.concat([]);
|
|
19
19
|
temp.splice(i, 1);
|
|
@@ -27,7 +27,7 @@ const InfosRender = ({ infos, setInfos, onChange }) => {
|
|
|
27
27
|
justifyContent: "space-between",
|
|
28
28
|
maxWidth: 250
|
|
29
29
|
} },
|
|
30
|
-
React.createElement(Typography.Link, { download: info.name, ellipsis: true, title: info.name, href: info.url, target: "_blank" },
|
|
30
|
+
React.createElement(Typography.Link, { download: info.name, ellipsis: true, title: info.name, href: domain ? `${domain}${info.url}` : info.url, target: "_blank" },
|
|
31
31
|
React.createElement(LinkOutlined, null),
|
|
32
32
|
" ",
|
|
33
33
|
info.name),
|
|
@@ -125,7 +125,7 @@ const MultipleUpload = (props) => {
|
|
|
125
125
|
props.onRemove && props.onRemove(e);
|
|
126
126
|
}, maxCount: props.maxCount },
|
|
127
127
|
React.createElement(Button, { disabled: props.disabled, icon: props.icon ? React.createElement(UploadOutlined, null) : null }, props.buttonText)),
|
|
128
|
-
React.createElement(Popover, { destroyOnHidden: true, open: open, placement: "right", trigger: "hover", title: "Uploaded", content: React.createElement(InfosRender, { onChange: props.onChange, infos: infos, setInfos: setInfos }) },
|
|
128
|
+
React.createElement(Popover, { destroyOnHidden: true, open: open, placement: "right", trigger: "hover", title: "Uploaded", content: React.createElement(InfosRender, { onChange: props.onChange, infos: infos, setInfos: setInfos, domain: props.domain }) },
|
|
129
129
|
React.createElement(Button, { icon: React.createElement(EllipsisOutlined, null) }))));
|
|
130
130
|
};
|
|
131
131
|
MultipleUpload.defaultProps = {
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import React, { useState, useCallback, useMemo } from 'react';
|
|
10
|
+
import React, { useState, useCallback, useMemo, useEffect } from 'react';
|
|
11
11
|
import { Upload, Image as Img, Alert, Flex, message, Space } from 'antd';
|
|
12
12
|
import { PlusOutlined } from '@ant-design/icons';
|
|
13
13
|
import { buildURL } from "@ecoding/helper.url";
|
|
@@ -35,29 +35,10 @@ const DraggableUploadListItem = ({ originNode, file, disabled }) => {
|
|
|
35
35
|
*/
|
|
36
36
|
const MultipleImgUpload = (props) => {
|
|
37
37
|
var _a, _b, _c, _d;
|
|
38
|
-
const { i18n, name, buttonText, maxCount, disabled, value, onChange, objectInValue } = props;
|
|
38
|
+
const { i18n, name, buttonText, maxCount, disabled, value, onChange, objectInValue, domain } = props;
|
|
39
39
|
const [previewOpen, setPreviewOpen] = useState(false);
|
|
40
40
|
const [previewImage, setPreviewImage] = useState('');
|
|
41
41
|
const [imgList, setImgList] = useState(() => {
|
|
42
|
-
if (value && value.length > 0) {
|
|
43
|
-
const temp = [];
|
|
44
|
-
value.forEach((item, index) => {
|
|
45
|
-
if (typeof item === "string" && item) {
|
|
46
|
-
temp.push({
|
|
47
|
-
uid: String(index),
|
|
48
|
-
status: 'done',
|
|
49
|
-
url: item,
|
|
50
|
-
name: item.substring(item.lastIndexOf('/') + 1, item.lastIndexOf('.'))
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
if (item.url) {
|
|
55
|
-
temp.push(item);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
return temp;
|
|
60
|
-
}
|
|
61
42
|
return [];
|
|
62
43
|
});
|
|
63
44
|
const updateItems = (newItems) => {
|
|
@@ -76,10 +57,11 @@ const MultipleImgUpload = (props) => {
|
|
|
76
57
|
}
|
|
77
58
|
});
|
|
78
59
|
if (objectInValue) {
|
|
79
|
-
|
|
60
|
+
const temp2 = temp && temp.map((item) => (Object.assign(Object.assign({}, item), { url: domain ? item.url.replace(domain, '') : item.url })));
|
|
61
|
+
onChange && onChange(!isEmpty ? temp2 : undefined);
|
|
80
62
|
}
|
|
81
63
|
else {
|
|
82
|
-
const urls = temp.map((item) => item.url);
|
|
64
|
+
const urls = temp.map((item) => domain ? item.url.replace(domain, '') : item.url);
|
|
83
65
|
onChange && onChange(!isEmpty ? urls : undefined);
|
|
84
66
|
}
|
|
85
67
|
};
|
|
@@ -221,6 +203,32 @@ const MultipleImgUpload = (props) => {
|
|
|
221
203
|
resolve(file);
|
|
222
204
|
}));
|
|
223
205
|
}, []);
|
|
206
|
+
useEffect(() => {
|
|
207
|
+
if (value && value.length > 0) {
|
|
208
|
+
const temp = [];
|
|
209
|
+
value.forEach((item, index) => {
|
|
210
|
+
if (typeof item === "string" && item) {
|
|
211
|
+
// 防止重复拼接domain
|
|
212
|
+
item = domain ? item.replace(domain, "") : item;
|
|
213
|
+
temp.push({
|
|
214
|
+
uid: String(index),
|
|
215
|
+
status: 'done',
|
|
216
|
+
url: domain ? `${domain}${item}` : item,
|
|
217
|
+
name: item.substring(item.lastIndexOf('/') + 1, item.lastIndexOf('.'))
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
if (item.url) {
|
|
222
|
+
// 防止重复拼接domain
|
|
223
|
+
item.url = domain ? item.url.replace(domain, "") : item.url;
|
|
224
|
+
item.url = domain ? `${domain}${item.url}` : item.url;
|
|
225
|
+
temp.push(item);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
setImgList(temp);
|
|
230
|
+
}
|
|
231
|
+
}, [value]);
|
|
224
232
|
return (React.createElement(React.Fragment, null,
|
|
225
233
|
props.showMessage && (React.createElement(Alert, { className: 'mb20', message: props.message ? props.message : (React.createElement(Flex, { gap: 10, wrap: true },
|
|
226
234
|
React.createElement("div", null,
|
|
@@ -263,7 +271,7 @@ const MultipleImgUpload = (props) => {
|
|
|
263
271
|
visible: previewOpen,
|
|
264
272
|
onVisibleChange: (visible) => setPreviewOpen(visible),
|
|
265
273
|
afterOpenChange: (visible) => !visible && setPreviewImage('')
|
|
266
|
-
}, src: previewImage }))))));
|
|
274
|
+
}, src: domain ? `${domain}${previewImage}` : previewImage }))))));
|
|
267
275
|
};
|
|
268
276
|
MultipleImgUpload.defaultProps = {
|
|
269
277
|
maxCount: 6,
|
|
@@ -80,11 +80,12 @@ const SingleFileUpload = (props) => {
|
|
|
80
80
|
}, []);
|
|
81
81
|
useEffect(() => {
|
|
82
82
|
if (typeof props.value === "string") {
|
|
83
|
-
|
|
83
|
+
const temp = props.domain ? props.value.replace(props.domain, "") : props.value;
|
|
84
|
+
setFileUrl(temp);
|
|
84
85
|
}
|
|
85
86
|
}, [props.value]);
|
|
86
87
|
return (React.createElement(Space.Compact, { block: true },
|
|
87
|
-
React.createElement(Input, { addonBefore: fileUrl ? (React.createElement("a", { style: { color: "#666" }, href: fileUrl, target: "_blank" }, "View")) : null, value: fileUrl, onChange: (e) => {
|
|
88
|
+
React.createElement(Input, { addonBefore: fileUrl ? (React.createElement("a", { style: { color: "#666" }, href: props.domain ? `${props.domain}${fileUrl}` : fileUrl, target: "_blank" }, "View")) : null, value: fileUrl ? props.domain ? `${props.domain}${fileUrl}` : fileUrl : "", onChange: (e) => {
|
|
88
89
|
const v = e.target.value.trim();
|
|
89
90
|
props.onChange && props.onChange(v);
|
|
90
91
|
} }),
|
|
@@ -15,16 +15,7 @@ import Toast from "../../core/toast";
|
|
|
15
15
|
const ImgUpload = (props) => {
|
|
16
16
|
var _a, _b, _c, _d;
|
|
17
17
|
const [loading, setLoading] = useState(false);
|
|
18
|
-
const [imageUrl, setImageUrl] = useState(
|
|
19
|
-
const item = props.value;
|
|
20
|
-
if (typeof item === "string" && item) {
|
|
21
|
-
return item;
|
|
22
|
-
}
|
|
23
|
-
if (item.url) {
|
|
24
|
-
return item.url;
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
});
|
|
18
|
+
const [imageUrl, setImageUrl] = useState(undefined);
|
|
28
19
|
const action = useMemo(() => {
|
|
29
20
|
if (typeof props.action === "string") {
|
|
30
21
|
return buildURL(props.action, props.actionParams);
|
|
@@ -65,7 +56,10 @@ const ImgUpload = (props) => {
|
|
|
65
56
|
response.code === 0 ||
|
|
66
57
|
response.success ||
|
|
67
58
|
response.successed) {
|
|
68
|
-
|
|
59
|
+
let url = data && data.url;
|
|
60
|
+
if (props.domain) {
|
|
61
|
+
url = url.replace(props.domain, "");
|
|
62
|
+
}
|
|
69
63
|
setImageUrl(url);
|
|
70
64
|
if (props.objectInValue) {
|
|
71
65
|
info.file.url = url;
|
|
@@ -171,11 +165,15 @@ const ImgUpload = (props) => {
|
|
|
171
165
|
loading ? React.createElement(LoadingOutlined, null) : React.createElement(PlusOutlined, null),
|
|
172
166
|
React.createElement("div", { style: { marginTop: 8 } }, props.buttonText))), [loading]);
|
|
173
167
|
useEffect(() => {
|
|
174
|
-
|
|
168
|
+
let item = props.value;
|
|
175
169
|
if (typeof item === "string" && item) {
|
|
170
|
+
// 防止重复拼接domain
|
|
171
|
+
item = props.domain ? item.replace(props.domain, "") : item;
|
|
176
172
|
setImageUrl(item);
|
|
177
173
|
}
|
|
178
174
|
if (item.url) {
|
|
175
|
+
// 防止重复拼接domain
|
|
176
|
+
item.url = props.domain ? item.url.replace(props.domain, "") : item.url;
|
|
179
177
|
setImageUrl(item.url);
|
|
180
178
|
}
|
|
181
179
|
}, [props.value]);
|
|
@@ -195,7 +193,7 @@ const ImgUpload = (props) => {
|
|
|
195
193
|
clear();
|
|
196
194
|
} },
|
|
197
195
|
React.createElement(DeleteOutlined, { style: { fontSize: 14 } }))),
|
|
198
|
-
React.createElement(Img, { style: { width: "102px", height: "102px", objectFit: "contain", cursor: "pointer" }, src: imageUrl }))) : (React.createElement(Upload, { withCredentials: true, beforeUpload: beforeUpload, name: props.name, data: props.data, headers: props.headers, disabled: props.disabled, listType: "picture-card", showUploadList: false, action: action, onChange: handleChange }, uploadButton)),
|
|
196
|
+
React.createElement(Img, { style: { width: "102px", height: "102px", objectFit: "contain", cursor: "pointer" }, src: props.domain ? `${props.domain}${imageUrl}` : imageUrl }))) : (React.createElement(Upload, { withCredentials: true, beforeUpload: beforeUpload, name: props.name, data: props.data, headers: props.headers, disabled: props.disabled, listType: "picture-card", showUploadList: false, action: action, onChange: handleChange }, uploadButton)),
|
|
199
197
|
props.isTip ? (React.createElement("div", { style: { fontSize: '13px', marginLeft: '18px', lineHeight: '22px' } },
|
|
200
198
|
React.createElement("p", null,
|
|
201
199
|
props.i18n ? props.i18n.$t("global.size", "大小") : "大小",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecoding/components.antd",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"author": "cxc",
|
|
5
5
|
"homepage": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"antd": "^6.0.0",
|
|
48
48
|
"axios": "^1.1.2"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "8faf91bd415c7df5adc451dd7743787aee09eeea"
|
|
51
51
|
}
|