UNPKG

ming-demo3

Version:
224 lines (190 loc) 7.57 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 _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 _PortalTabItem = _interopRequireDefault(require("./PortalTabItem")); var tabsactions = _interopRequireWildcard(require("../../redux/tabs")); var portalactions = _interopRequireWildcard(require("../../redux/portal")); var TabPane = _baseui.Tabs.TabPane; var TabList = function (_Component) { (0, _inherits2["default"])(TabList, _Component); function TabList(props) { var _this; (0, _classCallCheck2["default"])(this, TabList); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TabList).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (activeKey) { var tabsactions = _this.props.tabsactions; tabsactions.activateItem(activeKey); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onEdit", function (targetKey, action) { _this[action](targetKey); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "remove", function (key) { var _this$props = _this.props, tabsactions = _this$props.tabsactions, portalactions = _this$props.portalactions, portal = _this$props.portal; var current = portal.tabs[key]; if (!current || !current.panes.length) return; var currentPanes = current.panes; var activeContent = currentPanes[currentPanes.length - 1].content; if (activeContent.vm) { activeContent.vm.promiseExecute('return', '关闭', function () { tabsactions.deleteItem(key); }); } else if (activeContent.type && activeContent.url) { if (activeContent.checkReturn) { portalactions.refreshItem(key, '关闭', function () { tabsactions.deleteItem(key); }); } else { tabsactions.deleteItem(key); } } }); _this.list = []; _this.keylist = []; _this.newmetaid = 0; return _this; } (0, _createClass2["default"])(TabList, [{ key: "handleRefresh", value: function handleRefresh() { debugger; } }, { key: "handleCloseOther", value: function handleCloseOther() { debugger; } }, { key: "handleCloseAll", value: function handleCloseAll() { debugger; } }, { key: "render", value: function render() { var _this2 = this; var tabs = this.props.tabs; if (tabs.needUpdate) { var length = tabs.panes.length, i = 0, width = 0, height = 0; if (tabs.width) width = tabs.width; if (tabs.height) height = tabs.height; for (; i < length; i++) { var _tabs$panes$i = tabs.panes[i], key = _tabs$panes$i.key, title = _tabs$panes$i.title, closable = _tabs$panes$i.closable, content = _tabs$panes$i.content, params = _tabs$panes$i.params; var tabPaneProps = { tab: title, key: key, closable: closable }; var tabItemProps = { index: key, title: title, content: content, params: params, width: width, height: height }; if (this.list[i]) { if (key !== this.keylist[i]) { this.list.splice(i, 1); this.keylist.splice(i, 1); } else { if (content.vm || content.type && content.url) { this.list[i] = _react["default"].createElement(TabPane, tabPaneProps, _react["default"].createElement(_PortalTabItem["default"], tabItemProps)); } } } else { if (content.vm || content.type && content.url) { this.list.push(_react["default"].createElement(TabPane, tabPaneProps, _react["default"].createElement(_PortalTabItem["default"], tabItemProps))); this.keylist.push(key); } } } if (this.list[i]) { this.list.splice(i, 1); this.keylist.splice(i, 1); } } var operations = _react["default"].createElement(_baseui.Popover, { content: _react["default"].createElement("div", { className: "title-setting top-right-title" }, _react["default"].createElement("p", null, _react["default"].createElement("a", { onClick: function onClick() { return _this2.handleRefresh(); } }, _react["default"].createElement(_baseui.Icon, { type: "user" }), "\u5237\u65B0")), _react["default"].createElement("p", null, _react["default"].createElement("a", { onClick: function onClick() { return _this2.handleCloseOther(); } }, _react["default"].createElement(_baseui.Icon, { type: "lock" }), "\u5173\u95ED\u5176\u4ED6")), _react["default"].createElement("p", null, _react["default"].createElement("a", { onClick: function onClick() { return _this2.handleCloseAll(); } }, _react["default"].createElement(_baseui.Icon, { type: "poweroff" }), "\u5173\u95ED\u5168\u90E8"))) }, _react["default"].createElement("span", { className: "title-name" }, _react["default"].createElement(_baseui.Icon, { type: "rowBottom" }))); return _react["default"].createElement("div", { ref: "container", className: "height-100" }, _react["default"].createElement(_baseui.Tabs, { hideAdd: true, onChange: this.onChange, activeKey: tabs.activeKey, type: "editable-card", onEdit: this.onEdit, animated: false, className: this.props.className, tabBarExtraContent: operations }, this.list)); } }]); return TabList; }(_react.Component); function mapStateToProps(state) { return { tabs: state.tabs.toJS(), portal: state.portal.toJS() }; } function mapDispatchToProps(dispatch) { return { tabsactions: (0, _redux.bindActionCreators)(tabsactions, dispatch), portalactions: (0, _redux.bindActionCreators)(portalactions, dispatch) }; } var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(TabList); exports["default"] = _default; //# sourceMappingURL=Tabs.js.map