fx-form-widget
Version:
86 lines • 2.6 kB
JavaScript
import _Dropdown from "antd/es/dropdown";
import _Button from "antd/es/button";
import _message from "antd/es/message";
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
import _theme from "antd/es/theme";
import _regeneratorRuntime from "@babel/runtime/regenerator";
import React from 'react';
import { PlusOutlined, ReloadOutlined, EllipsisOutlined } from '@ant-design/icons';
var useToken = _theme.useToken;
var DropdownAction = function DropdownAction(_ref) {
var variant = _ref.variant,
addRoute = _ref.addRoute,
handleRefresh = _ref.handleRefresh;
var _useToken = useToken(),
token = _useToken.token;
var items = [];
if (addRoute) {
items.push({
key: 'add',
label: '新增',
icon: /*#__PURE__*/React.createElement(PlusOutlined, null)
});
}
if (handleRefresh) {
items.push({
key: 'refresh',
label: '刷新',
icon: /*#__PURE__*/React.createElement(ReloadOutlined, null)
});
}
var handleMenuClick = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(e) {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(e.key === 'add')) {
_context.next = 4;
break;
}
window.open("" + window.location.origin + addRoute);
_context.next = 8;
break;
case 4:
if (!(e.key === 'refresh')) {
_context.next = 8;
break;
}
_context.next = 7;
return handleRefresh();
case 7:
_message.success('刷新成功');
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handleMenuClick(_x) {
return _ref2.apply(this, arguments);
};
}();
var style = variant === 'filled' ? {
width: 30,
border: 'none',
borderLeft: '1px solid #eee',
borderTopLeftRadius: 0,
borderBottomLeftRadius: 0,
background: token.colorFillTertiary
} : {
width: 30,
borderLeft: 0,
borderTopLeftRadius: 0,
borderBottomLeftRadius: 0
};
return /*#__PURE__*/React.createElement(_Dropdown, {
placement: "bottomRight",
menu: {
items: items,
onClick: handleMenuClick
}
}, /*#__PURE__*/React.createElement(_Button, {
style: style,
icon: /*#__PURE__*/React.createElement(EllipsisOutlined, null)
}));
};
export default DropdownAction;