UNPKG

betanet-mini-ui

Version:
202 lines (167 loc) 7.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _react = _interopRequireDefault(require("react")); var _api = _interopRequireDefault(require("../../api")); var _PicturePicker = _interopRequireDefault(require("./PicturePicker")); var BmPicture = function BmPicture(props) { var action = props.action, _props$name = props.name, name = _props$name === void 0 ? 'file' : _props$name, _props$formData = props.formData, formData = _props$formData === void 0 ? {} : _props$formData, _props$value = props.value, value = _props$value === void 0 ? [] : _props$value, _props$fileType = props.fileType, fileType = _props$fileType === void 0 ? 'image' : _props$fileType, _props$onChange = props.onChange, onChange = _props$onChange === void 0 ? function () {} : _props$onChange, beforeUpload = props.beforeUpload; var uploadCount = 0; var handleChange = function handleChange(files, operationType, operationData, index) { if (operationType !== 'add') { onChange((0, _toConsumableArray2.default)(files), operationType, operationData, index); return; } operationData === null || operationData === void 0 ? void 0 : operationData.forEach( /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(currentFile) { var _currentFile$file, _currentFile$file2; var cFileName, uploadParam, innerParam, bData, _ref2, innerAction, innerFormData, fFormData, iFromData, fAction, iAction, fFromData, cFromData, finalAction, result; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: uploadCount++; currentFile.file.status = 'uploading'; onChange((0, _toConsumableArray2.default)(files), operationType, operationData); cFileName = currentFile === null || currentFile === void 0 ? void 0 : (_currentFile$file = currentFile.file) === null || _currentFile$file === void 0 ? void 0 : _currentFile$file.name; uploadParam = { filePath: (currentFile === null || currentFile === void 0 ? void 0 : (_currentFile$file2 = currentFile.file) === null || _currentFile$file2 === void 0 ? void 0 : _currentFile$file2.path) || '', name: name, fileName: cFileName, fileType: fileType }; if (!beforeUpload) { _context.next = 29; break; } _context.next = 8; return beforeUpload(files, currentFile); case 8: bData = _context.sent; _ref2 = bData || {}, innerAction = _ref2.action, innerFormData = _ref2.formData; fFormData = innerFormData || formData; iFromData = fFormData instanceof Function ? fFormData() : fFormData; fAction = innerAction || action; iAction = fAction instanceof Function ? fAction() : fAction; _context.next = 16; return iFromData; case 16: fFromData = _context.sent; _context.t0 = _objectSpread2.default; _context.t1 = (0, _objectSpread2.default)({}, uploadParam); _context.t2 = {}; _context.next = 22; return iAction; case 22: _context.t3 = _context.sent; _context.t4 = fFromData; _context.t5 = (fFromData === null || fFromData === void 0 ? void 0 : fFromData.fileName) || cFileName; _context.t6 = { url: _context.t3, formData: _context.t4, fileName: _context.t5 }; innerParam = (0, _context.t0)(_context.t1, _context.t2, _context.t6); _context.next = 42; break; case 29: cFromData = formData instanceof Function ? formData() : formData; finalAction = action instanceof Function ? action() : action; _context.t7 = _objectSpread2.default; _context.t8 = (0, _objectSpread2.default)({}, uploadParam); _context.t9 = {}; _context.next = 36; return finalAction; case 36: _context.t10 = _context.sent; _context.next = 39; return cFromData; case 39: _context.t11 = _context.sent; _context.t12 = { url: _context.t10, formData: _context.t11 }; innerParam = (0, _context.t7)(_context.t8, _context.t9, _context.t12); case 42: _context.prev = 42; _context.next = 45; return upload(innerParam); case 45: result = _context.sent; if ((result === null || result === void 0 ? void 0 : result.statusCode) === 200) { currentFile.file.status = 'done'; } else { currentFile.file.status = 'error'; } currentFile.file.response = result; _context.next = 54; break; case 50: _context.prev = 50; _context.t13 = _context["catch"](42); currentFile.file.status = 'error'; currentFile.file.response = _context.t13; case 54: if (uploadCount >= operationData.length) { onChange((0, _toConsumableArray2.default)(files), operationType, operationData); } case 55: case "end": return _context.stop(); } } }, _callee, null, [[42, 50]]); })); return function (_x) { return _ref.apply(this, arguments); }; }()); }; var upload = function upload(param) { var _ref3 = param || {}, url = _ref3.url, filePath = _ref3.filePath, _ref3$name = _ref3.name, name = _ref3$name === void 0 ? 'file' : _ref3$name, fileName = _ref3.fileName, _ref3$formData = _ref3.formData, formData = _ref3$formData === void 0 ? {} : _ref3$formData, _ref3$fileType = _ref3.fileType, fileType = _ref3$fileType === void 0 ? 'image' : _ref3$fileType; return _api.default.uploadFile({ url: url, filePath: filePath, name: name, fileName: fileName, formData: formData, fileType: fileType }); }; return /*#__PURE__*/_react.default.createElement(_PicturePicker.default, (0, _extends2.default)({}, props, { value: (0, _toConsumableArray2.default)(value), onChange: handleChange })); }; BmPicture.defaultProps = {}; var _default = BmPicture; exports.default = _default;