UNPKG

tntd

Version:

tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

146 lines (144 loc) 7.24 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _get2 = _interopRequireDefault(require("lodash/get")); var _react = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireWildcard(require("styled-components")); require("../button"); var _popover = _interopRequireDefault(require("../popover")); var _row = _interopRequireDefault(require("../row")); var _divider = _interopRequireDefault(require("../divider")); var _ActionsContext = _interopRequireDefault(require("./ActionsContext")); var _images = _interopRequireDefault(require("./images")); var _storage = require("./storage"); var _templateObject, _templateObject2, _templateObject3; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); } var Avatar = _styledComponents["default"].li(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-right: 0;\n font-size: 0;\n img {\n width: 26px;\n height: 26px;\n border-radius: 50%;\n cursor: pointer;\n .large-size & {\n width: 32px;\n height: 32px;\n }\n }\n"]))); var GlobalStyle = (0, _styledComponents.createGlobalStyle)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .tnt-layout-personal-popover {\n .ant-popover-inner-content {\n padding: 0;\n }\n }\n"]))); var UserInfoWrapper = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n min-width: 235px;\n z-index: 1;\n background-color: #fff;\n border-radius: 4px;\n\n .isInIframe & {\n display: none;\n }\n\n .user-info-body {\n padding: 30px 20px 20px 24px;\n line-height: 16px;\n .user-info-body-username {\n margin-top: 0px;\n font-size: 16px;\n color: #333;\n font-weight: normal;\n margin-bottom: 10px;\n line-height: 16px;\n }\n .user-info-body-account {\n margin-top: 0px;\n color: #666;\n margin-bottom: 14px;\n line-height: 16px;\n }\n a {\n margin-right: 16px;\n }\n }\n .user-info-footer {\n border-top: ", ";\n background-color: #fff;\n height: 36px;\n line-height: 36px;\n padding: 0 15px;\n font-size: 12px;\n color: ", ";\n a {\n flex: 1;\n text-align: center;\n color: ", ";\n }\n }\n"])), function (props) { return "1px solid ".concat(props.theme.dividerColor); }, function (props) { return "".concat(props.theme.primaryColor); }, function (props) { return "".concat(props.theme.primaryColor); }); var UserInfoContent = function UserInfoContent(props) { var userInfo = props.userInfo, onLogout = props.onLogout, _props$onChangePasswo = props.onChangePassword, onChangePassword = _props$onChangePasswo === void 0 ? function () { return true; } : _props$onChangePasswo, _props$onPersonalSett = props.onPersonalSetting, onPersonalSetting = _props$onPersonalSett === void 0 ? function () { return true; } : _props$onPersonalSett; var _useContext = (0, _react.useContext)(_ActionsContext["default"]), getText = _useContext.getText; return _react["default"].createElement(UserInfoWrapper, { className: "user-info-setting-wrap" }, _react["default"].createElement("div", { className: "user-info-body" }, _react["default"].createElement("p", { className: "user-info-body-username" }, userInfo.userName || getText('nameNull')), _react["default"].createElement("p", { className: "user-info-body-account" }, userInfo.account)), _react["default"].createElement(_row["default"], { className: "user-info-footer", type: "flex", justify: "space-between", align: "middle" }, _react["default"].createElement("a", { onClick: onPersonalSetting, href: "/bridge/userCenter?currentTab=1" }, getText('personalSettings')), _react["default"].createElement(_divider["default"], { type: "vertical" }), _react["default"].createElement("a", { onClick: onChangePassword, href: "/bridge/userCenter?currentTab=2", style: (0, _storage.getLanguageStore)() === 'en' ? { flex: 2 } : {} }, getText('changePwd')), _react["default"].createElement(_divider["default"], { type: "vertical" }), _react["default"].createElement("a", { className: "user-info-footer-signout", onClick: function onClick() { if (onLogout) { onLogout(); (0, _storage.clearLoginCookie)(); } else { (0, _storage.clearLoginCookie)(); window.location.href = "/user/login?callbackUrl=".concat(window.encodeURI(location.href)); } } }, getText('signOut')))); }; var _default = exports["default"] = function _default(props) { var _a; var _props$userInfo = props.userInfo, userInfo = _props$userInfo === void 0 ? {} : _props$userInfo; var avatar = userInfo.avatar; return _react["default"].createElement(Avatar, null, _react["default"].createElement(_popover["default"], { popupClassName: "tnt-layout-personal-popover", placement: "bottomRight", title: null, content: _react["default"].createElement(UserInfoContent, Object.assign({}, props)), trigger: "click" }, avatar ? _react["default"].createElement("img", { src: avatar.indexOf('base64') > 0 ? avatar : (0, _get2["default"])(_images["default"][avatar], 'default', _images["default"][avatar]), onError: function onError(e) { var _a; e.target.onerror = null; e.target.src = ((_a = _images["default"].empty) === null || _a === void 0 ? void 0 : _a["default"]) || _images["default"].empty; } }) : _react["default"].createElement("img", { src: ((_a = _images["default"].empty) === null || _a === void 0 ? void 0 : _a["default"]) || _images["default"].empty })), _react["default"].createElement(GlobalStyle, null)); };