UNPKG

choerodon-ui

Version:

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

89 lines (70 loc) 2.41 kB
import _extends from "@babel/runtime/helpers/extends"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = _getPrototypeOf(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } import React, { Component } from 'react'; import Spin from '../spin'; import exception from './exception'; var asyncComponent = function asyncComponent(importComponent) { var AsyncComponent = /*#__PURE__*/ function (_Component) { _inherits(AsyncComponent, _Component); var _super = _createSuper(AsyncComponent); function AsyncComponent() { var _this; _classCallCheck(this, AsyncComponent); _this = _super.apply(this, arguments); _this.state = {}; return _this; } _createClass(AsyncComponent, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; importComponent().then(function (_ref) { var component = _ref["default"]; _this2.setState({ component: component }); }, exception); } }, { key: "render", value: function render() { var Cmp = this.state.component; return Cmp ? React.createElement(Cmp, _extends({}, this.props)) : React.createElement(Spin, null); } }]); return AsyncComponent; }(Component); return AsyncComponent; }; export default asyncComponent; //# sourceMappingURL=AsyncComponent.js.map