UNPKG

fx-form-widget

Version:
86 lines 2.6 kB
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;