UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

105 lines (88 loc) 2.82 kB
import _extends from "@babel/runtime/helpers/extends"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _createSuper from "@babel/runtime/helpers/createSuper"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import React, { Component } from 'react'; import noop from 'lodash/noop'; import AjaxUpload from './AjaxUploader'; import IframeUpload from './IframeUploader'; var Upload = /*#__PURE__*/function (_Component) { _inherits(Upload, _Component); var _super = _createSuper(Upload); function Upload() { var _this; _classCallCheck(this, Upload); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _defineProperty(_assertThisInitialized(_this), "state", { Component: null }); _defineProperty(_assertThisInitialized(_this), "saveUploader", function (node) { _this.uploader = node; }); return _this; } _createClass(Upload, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.supportServerRender) { /* eslint react/no-did-mount-set-state:0 */ this.setState({ Component: this.getComponent() }, this.props.onReady); } } }, { key: "getComponent", value: function getComponent() { return typeof File !== 'undefined' ? AjaxUpload : IframeUpload; } }, { key: "abort", value: function abort(file) { this.uploader.abort(file); } }, { key: "render", value: function render() { if (this.props.supportServerRender) { var _ComponentUploader = this.state.Component; if (_ComponentUploader) { return /*#__PURE__*/React.createElement(_ComponentUploader, _extends({}, this.props, { ref: this.saveUploader })); } return null; } var ComponentUploader = this.getComponent(); return /*#__PURE__*/React.createElement(ComponentUploader, _extends({}, this.props, { ref: this.saveUploader })); } }]); return Upload; }(Component); _defineProperty(Upload, "defaultProps", { component: 'span', prefixCls: 'rc-upload', data: {}, headers: {}, name: 'file', multipart: false, onReady: noop, onStart: noop, onError: noop, onSuccess: noop, supportServerRender: false, multiple: false, beforeUpload: null, customRequest: null, withCredentials: false }); export default Upload; //# sourceMappingURL=Upload.js.map