UNPKG

ming-demo3

Version:
288 lines (240 loc) 9.56 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); 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 _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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _redux = require("redux"); var _reactRedux = require("react-redux"); var _baseui = require("@mdf/baseui"); var _Iframe = _interopRequireDefault(require("./Iframe")); var portalactions = _interopRequireWildcard(require("../../redux/portal")); var _env = _interopRequireDefault(require("../../helpers/env")); var UserDefineArchives = _interopRequireWildcard(require("../user-define-archives")); var PrintDesign = _interopRequireWildcard(require("../print-design")); var BillDesign = _interopRequireWildcard(require("../bill-design")); var PlatformManagement = _interopRequireWildcard(require("../platform-management")); var Echart = _interopRequireWildcard(require("../echart")); var SensDataRole = _interopRequireWildcard(require("../dataauth-set")); var VoucherSearch = _interopRequireWildcard(require("../voucher-search")); var _extend = require("@mdf/cube/lib/extend"); var TabPane = _baseui.Tabs.TabPane; var Meta = null; var BasePlatformComponents = { 'user-define-archives': UserDefineArchives, 'print-design': PrintDesign, 'bill-design': BillDesign, 'platform-management': PlatformManagement, 'echart': Echart, 'dataauth-set': SensDataRole, 'voucher-search': VoucherSearch }; var PortalTabItem = function (_Component) { (0, _inherits2["default"])(PortalTabItem, _Component); function PortalTabItem(props) { var _this; (0, _classCallCheck2["default"])(this, PortalTabItem); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(PortalTabItem).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRefresh", function () { var _this$props = _this.props, portalactions = _this$props.portalactions, portal = _this$props.portal, index = _this$props.index; var current = portal.tabs[index]; if (!current || !current.panes.length) return; portalactions.delItem(index, { refresh: true }); var currentPanes = current.panes; if (currentPanes.length === 1) { var data = currentPanes[0].params; var callback = function callback(vm, viewmeta, title) { data.refresh = true; portalactions.addItem(index, { title: title, content: { vm: vm, metaData: viewmeta }, params: data }); }; cb.loader.runCommandLine('bill', data, null, callback); } else { var _currentPanes = currentPanes[currentPanes.length - 1], title = _currentPanes.title, content = _currentPanes.content, params = _currentPanes.params, parent = _currentPanes.parent; params.refresh = true; if (content.vm) { cb.loader.runCommandLine('bill', params, parent); } else { portalactions.addItem(index, { title: title, content: content, params: params, parent: parent }); } } }); Meta = _env["default"].INTERACTIVE_MODE === 'touch' ? require('meta-touch')["default"] : require('../meta-runner')["default"]; _this.list = []; return _this; } (0, _createClass2["default"])(PortalTabItem, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; if (window.parent !== window && window.jDiwork) { window.jDiwork.onData(function (data) { if (data.action === 'isRefresh') { _this2.handleRefresh(); } }); } var _this$props2 = this.props, needInit = _this$props2.needInit, portalactions = _this$props2.portalactions, index = _this$props2.index, title = _this$props2.title, content = _this$props2.content, params = _this$props2.params, updateTitle = _this$props2.updateTitle; if (needInit === false) return; portalactions.metaInit(index, { title: title, content: content, params: params, updateTitle: updateTitle }); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { var _this$props3 = this.props, portalactions = _this$props3.portalactions, index = _this$props3.index; portalactions.destroy(index); } }, { key: "render", value: function render() { var PlatformComponents = Object.assign({}, BasePlatformComponents, _extend.extendComp.portal); var _this$props4 = this.props, portal = _this$props4.portal, index = _this$props4.index, width = _this$props4.width, height = _this$props4.height; var current = portal.tabs[index]; if (!current || !current.panes.length) return null; var length = current.panes.length; var i; for (i = 0; i < length; i++) { var pane = current.panes[i]; var tabContent = void 0; if (pane.content) { if (pane.content.vm) { tabContent = _react["default"].createElement(Meta, { index: index, width: width, height: height, title: pane.title, viewModel: pane.content.vm, metaData: pane.content.metaData, id: pane.key }); } else if (pane.content.type && pane.content.url) { var url = pane.content.url; var search = null; var queryStringIndex = url.indexOf('?'); if (queryStringIndex > -1) { search = url.substr(queryStringIndex); url = url.substr(0, queryStringIndex); } var extraProps = {}; if (search) Object.assign(extraProps, new cb.utils.queryString(search).query); var items = url.split('/'); var indexCom = void 0, ComName = void 0; try { if (pane.content.type === 'platform') { indexCom = PlatformComponents[items[0]]; ComName = items.length === 2 ? indexCom[items[1]] : indexCom["default"]; tabContent = _react["default"].createElement(ComName, (0, _extends2["default"])({ index: index, width: width, height: height, data: pane.content.data, caption: pane.caption, callback: pane.callback }, extraProps)); } else if (pane.content.type === 'iframe') { tabContent = _react["default"].createElement(_Iframe["default"], { index: index, url: pane.content.url, width: width, height: height }); } } catch (e) { console.error(e.message); } } } else { tabContent = _react["default"].createElement("h1", { style: { display: 'none' } }, "\u6B63\u5728\u5237\u65B0\uFF0C\u8BF7\u7A0D\u540E\u3002\u3002\u3002"); } if (tabContent) { if (this.list[i]) { this.list[i] = _react["default"].createElement(TabPane, { key: pane.key, forceRender: pane.content && pane.content.delay }, tabContent); } else { this.list.push(_react["default"].createElement(TabPane, { key: pane.key, forceRender: pane.content && pane.content.delay }, tabContent)); } } } if (this.list[i]) this.list.splice(i, 1); return _react["default"].createElement(_baseui.Tabs, { className: "meta-container height-100", hideAdd: true, activeKey: current.activeKey, type: "editable-card", animated: false }, this.list); } }]); return PortalTabItem; }(_react.Component); function mapStateToProps(state) { return { portal: state.portal.toJS() }; } function mapDispatchToProps(dispatch) { return { portalactions: (0, _redux.bindActionCreators)(portalactions, dispatch) }; } var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PortalTabItem); exports["default"] = _default; //# sourceMappingURL=PortalTabItem.js.map