1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = undefined;
|
5 |
|
6 | var _extends2 = require('babel-runtime/helpers/extends');
|
7 |
|
8 | var _extends3 = _interopRequireDefault(_extends2);
|
9 |
|
10 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
11 |
|
12 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13 |
|
14 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
15 |
|
16 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17 |
|
18 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
19 |
|
20 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
21 |
|
22 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
23 |
|
24 | var _inherits3 = _interopRequireDefault(_inherits2);
|
25 |
|
26 | var _class, _temp2;
|
27 |
|
28 | var _react = require('react');
|
29 |
|
30 | var _react2 = _interopRequireDefault(_react);
|
31 |
|
32 | var _propTypes = require('prop-types');
|
33 |
|
34 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
35 |
|
36 | var _util = require('../../util');
|
37 |
|
38 | var _uploader = require('./uploader');
|
39 |
|
40 | var _uploader2 = _interopRequireDefault(_uploader);
|
41 |
|
42 | var _selecter = require('./selecter');
|
43 |
|
44 | var _selecter2 = _interopRequireDefault(_selecter);
|
45 |
|
46 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47 |
|
48 | var Html5Uploader = (_temp2 = _class = function (_Component) {
|
49 | (0, _inherits3.default)(Html5Uploader, _Component);
|
50 |
|
51 | function Html5Uploader() {
|
52 | var _temp, _this, _ret;
|
53 |
|
54 | (0, _classCallCheck3.default)(this, Html5Uploader);
|
55 |
|
56 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
57 | args[_key] = arguments[_key];
|
58 | }
|
59 |
|
60 | return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.getUploadOptions = function (props) {
|
61 | return {
|
62 | action: props.action,
|
63 | name: props.name,
|
64 | timeout: props.timeout,
|
65 | method: props.method,
|
66 | beforeUpload: props.beforeUpload,
|
67 | onProgress: props.onProgress,
|
68 | onSuccess: props.onSuccess,
|
69 | onError: props.onError,
|
70 | withCredentials: props.withCredentials,
|
71 | headers: props.headers,
|
72 | data: props.data,
|
73 | request: props.request
|
74 | };
|
75 | }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
76 | }
|
77 |
|
78 | Html5Uploader.prototype.componentDidMount = function componentDidMount() {
|
79 | var props = this.props;
|
80 |
|
81 | var options = this.getUploadOptions(props);
|
82 | this.uploader = new _uploader2.default(options);
|
83 | };
|
84 |
|
85 | Html5Uploader.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
|
86 | var preOptions = this.getUploadOptions(prevProps);
|
87 | var options = this.getUploadOptions(this.props);
|
88 |
|
89 | var keys = Object.keys(options);
|
90 |
|
91 | for (var i = 0; i < keys.length; i++) {
|
92 | var key = keys[i];
|
93 | if (options[key] !== preOptions[key]) {
|
94 | this.uploader.setOptions(options);
|
95 | return;
|
96 | }
|
97 | }
|
98 | };
|
99 |
|
100 | Html5Uploader.prototype.componentWillUnmount = function componentWillUnmount() {
|
101 | this.abort();
|
102 | };
|
103 |
|
104 | Html5Uploader.prototype.abort = function abort(file) {
|
105 | this.uploader.abort(file);
|
106 | };
|
107 |
|
108 | Html5Uploader.prototype.startUpload = function startUpload(fileList) {
|
109 | this.uploader.startUpload(fileList);
|
110 | };
|
111 |
|
112 | Html5Uploader.prototype.render = function render() {
|
113 | var _props = this.props,
|
114 | accept = _props.accept,
|
115 | multiple = _props.multiple,
|
116 | webkitdirectory = _props.webkitdirectory,
|
117 | children = _props.children,
|
118 | id = _props.id,
|
119 | disabled = _props.disabled,
|
120 | dragable = _props.dragable,
|
121 | style = _props.style,
|
122 | className = _props.className,
|
123 | onSelect = _props.onSelect,
|
124 | onDragOver = _props.onDragOver,
|
125 | onDragLeave = _props.onDragLeave,
|
126 | onDrop = _props.onDrop,
|
127 | name = _props.name,
|
128 | others = (0, _objectWithoutProperties3.default)(_props, ['accept', 'multiple', 'webkitdirectory', 'children', 'id', 'disabled', 'dragable', 'style', 'className', 'onSelect', 'onDragOver', 'onDragLeave', 'onDrop', 'name']);
|
129 |
|
130 |
|
131 | return _react2.default.createElement(
|
132 | _selecter2.default,
|
133 | (0, _extends3.default)({}, others, {
|
134 | id: id,
|
135 | accept: accept,
|
136 | multiple: multiple,
|
137 | webkitdirectory: webkitdirectory,
|
138 | dragable: dragable,
|
139 | disabled: disabled,
|
140 | className: className,
|
141 | style: style,
|
142 | onSelect: onSelect,
|
143 | onDragOver: onDragOver,
|
144 | onDragLeave: onDragLeave,
|
145 | onDrop: onDrop,
|
146 | name: name
|
147 | }),
|
148 | children
|
149 | );
|
150 | };
|
151 |
|
152 | return Html5Uploader;
|
153 | }(_react.Component), _class.propTypes = (0, _extends3.default)({}, _selecter2.default.propTypes, {
|
154 | |
155 |
|
156 |
|
157 | action: _propTypes2.default.string,
|
158 | |
159 |
|
160 |
|
161 | accept: _propTypes2.default.string,
|
162 | |
163 |
|
164 |
|
165 | data: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.func]),
|
166 | |
167 |
|
168 |
|
169 | headers: _propTypes2.default.object,
|
170 | |
171 |
|
172 |
|
173 | withCredentials: _propTypes2.default.bool,
|
174 | |
175 |
|
176 |
|
177 |
|
178 |
|
179 | beforeUpload: _propTypes2.default.func,
|
180 | |
181 |
|
182 |
|
183 | onProgress: _propTypes2.default.func,
|
184 | |
185 |
|
186 |
|
187 | onSuccess: _propTypes2.default.func,
|
188 | |
189 |
|
190 |
|
191 | onError: _propTypes2.default.func,
|
192 | children: _propTypes2.default.node,
|
193 | |
194 |
|
195 |
|
196 | timeout: _propTypes2.default.number,
|
197 | |
198 |
|
199 |
|
200 | method: _propTypes2.default.oneOf(['post', 'put']),
|
201 | request: _propTypes2.default.func
|
202 | }), _class.defaultProps = (0, _extends3.default)({}, _selecter2.default.defaultProps, {
|
203 | name: 'file',
|
204 | multiple: false,
|
205 | withCredentials: true,
|
206 | beforeUpload: _util.func.noop,
|
207 | onSelect: _util.func.noop,
|
208 | onDragOver: _util.func.noop,
|
209 | onDragLeave: _util.func.noop,
|
210 | onDrop: _util.func.noop,
|
211 | onProgress: _util.func.noop,
|
212 | onSuccess: _util.func.noop,
|
213 | onError: _util.func.noop,
|
214 | onAbort: _util.func.noop,
|
215 | method: 'post'
|
216 | }), _temp2);
|
217 | Html5Uploader.displayName = 'Html5Uploader';
|
218 | exports.default = Html5Uploader;
|
219 | module.exports = exports['default']; |
\ | No newline at end of file |