UNPKG

@riil-frontend/component-page-config

Version:

page config components,include components list,component attribute panel and page canvas

73 lines (54 loc) 2.39 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireWildcard(require("react")); var _starkModule = require("@ice/stark-module"); var _componentNoDataPage = _interopRequireDefault(require("@riil-frontend/component-no-data-page")); var _ahooks = require("ahooks"); require("./index.scss"); var MicroCom = function MicroCom(props) { var ref = (0, _react.useRef)(); //判定组件是否可见 var isInView = (0, _ahooks.useInViewport)(ref); var _useState = (0, _react.useState)(true), isLoadSuccess = _useState[0], setIsLoadSuccess = _useState[1]; var path = props.path, comDict = props.comDict, other = (0, _objectWithoutPropertiesLoose2["default"])(props, ["path", "comDict"]); var thisCom = comDict[other.config.type]; var _useState2 = (0, _react.useState)([thisCom.path + '/index.js', thisCom.path + '/index.css']), url = _useState2[0], setUrl = _useState2[1]; var shouldMount = (0, _react.useRef)(false); if (isInView && !shouldMount.current) { shouldMount.current = true; } if (thisCom) { return isLoadSuccess ? /*#__PURE__*/_react["default"].createElement("div", { className: "micro-module-wrap", ref: ref }, shouldMount.current ? /*#__PURE__*/_react["default"].createElement(_starkModule.MicroModule, (0, _extends2["default"])({ moduleInfo: { url: url, name: other.config.type } }, other, { handleError: function handleError(e) { setIsLoadSuccess(false); }, microPath: thisCom.path })) : null) : /*#__PURE__*/_react["default"].createElement(_componentNoDataPage["default"], { statusCode: "\u6B64\u7EC4\u4EF6\u8D44\u6E90\u6587\u4EF6\u4E0D\u5B58\u5728" }); } else { return /*#__PURE__*/_react["default"].createElement(_componentNoDataPage["default"], { statusCode: "\u6B64\u7EC4\u4EF6\u4E0D\u5B58\u5728" }); } }; var _default = MicroCom; exports["default"] = _default;