UNPKG

fx-form-widget

Version:
91 lines (90 loc) 3.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _dropdown = _interopRequireDefault(require("antd/lib/dropdown")); var _button = _interopRequireDefault(require("antd/lib/button")); var _message2 = _interopRequireDefault(require("antd/lib/message")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _theme2 = _interopRequireDefault(require("antd/lib/theme")); var _react = _interopRequireDefault(require("react")); var _icons = require("@ant-design/icons"); var useToken = _theme2["default"].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["default"].createElement(_icons.PlusOutlined, null) }); } if (handleRefresh) { items.push({ key: 'refresh', label: '刷新', icon: /*#__PURE__*/_react["default"].createElement(_icons.ReloadOutlined, null) }); } var handleMenuClick = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(e) { return _regenerator["default"].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: _message2["default"].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["default"].createElement(_dropdown["default"], { placement: "bottomRight", menu: { items: items, onClick: handleMenuClick } }, /*#__PURE__*/_react["default"].createElement(_button["default"], { style: style, icon: /*#__PURE__*/_react["default"].createElement(_icons.EllipsisOutlined, null) })); }; var _default = exports["default"] = DropdownAction;