@nutui/nutui-react-taro 1.3.3 → 1.3.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/CHANGELOG.md +21 -0
- package/README.md +3 -2
- package/dist/esm/ActionSheet.js +3 -3
- package/dist/esm/Address.js +3 -3
- package/dist/esm/Audio.js +6 -7
- package/dist/esm/Avatar.js +2 -2
- package/dist/esm/BackTop.js +2 -2
- package/dist/esm/Badge.js +2 -2
- package/dist/esm/Barrage.js +2 -2
- package/dist/esm/Button.js +2 -2
- package/dist/esm/Calendar.js +3 -3
- package/dist/esm/Card.js +3 -3
- package/dist/esm/Cascader.js +4 -4
- package/dist/esm/Cell.js +2 -2
- package/dist/esm/Checkbox.js +2 -2
- package/dist/esm/CircleProgress.js +2 -2
- package/dist/esm/CollapseItem.js +2 -2
- package/dist/esm/DatePicker.js +4 -4
- package/dist/esm/Dialog.js +3 -3
- package/dist/esm/FixedNav.js +2 -2
- package/dist/esm/GridItem.js +2 -2
- package/dist/esm/ImagePreview.js +5 -5
- package/dist/esm/Infiniteloading.js +4 -2
- package/dist/esm/Input.js +2 -2
- package/dist/esm/InputNumber.js +2 -2
- package/dist/esm/Menu.js +2 -2
- package/dist/esm/MenuItem.js +2 -2
- package/dist/esm/NavBar.js +2 -2
- package/dist/esm/NoticeBar.js +2 -2
- package/dist/esm/Notify.js +2 -3
- package/dist/esm/NumberKeyboard.js +3 -3
- package/dist/esm/Picker.js +3 -3
- package/dist/esm/Popover.js +2 -2
- package/dist/esm/Popup.js +2 -2
- package/dist/esm/Progress.js +2 -2
- package/dist/esm/PullToRefresh.js +2 -2
- package/dist/esm/Radio.js +2 -2
- package/dist/esm/Range.js +3 -5
- package/dist/esm/Rate.js +2 -2
- package/dist/esm/SearchBar.js +2 -2
- package/dist/esm/ShortPassword.js +3 -3
- package/dist/esm/SideNavBar.js +3 -3
- package/dist/esm/Signature.js +3 -3
- package/dist/esm/Skeleton.js +3 -3
- package/dist/esm/Step.js +2 -2
- package/dist/esm/Sticky/style/index.js +2 -0
- package/dist/esm/Sticky.js +5 -0
- package/dist/esm/Swiper.js +3 -3
- package/dist/esm/TabbarItem.js +2 -2
- package/dist/esm/Table.js +2 -2
- package/dist/esm/Tabs.js +2 -2
- package/dist/esm/Tag.js +2 -2
- package/dist/esm/TimeSelect.js +3 -3
- package/dist/esm/Toast.js +2 -4
- package/dist/esm/Uploader.js +8 -4
- package/dist/esm/{actionsheet.taro-08b7eab2.js → actionsheet.taro-360d8d34.js} +1 -1
- package/dist/esm/{address.taro-5f8dbfc3.js → address.taro-7540c626.js} +8 -6
- package/dist/esm/{audio.taro-327472dc.js → audio.taro-ab2528b2.js} +105 -148
- package/dist/esm/{avatar.taro-766690a4.js → avatar.taro-ec620cdd.js} +5 -3
- package/dist/esm/{backtop.taro-c414da6c.js → backtop.taro-aa8b2bc5.js} +5 -3
- package/dist/esm/{badge.taro-351d0088.js → badge.taro-38684262.js} +5 -3
- package/dist/esm/{barrage.taro-efac8422.js → barrage.taro-d86c367a.js} +3 -10
- package/dist/esm/{button.taro-7074924f.js → button.taro-a9ebb937.js} +7 -5
- package/dist/esm/{calendar.taro-156a74c0.js → calendar.taro-438940bd.js} +1 -1
- package/dist/esm/{card.taro-f81f1b5c.js → card.taro-1bc35ebe.js} +1 -1
- package/dist/esm/{cascader.taro-39402f43.js → cascader.taro-35387092.js} +2 -2
- package/dist/esm/{cell.taro-075998e0.js → cell.taro-a4c3bb7b.js} +7 -5
- package/dist/esm/{checkbox.taro-62677b5e.js → checkbox.taro-104557c1.js} +2 -2
- package/dist/esm/{circleprogress.taro-1a38e1c6.js → circleprogress.taro-3c89a157.js} +85 -51
- package/dist/esm/{collapseitem-246e1699.js → collapseitem-75843a5e.js} +13 -9
- package/dist/esm/{datepicker.taro-e0e58f39.js → datepicker.taro-1acec61f.js} +1 -1
- package/dist/esm/{dialog.taro-7e9249e7.js → dialog.taro-54c67e08.js} +8 -6
- package/dist/esm/{fixednav.taro-9ee2dbea.js → fixednav.taro-582322a1.js} +5 -3
- package/dist/esm/{griditem.taro-a2ad1edd.js → griditem.taro-866cd288.js} +5 -3
- package/dist/esm/{imagepreview.taro-99659d6a.js → imagepreview.taro-3f1c7638.js} +2 -2
- package/dist/esm/{infiniteloading.taro-aa47eb1e.js → infiniteloading.taro-9701755f.js} +84 -113
- package/dist/esm/{input.taro-32fac7f7.js → input.taro-2453d7c4.js} +9 -7
- package/dist/esm/{inputnumber.taro-83d108b3.js → inputnumber.taro-0cf7c1b7.js} +7 -5
- package/dist/esm/{menu.taro-8330048e.js → menu.taro-9345dcfd.js} +5 -3
- package/dist/esm/{menuitem.taro-818c9e83.js → menuitem.taro-fc0961b7.js} +31 -14
- package/dist/esm/{navbar.taro-05d293bb.js → navbar.taro-c931c078.js} +7 -5
- package/dist/esm/{noticebar.taro-6845f9ab.js → noticebar.taro-1fa04a96.js} +9 -7
- package/dist/esm/{notify.taro-22b8f4cd.js → notify.taro-0d9cfb07.js} +38 -5
- package/dist/esm/{numberkeyboard.taro-6ff18124.js → numberkeyboard.taro-53c350b8.js} +1 -1
- package/dist/esm/nutui-react.es.js +54 -53
- package/dist/esm/{picker.taro-a3f311a0.js → picker.taro-6a4dad23.js} +1 -1
- package/dist/esm/{popover.taro-604c3116.js → popover.taro-eddd0bd2.js} +5 -3
- package/dist/esm/{popup.taro-d74c3422.js → popup.taro-33d0bbc8.js} +5 -3
- package/dist/esm/{progress.taro-57e1a455.js → progress.taro-623bc807.js} +5 -3
- package/dist/esm/{pulltorefresh.taro-8846f019.js → pulltorefresh.taro-e66c78ad.js} +0 -0
- package/dist/esm/{radio.taro-64546f70.js → radio.taro-95d43860.js} +5 -3
- package/dist/esm/{range.taro-ef3b30f0.js → range.taro-141a0163.js} +35 -12
- package/dist/esm/{rate.taro-0119c0e9.js → rate.taro-5077b962.js} +7 -5
- package/dist/esm/{searchbar.taro-2fff1f66.js → searchbar.taro-f134fb96.js} +5 -3
- package/dist/esm/{shortpassword.taro-d39e038d.js → shortpassword.taro-2e96ca22.js} +6 -4
- package/dist/esm/{sidenavbar.taro-48b136b4.js → sidenavbar.taro-87f056cd.js} +1 -1
- package/dist/esm/{signature.taro-3dbc7030.js → signature.taro-a9286cd1.js} +1 -1
- package/dist/esm/{skeleton.taro-112de52a.js → skeleton.taro-b9ff84b9.js} +1 -1
- package/dist/esm/{step.taro-8c2ba0bb.js → step.taro-f1057500.js} +5 -3
- package/dist/esm/sticky.taro-30d4e453.js +23 -0
- package/dist/esm/{swiper.taro-448cd0ad.js → swiper.taro-58ed323b.js} +4 -4
- package/dist/esm/{tabbaritem.taro-8c0a0a3b.js → tabbaritem.taro-94cd62c2.js} +5 -3
- package/dist/esm/{table.taro-04f9ec51.js → table.taro-7ac89a6c.js} +5 -3
- package/dist/esm/{tabs.taro-7bb22cb5.js → tabs.taro-86186dff.js} +12 -13
- package/dist/esm/{tag.taro-81dcc92d.js → tag.taro-95d7f5c2.js} +5 -3
- package/dist/esm/{timeselect.taro-5b6ed203.js → timeselect.taro-73796bfc.js} +1 -1
- package/dist/esm/toast.taro-cd22a0d7.js +167 -0
- package/dist/esm/types/src/packages/audio/audio.taro.d.ts +13 -14
- package/dist/esm/types/src/packages/button/demo.d.ts +1 -0
- package/dist/esm/types/src/packages/collapseitem/collapseitem.d.ts +1 -0
- package/dist/esm/types/src/packages/drag/drag.d.ts +1 -1
- package/dist/esm/types/src/packages/drag/drag.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/fixednav/fixednav.d.ts +1 -1
- package/dist/esm/types/src/packages/fixednav/fixednav.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/griditem/griditem.d.ts +1 -1
- package/dist/esm/types/src/packages/griditem/griditem.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/infiniteloading/infiniteloading.d.ts +3 -3
- package/dist/esm/types/src/packages/infiniteloading/infiniteloading.taro.d.ts +4 -6
- package/dist/esm/types/src/packages/input/input.d.ts +1 -1
- package/dist/esm/types/src/packages/input/input.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/menuitem/menuitem.d.ts +1 -1
- package/dist/esm/types/src/packages/menuitem/menuitem.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/nutui.react.build.d.ts +2 -1
- package/dist/esm/types/src/packages/nutui.react.d.ts +3 -1
- package/dist/esm/types/src/packages/nutui.react.scss.d.ts +1 -0
- package/dist/esm/types/src/packages/nutui.react.taro.d.ts +3 -1
- package/dist/esm/types/src/packages/nutui.taro.react.build.d.ts +2 -1
- package/dist/esm/types/src/packages/popover/popover.d.ts +1 -1
- package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/progress/progress.d.ts +1 -1
- package/dist/esm/types/src/packages/progress/progress.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/radio/radio.d.ts +1 -1
- package/dist/esm/types/src/packages/radio/radio.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/sticky/__test__/sticky.spec.d.ts +1 -0
- package/dist/esm/types/src/packages/sticky/demo.d.ts +3 -0
- package/dist/esm/types/src/packages/sticky/index.d.ts +2 -0
- package/dist/esm/types/src/packages/sticky/index.taro.d.ts +2 -0
- package/dist/esm/types/src/packages/sticky/sticky.d.ts +13 -0
- package/dist/esm/types/src/packages/sticky/sticky.taro.d.ts +4 -0
- package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -1
- package/dist/esm/types/src/packages/tabs/tabs.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/toast/index.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/toast/toast.taro.d.ts +11 -17
- package/dist/esm/types/src/packages/uploader/demo.d.ts +1 -0
- package/dist/esm/types/src/packages/uploader/upload.d.ts +4 -0
- package/dist/esm/types/src/packages/uploader/uploader.d.ts +16 -12
- package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +39 -19
- package/dist/esm/types/src/utils/date.d.ts +1 -1
- package/dist/esm/types/src/utils/useWatch.d.ts +6 -0
- package/dist/esm/{uploader.taro-4fd5dd3c.js → uploader.taro-6184abe7.js} +181 -131
- 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/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/nutui.react.es.js +1357 -1235
- package/dist/nutui.react.umd.js +1356 -1233
- package/dist/packages/barrage/barrage.scss +7 -2
- package/dist/packages/circleprogress/circleprogress.scss +3 -0
- package/dist/packages/sticky/sticky.scss +0 -0
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/styles/themes/default.scss +1 -0
- package/dist/types/index.d.ts +75 -64
- package/dist/types/nutui.taro.react.build.ts +3 -1
- package/package.json +10 -5
- package/dist/esm/render-4a3856cb.js +0 -32
- package/dist/esm/toast.taro-d4ecd6af.js +0 -300
|
@@ -4,7 +4,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
4
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
5
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
6
6
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
var _excluded = ["children", "uploadIcon", "uploadIconSize", "name", "
|
|
7
|
+
var _excluded = ["children", "uploadIcon", "uploadIconSize", "name", "defaultFileList", "listType", "disabled", "url", "defaultImg", "headers", "timeout", "method", "xhrState", "data", "isPreview", "isDeletable", "maximum", "maximize", "className", "autoUpload", "sizeType", "sourceType", "onStart", "onRemove", "onChange", "onFileItemClick", "onProgress", "onSuccess", "onUpdate", "onFailure", "onOversize", "onBeforeUpload", "onBeforeXhrUpload", "onBeforeDelete"];
|
|
8
8
|
|
|
9
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
10
|
|
|
@@ -12,7 +12,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
12
12
|
|
|
13
13
|
import React__default, { useState, useEffect, useImperativeHandle } from 'react';
|
|
14
14
|
import classNames from 'classnames';
|
|
15
|
-
import { I as Icon } from './icon-
|
|
15
|
+
import { I as Icon } from './icon.taro-1d0d4fb7.js';
|
|
16
|
+
import { B as Button } from './button.taro-a9ebb937.js';
|
|
17
|
+
import { P as Progress } from './progress.taro-623bc807.js';
|
|
18
|
+
import Taro from '@tarojs/taro';
|
|
16
19
|
import { c as cn } from './bem-893ad28d.js';
|
|
17
20
|
import { u as useConfig } from './configprovider.taro-6c7b3056.js';
|
|
18
21
|
import { C as ComponentDefaults } from './typings-1c5f2628.js';
|
|
@@ -24,8 +27,12 @@ var UploadOptions = /*#__PURE__*/_createClass(function UploadOptions() {
|
|
|
24
27
|
|
|
25
28
|
_defineProperty(this, "name", 'file');
|
|
26
29
|
|
|
30
|
+
_defineProperty(this, "fileType", 'image');
|
|
31
|
+
|
|
27
32
|
_defineProperty(this, "formData", void 0);
|
|
28
33
|
|
|
34
|
+
_defineProperty(this, "sourceFile", void 0);
|
|
35
|
+
|
|
29
36
|
_defineProperty(this, "method", 'post');
|
|
30
37
|
|
|
31
38
|
_defineProperty(this, "xhrState", 200);
|
|
@@ -45,6 +52,8 @@ var UploadOptions = /*#__PURE__*/_createClass(function UploadOptions() {
|
|
|
45
52
|
_defineProperty(this, "onSuccess", void 0);
|
|
46
53
|
|
|
47
54
|
_defineProperty(this, "onFailure", void 0);
|
|
55
|
+
|
|
56
|
+
_defineProperty(this, "beforeXhrUpload", void 0);
|
|
48
57
|
});
|
|
49
58
|
|
|
50
59
|
var Upload = /*#__PURE__*/function () {
|
|
@@ -98,11 +107,64 @@ var Upload = /*#__PURE__*/function () {
|
|
|
98
107
|
}
|
|
99
108
|
|
|
100
109
|
(_options$onStart = options.onStart) === null || _options$onStart === void 0 ? void 0 : _options$onStart.call(options, options);
|
|
101
|
-
|
|
110
|
+
|
|
111
|
+
if (options.beforeXhrUpload) {
|
|
112
|
+
options.beforeXhrUpload(xhr, options);
|
|
113
|
+
} else {
|
|
114
|
+
xhr.send(options.formData);
|
|
115
|
+
}
|
|
102
116
|
} else {
|
|
103
117
|
console.warn('浏览器不支持 XMLHttpRequest');
|
|
104
118
|
}
|
|
105
119
|
}
|
|
120
|
+
}, {
|
|
121
|
+
key: "uploadTaro",
|
|
122
|
+
value: function uploadTaro(uploadFile, env) {
|
|
123
|
+
var options = this.options;
|
|
124
|
+
|
|
125
|
+
if (env === 'WEB') {
|
|
126
|
+
this.upload();
|
|
127
|
+
} else if (options.beforeXhrUpload) {
|
|
128
|
+
options.beforeXhrUpload(uploadFile, options);
|
|
129
|
+
} else {
|
|
130
|
+
var _options$onStart2;
|
|
131
|
+
|
|
132
|
+
var uploadTask = uploadFile({
|
|
133
|
+
url: options.url,
|
|
134
|
+
filePath: options.taroFilePath,
|
|
135
|
+
fileType: options.fileType,
|
|
136
|
+
header: _objectSpread({
|
|
137
|
+
'Content-Type': 'multipart/form-data'
|
|
138
|
+
}, options.headers),
|
|
139
|
+
formData: options.formData,
|
|
140
|
+
name: options.name,
|
|
141
|
+
success: function success(response) {
|
|
142
|
+
if (options.xhrState == response.statusCode) {
|
|
143
|
+
var _options$onSuccess2;
|
|
144
|
+
|
|
145
|
+
(_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call(options, response, options);
|
|
146
|
+
} else {
|
|
147
|
+
var _options$onFailure2;
|
|
148
|
+
|
|
149
|
+
(_options$onFailure2 = options.onFailure) === null || _options$onFailure2 === void 0 ? void 0 : _options$onFailure2.call(options, response, options);
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
fail: function fail(e) {
|
|
153
|
+
var _options$onFailure3;
|
|
154
|
+
|
|
155
|
+
(_options$onFailure3 = options.onFailure) === null || _options$onFailure3 === void 0 ? void 0 : _options$onFailure3.call(options, e, options);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
(_options$onStart2 = options.onStart) === null || _options$onStart2 === void 0 ? void 0 : _options$onStart2.call(options, options);
|
|
159
|
+
uploadTask.progress(function (res) {
|
|
160
|
+
var _options$onProgress2;
|
|
161
|
+
|
|
162
|
+
(_options$onProgress2 = options.onProgress) === null || _options$onProgress2 === void 0 ? void 0 : _options$onProgress2.call(options, res, options); // console.log('上传进度', res.progress);
|
|
163
|
+
// console.log('已经上传的数据长度', res.totalBytesSent);
|
|
164
|
+
// console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend);
|
|
165
|
+
}); // uploadTask.abort(); // 取消上传任务
|
|
166
|
+
}
|
|
167
|
+
}
|
|
106
168
|
}]);
|
|
107
169
|
|
|
108
170
|
return Upload;
|
|
@@ -110,15 +172,15 @@ var Upload = /*#__PURE__*/function () {
|
|
|
110
172
|
|
|
111
173
|
var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
112
174
|
url: '',
|
|
113
|
-
maximum:
|
|
175
|
+
maximum: 9,
|
|
176
|
+
sizeType: ['original', 'compressed'],
|
|
177
|
+
sourceType: ['album', 'camera'],
|
|
114
178
|
uploadIcon: 'photograph',
|
|
115
179
|
uploadIconSize: '',
|
|
116
180
|
listType: 'picture',
|
|
117
181
|
name: 'file',
|
|
118
|
-
accept: '*',
|
|
119
182
|
disabled: false,
|
|
120
183
|
autoUpload: true,
|
|
121
|
-
multiple: false,
|
|
122
184
|
maximize: Number.MAX_VALUE,
|
|
123
185
|
data: {},
|
|
124
186
|
headers: {},
|
|
@@ -126,12 +188,9 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
|
|
|
126
188
|
defaultImg: '',
|
|
127
189
|
xhrState: 200,
|
|
128
190
|
timeout: 1000 * 30,
|
|
129
|
-
withCredentials: false,
|
|
130
|
-
clearInput: false,
|
|
131
191
|
isPreview: true,
|
|
132
192
|
isDeletable: true,
|
|
133
|
-
|
|
134
|
-
beforeDelete: function beforeDelete(file, files) {
|
|
193
|
+
onBeforeDelete: function onBeforeDelete(file, files) {
|
|
135
194
|
return true;
|
|
136
195
|
}
|
|
137
196
|
});
|
|
@@ -151,7 +210,11 @@ var FileItem = /*#__PURE__*/_createClass(function FileItem() {
|
|
|
151
210
|
|
|
152
211
|
_defineProperty(this, "type", void 0);
|
|
153
212
|
|
|
154
|
-
_defineProperty(this, "
|
|
213
|
+
_defineProperty(this, "path", void 0);
|
|
214
|
+
|
|
215
|
+
_defineProperty(this, "percentage", 0);
|
|
216
|
+
|
|
217
|
+
_defineProperty(this, "formData", {});
|
|
155
218
|
});
|
|
156
219
|
|
|
157
220
|
var InternalUploader = function InternalUploader(props, ref) {
|
|
@@ -163,38 +226,36 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
163
226
|
uploadIcon = _defaultProps$props.uploadIcon,
|
|
164
227
|
uploadIconSize = _defaultProps$props.uploadIconSize,
|
|
165
228
|
name = _defaultProps$props.name,
|
|
166
|
-
accept = _defaultProps$props.accept,
|
|
167
229
|
defaultFileList = _defaultProps$props.defaultFileList,
|
|
168
230
|
listType = _defaultProps$props.listType,
|
|
169
231
|
disabled = _defaultProps$props.disabled,
|
|
170
|
-
multiple = _defaultProps$props.multiple,
|
|
171
232
|
url = _defaultProps$props.url,
|
|
172
233
|
defaultImg = _defaultProps$props.defaultImg,
|
|
173
234
|
headers = _defaultProps$props.headers,
|
|
174
235
|
timeout = _defaultProps$props.timeout,
|
|
175
236
|
method = _defaultProps$props.method,
|
|
176
237
|
xhrState = _defaultProps$props.xhrState,
|
|
177
|
-
withCredentials = _defaultProps$props.withCredentials,
|
|
178
238
|
data = _defaultProps$props.data,
|
|
179
239
|
isPreview = _defaultProps$props.isPreview,
|
|
180
240
|
isDeletable = _defaultProps$props.isDeletable,
|
|
181
241
|
maximum = _defaultProps$props.maximum,
|
|
182
|
-
capture = _defaultProps$props.capture,
|
|
183
242
|
maximize = _defaultProps$props.maximize,
|
|
184
243
|
className = _defaultProps$props.className,
|
|
185
244
|
autoUpload = _defaultProps$props.autoUpload,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
245
|
+
sizeType = _defaultProps$props.sizeType,
|
|
246
|
+
sourceType = _defaultProps$props.sourceType,
|
|
247
|
+
onStart = _defaultProps$props.onStart,
|
|
248
|
+
onRemove = _defaultProps$props.onRemove,
|
|
249
|
+
onChange = _defaultProps$props.onChange,
|
|
250
|
+
onFileItemClick = _defaultProps$props.onFileItemClick,
|
|
251
|
+
onProgress = _defaultProps$props.onProgress,
|
|
252
|
+
onSuccess = _defaultProps$props.onSuccess,
|
|
253
|
+
onUpdate = _defaultProps$props.onUpdate,
|
|
254
|
+
onFailure = _defaultProps$props.onFailure,
|
|
255
|
+
onOversize = _defaultProps$props.onOversize,
|
|
256
|
+
onBeforeUpload = _defaultProps$props.onBeforeUpload,
|
|
257
|
+
onBeforeXhrUpload = _defaultProps$props.onBeforeXhrUpload,
|
|
258
|
+
onBeforeDelete = _defaultProps$props.onBeforeDelete,
|
|
198
259
|
restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
|
|
199
260
|
|
|
200
261
|
var _useState = useState([]),
|
|
@@ -208,8 +269,6 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
208
269
|
setUploadQueue = _useState4[1];
|
|
209
270
|
|
|
210
271
|
useEffect(function () {
|
|
211
|
-
console.log('defaultFileList', defaultFileList);
|
|
212
|
-
|
|
213
272
|
if (defaultFileList) {
|
|
214
273
|
setFileList(defaultFileList);
|
|
215
274
|
}
|
|
@@ -221,7 +280,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
221
280
|
submit: function submit() {
|
|
222
281
|
Promise.all(uploadQueue).then(function (res) {
|
|
223
282
|
res.forEach(function (i) {
|
|
224
|
-
return i.
|
|
283
|
+
return i.uploadTaro(Taro.uploadFile, Taro.getEnv());
|
|
225
284
|
});
|
|
226
285
|
});
|
|
227
286
|
}
|
|
@@ -239,28 +298,33 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
239
298
|
}
|
|
240
299
|
};
|
|
241
300
|
|
|
242
|
-
var
|
|
243
|
-
|
|
301
|
+
var chooseImage = function chooseImage() {
|
|
302
|
+
if (disabled) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
Taro.chooseImage({
|
|
307
|
+
// 选择数量
|
|
308
|
+
count: maximum * 1 - fileList.length,
|
|
309
|
+
// 可以指定是原图还是压缩图,默认二者都有
|
|
310
|
+
sizeType: sizeType,
|
|
311
|
+
sourceType: sourceType,
|
|
312
|
+
success: onChangeFn
|
|
313
|
+
});
|
|
244
314
|
};
|
|
245
315
|
|
|
246
316
|
var executeUpload = function executeUpload(fileItem, index) {
|
|
247
317
|
var uploadOption = new UploadOptions();
|
|
318
|
+
uploadOption.name = name;
|
|
248
319
|
uploadOption.url = url;
|
|
249
|
-
|
|
250
|
-
for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
|
|
251
|
-
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
|
|
252
|
-
key = _Object$entries2$_i[0],
|
|
253
|
-
value = _Object$entries2$_i[1];
|
|
254
|
-
|
|
255
|
-
fileItem.formData.append(key, value);
|
|
256
|
-
}
|
|
257
|
-
|
|
320
|
+
uploadOption.fileType = fileItem.type;
|
|
258
321
|
uploadOption.formData = fileItem.formData;
|
|
259
322
|
uploadOption.timeout = timeout * 1;
|
|
260
323
|
uploadOption.method = method;
|
|
261
324
|
uploadOption.xhrState = xhrState;
|
|
262
325
|
uploadOption.headers = headers;
|
|
263
|
-
uploadOption.
|
|
326
|
+
uploadOption.taroFilePath = fileItem.path;
|
|
327
|
+
uploadOption.beforeXhrUpload = onBeforeXhrUpload;
|
|
264
328
|
|
|
265
329
|
uploadOption.onStart = function (option) {
|
|
266
330
|
clearUploadQueue(index);
|
|
@@ -273,7 +337,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
273
337
|
});
|
|
274
338
|
return _toConsumableArray(fileList);
|
|
275
339
|
});
|
|
276
|
-
|
|
340
|
+
onStart && onStart(option);
|
|
277
341
|
};
|
|
278
342
|
|
|
279
343
|
uploadOption.onProgress = function (e, option) {
|
|
@@ -282,19 +346,21 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
282
346
|
if (item.uid === fileItem.uid) {
|
|
283
347
|
item.status = 'uploading';
|
|
284
348
|
item.message = locale.uploader.uploading;
|
|
349
|
+
item.percentage = e.progress;
|
|
350
|
+
onProgress && onProgress({
|
|
351
|
+
e: e,
|
|
352
|
+
option: option,
|
|
353
|
+
percentage: item.percentage
|
|
354
|
+
});
|
|
285
355
|
}
|
|
286
356
|
});
|
|
287
357
|
return _toConsumableArray(fileList);
|
|
288
358
|
});
|
|
289
|
-
progress && progress({
|
|
290
|
-
e: e,
|
|
291
|
-
option: option
|
|
292
|
-
});
|
|
293
359
|
};
|
|
294
360
|
|
|
295
361
|
uploadOption.onSuccess = function (responseText, option) {
|
|
296
362
|
setFileList(function (fileList) {
|
|
297
|
-
|
|
363
|
+
onUpdate && onUpdate(fileList);
|
|
298
364
|
fileList.map(function (item) {
|
|
299
365
|
if (item.uid === fileItem.uid) {
|
|
300
366
|
item.status = 'success';
|
|
@@ -303,7 +369,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
303
369
|
});
|
|
304
370
|
return _toConsumableArray(fileList);
|
|
305
371
|
});
|
|
306
|
-
|
|
372
|
+
onSuccess && onSuccess({
|
|
307
373
|
responseText: responseText,
|
|
308
374
|
option: option
|
|
309
375
|
});
|
|
@@ -319,7 +385,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
319
385
|
});
|
|
320
386
|
return _toConsumableArray(fileList);
|
|
321
387
|
});
|
|
322
|
-
|
|
388
|
+
onFailure && onFailure({
|
|
323
389
|
responseText: responseText,
|
|
324
390
|
option: option
|
|
325
391
|
});
|
|
@@ -328,7 +394,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
328
394
|
var task = new Upload(uploadOption);
|
|
329
395
|
|
|
330
396
|
if (props.autoUpload) {
|
|
331
|
-
task.
|
|
397
|
+
task.uploadTaro(Taro.uploadFile, Taro.getEnv());
|
|
332
398
|
} else {
|
|
333
399
|
uploadQueue.push(new Promise(function (resolve, reject) {
|
|
334
400
|
resolve(task);
|
|
@@ -338,37 +404,56 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
338
404
|
};
|
|
339
405
|
|
|
340
406
|
var readFile = function readFile(files) {
|
|
407
|
+
var imgReg = /\.(png|jpeg|jpg|webp|gif)$/i;
|
|
341
408
|
files.forEach(function (file, index) {
|
|
342
|
-
|
|
343
|
-
|
|
409
|
+
console.log('file', file);
|
|
410
|
+
var fileType = file.type;
|
|
344
411
|
var fileItem = new FileItem();
|
|
345
|
-
|
|
412
|
+
|
|
413
|
+
if (!fileType && imgReg.test(file.path)) {
|
|
414
|
+
fileType = 'image';
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
fileItem.path = file.path;
|
|
418
|
+
fileItem.name = file.path;
|
|
346
419
|
fileItem.status = 'ready';
|
|
347
|
-
fileItem.type = file.type;
|
|
348
|
-
fileItem.formData = formData;
|
|
349
|
-
fileItem.uid = file.lastModified + fileItem.uid;
|
|
350
420
|
fileItem.message = locale.uploader.readyUpload;
|
|
351
|
-
|
|
421
|
+
fileItem.type = fileType;
|
|
352
422
|
|
|
353
|
-
if (
|
|
354
|
-
var
|
|
423
|
+
if (Taro.getEnv() == 'WEB') {
|
|
424
|
+
var _file$originalFileObj, _file$originalFileObj2;
|
|
355
425
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
426
|
+
var formData = new FormData();
|
|
427
|
+
|
|
428
|
+
for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
|
|
429
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
|
|
430
|
+
key = _Object$entries2$_i[0],
|
|
431
|
+
value = _Object$entries2$_i[1];
|
|
432
|
+
|
|
433
|
+
formData.append(key, value);
|
|
434
|
+
}
|
|
361
435
|
|
|
362
|
-
|
|
436
|
+
formData.append(name, file.originalFileObj);
|
|
437
|
+
fileItem.name = (_file$originalFileObj = file.originalFileObj) === null || _file$originalFileObj === void 0 ? void 0 : _file$originalFileObj.name;
|
|
438
|
+
fileItem.type = (_file$originalFileObj2 = file.originalFileObj) === null || _file$originalFileObj2 === void 0 ? void 0 : _file$originalFileObj2.type;
|
|
439
|
+
fileItem.formData = formData;
|
|
363
440
|
} else {
|
|
364
|
-
|
|
365
|
-
setFileList(_toConsumableArray(fileList));
|
|
441
|
+
fileItem.formData = data;
|
|
366
442
|
}
|
|
443
|
+
|
|
444
|
+
if (isPreview) {
|
|
445
|
+
fileItem.url = file.path;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
fileList.push(fileItem);
|
|
449
|
+
setFileList(_toConsumableArray(fileList));
|
|
450
|
+
executeUpload(fileItem, index);
|
|
367
451
|
});
|
|
368
452
|
};
|
|
369
453
|
|
|
370
454
|
var filterFiles = function filterFiles(files) {
|
|
371
455
|
var maximum = props.maximum * 1;
|
|
456
|
+
var maximize = props.maximize * 1;
|
|
372
457
|
var oversizes = new Array();
|
|
373
458
|
var filterFile = files.filter(function (file) {
|
|
374
459
|
if (file.size > maximize) {
|
|
@@ -380,16 +465,13 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
380
465
|
});
|
|
381
466
|
|
|
382
467
|
if (oversizes.length) {
|
|
383
|
-
|
|
468
|
+
onOversize && onOversize(files);
|
|
384
469
|
}
|
|
385
470
|
|
|
386
|
-
|
|
387
|
-
filterFile.splice(maximum, filterFile.length - maximum);
|
|
388
|
-
}
|
|
471
|
+
var currentFileLength = filterFile.length + fileList.length;
|
|
389
472
|
|
|
390
|
-
if (
|
|
391
|
-
|
|
392
|
-
filterFile.splice(index, filterFile.length - index);
|
|
473
|
+
if (currentFileLength > maximum) {
|
|
474
|
+
filterFile.splice(filterFile.length - (currentFileLength - maximum));
|
|
393
475
|
}
|
|
394
476
|
|
|
395
477
|
return filterFile;
|
|
@@ -398,71 +480,48 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
398
480
|
var onDelete = function onDelete(file, index) {
|
|
399
481
|
clearUploadQueue(index);
|
|
400
482
|
|
|
401
|
-
if (
|
|
483
|
+
if (onBeforeDelete && onBeforeDelete(file, fileList)) {
|
|
402
484
|
fileList.splice(index, 1);
|
|
403
|
-
|
|
485
|
+
onRemove && onRemove(file, fileList);
|
|
404
486
|
setFileList(_toConsumableArray(fileList));
|
|
405
487
|
} else {
|
|
406
488
|
console.log(locale.uploader.deleteWord);
|
|
407
489
|
}
|
|
408
490
|
};
|
|
409
491
|
|
|
410
|
-
var
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
var $el = event.target;
|
|
416
|
-
var files = $el.files;
|
|
492
|
+
var onChangeFn = function onChangeFn(res) {
|
|
493
|
+
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
|
|
494
|
+
var tempFiles = res.tempFiles;
|
|
417
495
|
|
|
418
|
-
if (
|
|
419
|
-
|
|
420
|
-
var _files = filterFiles(
|
|
496
|
+
if (onBeforeUpload) {
|
|
497
|
+
onBeforeUpload(tempFiles).then(function (f) {
|
|
498
|
+
var _files = filterFiles(f);
|
|
421
499
|
|
|
422
500
|
readFile(_files);
|
|
423
501
|
});
|
|
424
502
|
} else {
|
|
425
|
-
var _files = filterFiles(
|
|
503
|
+
var _files = filterFiles(tempFiles);
|
|
426
504
|
|
|
427
505
|
readFile(_files);
|
|
428
506
|
}
|
|
429
507
|
|
|
430
|
-
|
|
431
|
-
fileList: fileList
|
|
432
|
-
event: event
|
|
508
|
+
onChange && onChange({
|
|
509
|
+
fileList: fileList
|
|
433
510
|
});
|
|
434
|
-
|
|
435
|
-
if (clearInput) {
|
|
436
|
-
clearInputValue($el);
|
|
437
|
-
}
|
|
438
511
|
};
|
|
439
512
|
|
|
440
513
|
var handleItemClick = function handleItemClick(file) {
|
|
441
|
-
|
|
514
|
+
onFileItemClick && onFileItemClick(file);
|
|
442
515
|
};
|
|
443
516
|
|
|
444
517
|
return React__default.createElement("div", _objectSpread({
|
|
445
518
|
className: classes
|
|
446
519
|
}, restProps), children && React__default.createElement("div", {
|
|
447
520
|
className: "nut-uploader__slot"
|
|
448
|
-
}, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(
|
|
449
|
-
className: "nut-uploader__input",
|
|
450
|
-
type: "file",
|
|
451
|
-
capture: "user",
|
|
452
|
-
name: name,
|
|
453
|
-
accept: accept,
|
|
454
|
-
disabled: disabled,
|
|
455
|
-
multiple: multiple,
|
|
456
|
-
onChange: fileChange
|
|
457
|
-
}) : React__default.createElement("input", {
|
|
521
|
+
}, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(Button, {
|
|
458
522
|
className: "nut-uploader__input",
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
accept: accept,
|
|
462
|
-
disabled: disabled,
|
|
463
|
-
multiple: multiple,
|
|
464
|
-
onChange: fileChange
|
|
465
|
-
})))), fileList.length !== 0 && fileList.map(function (item, index) {
|
|
523
|
+
onClick: chooseImage
|
|
524
|
+
}))), fileList.length !== 0 && fileList.map(function (item, index) {
|
|
466
525
|
return React__default.createElement("div", {
|
|
467
526
|
className: "nut-uploader__preview ".concat(listType),
|
|
468
527
|
key: item.uid
|
|
@@ -487,7 +546,7 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
487
546
|
color: "rgba(0,0,0,0.6)",
|
|
488
547
|
className: "close",
|
|
489
548
|
name: "failure",
|
|
490
|
-
|
|
549
|
+
onClick: function onClick() {
|
|
491
550
|
return onDelete(item, index);
|
|
492
551
|
}
|
|
493
552
|
}), item.type.includes('image') ? React__default.createElement(React__default.Fragment, null, item.url && React__default.createElement("img", {
|
|
@@ -533,9 +592,14 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
533
592
|
color: "#808080",
|
|
534
593
|
className: "nut-uploader__preview-img__file__del",
|
|
535
594
|
name: "del",
|
|
536
|
-
|
|
595
|
+
onClick: function onClick() {
|
|
537
596
|
return onDelete(item, index);
|
|
538
597
|
}
|
|
598
|
+
}), item.status === 'uploading' && React__default.createElement(Progress, {
|
|
599
|
+
size: "small",
|
|
600
|
+
percentage: item.percentage,
|
|
601
|
+
strokeColor: "linear-gradient(270deg, rgba(18,126,255,1) 0%,rgba(32,147,255,1) 32.815625%,rgba(13,242,204,1) 100%)",
|
|
602
|
+
showText: false
|
|
539
603
|
})));
|
|
540
604
|
}), maximum > fileList.length && listType === 'picture' && !children && React__default.createElement("div", {
|
|
541
605
|
className: "nut-uploader__upload ".concat(listType)
|
|
@@ -545,23 +609,9 @@ var InternalUploader = function InternalUploader(props, ref) {
|
|
|
545
609
|
size: uploadIconSize,
|
|
546
610
|
color: "#808080",
|
|
547
611
|
name: uploadIcon
|
|
548
|
-
}),
|
|
549
|
-
className: "nut-uploader__input",
|
|
550
|
-
type: "file",
|
|
551
|
-
capture: "user",
|
|
552
|
-
name: name,
|
|
553
|
-
accept: accept,
|
|
554
|
-
disabled: disabled,
|
|
555
|
-
multiple: multiple,
|
|
556
|
-
onChange: fileChange
|
|
557
|
-
}) : React__default.createElement("input", {
|
|
612
|
+
}), React__default.createElement(Button, {
|
|
558
613
|
className: "nut-uploader__input",
|
|
559
|
-
|
|
560
|
-
name: name,
|
|
561
|
-
accept: accept,
|
|
562
|
-
disabled: disabled,
|
|
563
|
-
multiple: multiple,
|
|
564
|
-
onChange: fileChange
|
|
614
|
+
onClick: chooseImage
|
|
565
615
|
})));
|
|
566
616
|
};
|
|
567
617
|
|
package/dist/locales/base.js
CHANGED
package/dist/locales/en-US.js
CHANGED
package/dist/locales/id-ID.js
CHANGED
package/dist/locales/zh-CN.js
CHANGED
package/dist/locales/zh-TW.js
CHANGED