UNPKG

dareway-rui

Version:

136 lines (116 loc) 5.22 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn')); var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty')); var _react = _interopRequireDefault(require('react')); var _propTypes = _interopRequireDefault(require('prop-types')); var _core = require('../../core'); var Import = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(Import, _React$Component); function Import(props) { var _this; (0, _classCallCheck2.default)(this, Import); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(Import).call(this, props) ); _this.state = { AsyncComponent: null, error: null, errorInfo: null }; return _this; } ////////////////////////////////////////////////////////////////////////////////////// (0, _createClass2.default)(Import, [ { key: 'componentDidCatch', ////////////////////////////////////////////////////////////////////////////////////// value: function componentDidCatch(error, errorInfo) { this.setState({ error: error, errorInfo: errorInfo }); } ////////////////////////////////////////////////////////////////////////////////////// }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.mounted = false; } }, { key: 'componentWillMount', value: function componentWillMount() { var _this2 = this; _core.RUICore.loadCustomViewModel(this.props.biz, this.props.vmPath).then(function(_ref) { var AsyncComponent = _ref.connectedView, connectedModel = _ref.connectedModel; if (_this2.mounted) { _this2.setState({ AsyncComponent: AsyncComponent }); } else { _this2.state.AsyncComponent = AsyncComponent; } }); } }, { key: 'componentDidMount', value: function componentDidMount() { this.mounted = true; } }, { key: 'render', value: function render() { if (this.state.errorInfo) { // Error path return _react.default.createElement( 'div', null, _react.default.createElement('h2', null, 'Exception'), '<Import biz={'.concat(this.props.biz, '} vmPath={').concat(this.props.vmPath, '}/>'), this.state.error && this.state.error.message && _react.default.createElement('h2', null, this.state.error.message), _react.default.createElement( 'details', { style: { whiteSpace: 'pre-wrap' } }, this.state.error && this.state.error.toString(), _react.default.createElement('br', null), this.state.errorInfo.componentStack ) ); } var AsyncComponent = this.state.AsyncComponent; if (AsyncComponent) return _react.default.createElement(AsyncComponent, this.props); return null; } } ]); return Import; })(_react.default.Component); exports.default = Import; (0, _defineProperty2.default)(Import, 'defaultProps', { biz: null }); (0, _defineProperty2.default)(Import, 'propTypes', { biz: _propTypes.default.string, vmPath: _propTypes.default.string.isRequired }); //@ sourceMappingURL=Import.js.map