79 lines
2.8 KiB
JavaScript
79 lines
2.8 KiB
JavaScript
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
var _excluded = ["key", "name"];
|
|
import { DownOutlined, EllipsisOutlined } from '@ant-design/icons';
|
|
import { menuOverlayCompatible } from '@ant-design/pro-utils';
|
|
import { Button, ConfigProvider, Dropdown } from 'antd';
|
|
import classnames from 'classnames';
|
|
import React, { useContext } from 'react';
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
/**
|
|
* 一个简单的下拉菜单
|
|
*
|
|
* @param param0
|
|
*/
|
|
var DropdownButton = function DropdownButton(_ref) {
|
|
var children = _ref.children,
|
|
menus = _ref.menus,
|
|
onSelect = _ref.onSelect,
|
|
className = _ref.className,
|
|
style = _ref.style;
|
|
var _useContext = useContext(ConfigProvider.ConfigContext),
|
|
getPrefixCls = _useContext.getPrefixCls;
|
|
var tempClassName = getPrefixCls('pro-table-dropdown');
|
|
var dropdownProps = menuOverlayCompatible({
|
|
onClick: function onClick(params) {
|
|
return onSelect && onSelect(params.key);
|
|
},
|
|
items: menus === null || menus === void 0 ? void 0 : menus.map(function (item) {
|
|
return {
|
|
label: item.name,
|
|
key: item.key
|
|
};
|
|
})
|
|
});
|
|
return /*#__PURE__*/_jsx(Dropdown, _objectSpread(_objectSpread({}, dropdownProps), {}, {
|
|
className: classnames(tempClassName, className),
|
|
children: /*#__PURE__*/_jsxs(Button, {
|
|
style: style,
|
|
children: [children, " ", /*#__PURE__*/_jsx(DownOutlined, {})]
|
|
})
|
|
}));
|
|
};
|
|
var TableDropdown = function TableDropdown(_ref2) {
|
|
var propsClassName = _ref2.className,
|
|
style = _ref2.style,
|
|
onSelect = _ref2.onSelect,
|
|
_ref2$menus = _ref2.menus,
|
|
menus = _ref2$menus === void 0 ? [] : _ref2$menus,
|
|
children = _ref2.children;
|
|
var _useContext2 = useContext(ConfigProvider.ConfigContext),
|
|
getPrefixCls = _useContext2.getPrefixCls;
|
|
var className = getPrefixCls('pro-table-dropdown');
|
|
var dropdownProps = menuOverlayCompatible({
|
|
onClick: function onClick(params) {
|
|
onSelect === null || onSelect === void 0 || onSelect(params.key);
|
|
},
|
|
items: menus.map(function (_ref3) {
|
|
var key = _ref3.key,
|
|
name = _ref3.name,
|
|
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
return _objectSpread(_objectSpread({
|
|
key: key
|
|
}, rest), {}, {
|
|
title: rest.title,
|
|
label: name
|
|
});
|
|
})
|
|
});
|
|
return /*#__PURE__*/_jsx(Dropdown, _objectSpread(_objectSpread({}, dropdownProps), {}, {
|
|
className: classnames(className, propsClassName),
|
|
children: /*#__PURE__*/_jsx("a", {
|
|
style: style,
|
|
children: children || /*#__PURE__*/_jsx(EllipsisOutlined, {})
|
|
})
|
|
}));
|
|
};
|
|
TableDropdown.Button = DropdownButton;
|
|
export default TableDropdown; |