ming-demo3
Version:
mdf metaui web
224 lines (190 loc) • 7.57 kB
JavaScript
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
;