1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
6 |
|
7 | Object.defineProperty(exports, "__esModule", {
|
8 | value: true
|
9 | });
|
10 | exports.default = exports.RightContent = void 0;
|
11 |
|
12 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
13 |
|
14 | var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
15 |
|
16 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
17 |
|
18 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
19 |
|
20 | var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
21 |
|
22 | var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
23 |
|
24 | var _react = _interopRequireWildcard(require("react"));
|
25 |
|
26 | var _classnames = _interopRequireDefault(require("classnames"));
|
27 |
|
28 | var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
|
29 |
|
30 | var _SiderMenu = require("../SiderMenu/SiderMenu");
|
31 |
|
32 | require("./index.less");
|
33 |
|
34 | var _BaseMenu = _interopRequireDefault(require("../SiderMenu/BaseMenu"));
|
35 |
|
36 | var _proUtils = require("@ant-design/pro-utils");
|
37 |
|
38 | var _excluded = ["rightContentRender", "prefixCls"];
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 | var RightContent = function RightContent(_ref) {
|
46 | var rightContentRender = _ref.rightContentRender,
|
47 | prefixCls = _ref.prefixCls,
|
48 | props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
49 |
|
50 | var _useState = (0, _react.useState)('auto'),
|
51 | _useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
52 | rightSize = _useState2[0],
|
53 | setRightSize = _useState2[1];
|
54 |
|
55 |
|
56 |
|
57 | var setRightSizeDebounceFn = (0, _proUtils.useDebounceFn)( function () {
|
58 | var _ref2 = (0, _asyncToGenerator2.default)( _regenerator.default.mark(function _callee(width) {
|
59 | return _regenerator.default.wrap(function _callee$(_context) {
|
60 | while (1) {
|
61 | switch (_context.prev = _context.next) {
|
62 | case 0:
|
63 | setRightSize(width);
|
64 |
|
65 | case 1:
|
66 | case "end":
|
67 | return _context.stop();
|
68 | }
|
69 | }
|
70 | }, _callee);
|
71 | }));
|
72 |
|
73 | return function (_x) {
|
74 | return _ref2.apply(this, arguments);
|
75 | };
|
76 | }(), 160);
|
77 | return _react.default.createElement("div", {
|
78 | className: "".concat(prefixCls, "-right-content"),
|
79 | style: {
|
80 | minWidth: rightSize
|
81 | }
|
82 | }, _react.default.createElement("div", {
|
83 | style: {
|
84 | paddingRight: 8
|
85 | }
|
86 | }, _react.default.createElement(_rcResizeObserver.default, {
|
87 | onResize: function onResize(_ref3) {
|
88 | var width = _ref3.width;
|
89 | setRightSizeDebounceFn.run(width);
|
90 | }
|
91 | }, rightContentRender && _react.default.createElement("div", {
|
92 | className: "".concat(prefixCls, "-right-content-resize")
|
93 | }, rightContentRender((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
94 |
|
95 |
|
96 | rightContentSize: rightSize
|
97 | }))))));
|
98 | };
|
99 |
|
100 | exports.RightContent = RightContent;
|
101 |
|
102 | var TopNavHeader = function TopNavHeader(props) {
|
103 | var ref = (0, _react.useRef)(null);
|
104 | var theme = props.theme,
|
105 | onMenuHeaderClick = props.onMenuHeaderClick,
|
106 | contentWidth = props.contentWidth,
|
107 | rightContentRender = props.rightContentRender,
|
108 | propsClassName = props.className,
|
109 | style = props.style,
|
110 | headerContentRender = props.headerContentRender,
|
111 | layout = props.layout;
|
112 | var prefixCls = "".concat(props.prefixCls || 'ant-pro', "-top-nav-header");
|
113 | var headerDom = (0, _SiderMenu.defaultRenderLogoAndTitle)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
114 | collapsed: false
|
115 | }), layout === 'mix' ? 'headerTitleRender' : undefined);
|
116 | var className = (0, _classnames.default)(prefixCls, propsClassName, {
|
117 | light: theme === 'light'
|
118 | });
|
119 |
|
120 | var defaultDom = _react.default.createElement(_BaseMenu.default, (0, _extends2.default)({}, props, props.menuProps));
|
121 |
|
122 | var headerContentDom = headerContentRender ? headerContentRender === null || headerContentRender === void 0 ? void 0 : headerContentRender(props, defaultDom) : defaultDom;
|
123 | return _react.default.createElement("div", {
|
124 | className: className,
|
125 | style: style
|
126 | }, _react.default.createElement("div", {
|
127 | ref: ref,
|
128 | className: "".concat(prefixCls, "-main ").concat(contentWidth === 'Fixed' ? 'wide' : '')
|
129 | }, headerDom && _react.default.createElement("div", {
|
130 | className: "".concat(prefixCls, "-main-left"),
|
131 | onClick: onMenuHeaderClick
|
132 | }, _react.default.createElement("div", {
|
133 | className: "".concat(prefixCls, "-logo"),
|
134 | key: "logo",
|
135 | id: "logo"
|
136 | }, headerDom)), _react.default.createElement("div", {
|
137 | style: {
|
138 | flex: 1
|
139 | },
|
140 | className: "".concat(prefixCls, "-menu")
|
141 | }, headerContentDom), rightContentRender && _react.default.createElement(RightContent, (0, _extends2.default)({
|
142 | rightContentRender: rightContentRender,
|
143 | prefixCls: prefixCls
|
144 | }, props))));
|
145 | };
|
146 |
|
147 | var _default = TopNavHeader;
|
148 | exports.default = _default; |
\ | No newline at end of file |