ming-demo3
Version:
mdf metaui web
288 lines (240 loc) • 9.56 kB
JavaScript
"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