nsn-comp
Version:
NSN核心组件
66 lines (58 loc) • 2.18 kB
JavaScript
import "antd/es/button/style";
import _Button from "antd/es/button";
import "antd/es/dropdown/style";
import _Dropdown from "antd/es/dropdown";
import "antd/es/menu/style";
import _Menu from "antd/es/menu";
import { DownOutlined } from '@ant-design/icons';
import { NLocale, NType } from 'nsn-util';
import React from 'react';
import { CollapseAllMenu } from './CollapseAllMenu';
import { ExpandAllMenu } from './ExpandAllMenu';
var MoreMenus = function MoreMenus(props) {
var comp = props.comp,
text = props.text,
_props$expandAll = props.expandAll,
expandAll = _props$expandAll === void 0 ? true : _props$expandAll,
_props$collapseAll = props.collapseAll,
collapseAll = _props$collapseAll === void 0 ? true : _props$collapseAll,
_props$items = props.items,
items = _props$items === void 0 ? [] : _props$items;
var table = comp.props.table;
var tree = table.tree;
var page = comp.state.page;
var _ref = page || {},
_ref$records = _ref.records,
records = _ref$records === void 0 ? [] : _ref$records; // 合并 onClick 操作
var onClick = function onClick(info) {
switch (info.key) {
case 'expandAll':
comp.setState({
expandedRowKeys: records.map(function (ele) {
return ele.id;
})
});
break;
case 'collapseAll':
comp.setState({
expandedRowKeys: []
});
break;
default:
break;
}
};
var menu = React.createElement(_Menu, Object.assign({}, {
onClick: onClick
}), items.map(function (ele) {
return React.createElement(_Menu.Item, Object.assign({}, ele, {
key: ele.id
}), ele.title);
}), tree && items.length > 0 && React.createElement(_Menu.Divider, null), tree && expandAll && ExpandAllMenu(NType.isBoolean(expandAll) ? {} : expandAll), tree && collapseAll && CollapseAllMenu(NType.isBoolean(collapseAll) ? {} : collapseAll));
return React.createElement(_Dropdown, {
overlay: menu
}, React.createElement(_Button, {
type: "text"
}, text || NLocale.getText('common.other'), " ", React.createElement(DownOutlined, null)));
};
export { MoreMenus };