UNPKG

@antdp/basic-layouts

Version:

入口框架公共界面

105 lines (104 loc) 3.89 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _icons = require("@ant-design/icons"); var _fullscreen = _interopRequireDefault(require("@antdp/fullscreen")); var _antd = require("antd"); var _react = _interopRequireWildcard(require("react")); var _reactRouterDom = require("react-router-dom"); var _SearchMenus = _interopRequireDefault(require("../SearchMenus")); var _hooks = require("./../hooks"); var _jsxRuntime = require("react/jsx-runtime"); var _excluded = ["icon", "title", "link", "onClick"]; var User = function User() { var _useLayouts = (0, _hooks.useLayouts)(), _useLayouts$topRightM = _useLayouts.topRightMenu, topRightMenu = _useLayouts$topRightM === void 0 ? [] : _useLayouts$topRightM, _useLayouts$profile = _useLayouts.profile, profile = _useLayouts$profile === void 0 ? {} : _useLayouts$profile, topRightLanguage = _useLayouts.topRightLanguage; var avatar = profile.avatar, name = profile.name; var rightMenu = (0, _react.useMemo)(function () { return topRightMenu.map(function (item, index) { var icon = item.icon, title = item.title, link = item.link, onClick = item.onClick, rest = (0, _objectWithoutProperties2["default"])(item, _excluded); if (item.divider) { return { type: 'divider' }; } if (!title) { return null; } var child = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, { children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { style: { marginRight: 5 }, children: icon }), title] }); if (link) { child = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, { to: link, children: child }); } return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, rest), {}, { label: child, key: index, onClick: onClick }); }); }, [topRightMenu]); return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react["default"].Fragment, { children: [ANTD_MENU_SEARCH_IS_SHOW && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { style: { marginRight: 10 }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchMenus["default"], {}) }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_fullscreen["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Dropdown, { menu: { items: rightMenu }, placement: "bottomRight", trigger: ['click'], children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", { className: "antdp-basic-layouts-header-user", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", { style: { marginRight: 8 }, children: avatar ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", { src: avatar }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Avatar, { size: 24, icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.UserOutlined, { style: { minWidth: 'inherit', marginRight: 0 } }) }) }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { style: { userSelect: 'none' }, children: name || ' - ' })] }) }), topRightLanguage] }); }; var _default = exports["default"] = User; module.exports = exports.default;