UNPKG

5.55 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = void 0;
11
12var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
14var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
16var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
18var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
20var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
22var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
24var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
25
26require("antd/es/layout/style");
27
28var _layout = _interopRequireDefault(require("antd/es/layout"));
29
30require("./Header.less");
31
32var _react = _interopRequireWildcard(require("react"));
33
34var _classnames = _interopRequireDefault(require("classnames"));
35
36var _GlobalHeader = _interopRequireDefault(require("./components/GlobalHeader"));
37
38var _TopNavHeader = _interopRequireDefault(require("./components/TopNavHeader"));
39
40var _utils = require("./utils/utils");
41
42var Header = _layout.default.Header;
43
44var HeaderView = /*#__PURE__*/function (_Component) {
45 (0, _inherits2.default)(HeaderView, _Component);
46
47 var _super = (0, _createSuper2.default)(HeaderView);
48
49 function HeaderView() {
50 var _this;
51
52 (0, _classCallCheck2.default)(this, HeaderView);
53
54 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55 args[_key] = arguments[_key];
56 }
57
58 _this = _super.call.apply(_super, [this].concat(args));
59
60 _this.renderContent = function () {
61 var _this$props = _this.props,
62 isMobile = _this$props.isMobile,
63 onCollapse = _this$props.onCollapse,
64 navTheme = _this$props.navTheme,
65 layout = _this$props.layout,
66 headerRender = _this$props.headerRender,
67 headerContentRender = _this$props.headerContentRender;
68 var isTop = layout === 'top';
69 var clearMenuData = (0, _utils.clearMenuItem)(_this.props.menuData || []);
70
71 var defaultDom = /*#__PURE__*/_react.default.createElement(_GlobalHeader.default, (0, _extends2.default)({
72 onCollapse: onCollapse
73 }, _this.props, {
74 menuData: clearMenuData
75 }), headerContentRender && headerContentRender(_this.props, null));
76
77 if (isTop && !isMobile) {
78 defaultDom = /*#__PURE__*/_react.default.createElement(_TopNavHeader.default, (0, _extends2.default)({
79 theme: navTheme,
80 mode: "horizontal",
81 onCollapse: onCollapse
82 }, _this.props, {
83 menuData: clearMenuData
84 }));
85 }
86
87 if (headerRender && typeof headerRender === 'function') {
88 return headerRender(_this.props, defaultDom);
89 }
90
91 return defaultDom;
92 };
93
94 return _this;
95 }
96
97 (0, _createClass2.default)(HeaderView, [{
98 key: "render",
99 value: function render() {
100 var _classNames;
101
102 var _this$props2 = this.props,
103 fixedHeader = _this$props2.fixedHeader,
104 layout = _this$props2.layout,
105 propsClassName = _this$props2.className,
106 style = _this$props2.style,
107 navTheme = _this$props2.navTheme,
108 collapsed = _this$props2.collapsed,
109 siderWidth = _this$props2.siderWidth,
110 hasSiderMenu = _this$props2.hasSiderMenu,
111 isMobile = _this$props2.isMobile,
112 prefixCls = _this$props2.prefixCls,
113 headerHeight = _this$props2.headerHeight;
114 var needFixedHeader = fixedHeader || layout === 'mix';
115 var isTop = layout === 'top';
116 var needSettingWidth = needFixedHeader && hasSiderMenu && !isTop && !isMobile;
117 var className = (0, _classnames.default)(propsClassName, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-fixed-header"), needFixedHeader), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-fixed-header-action"), !collapsed), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-top-menu"), isTop), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-header-").concat(navTheme), navTheme && layout !== 'mix'), _classNames));
118 /** 计算侧边栏的宽度,不然导致左边的样式会出问题 */
119
120 var width = layout !== 'mix' && needSettingWidth ? "calc(100% - ".concat(collapsed ? 48 : siderWidth, "px)") : '100%';
121 var right = needFixedHeader ? 0 : undefined;
122 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, needFixedHeader && /*#__PURE__*/_react.default.createElement(Header, {
123 style: {
124 height: headerHeight,
125 lineHeight: "".concat(headerHeight, "px"),
126 background: 'transparent'
127 }
128 }), /*#__PURE__*/_react.default.createElement(Header, {
129 style: (0, _objectSpread2.default)({
130 padding: 0,
131 height: headerHeight,
132 lineHeight: "".concat(headerHeight, "px"),
133 width: width,
134 zIndex: layout === 'mix' ? 100 : 19,
135 right: right
136 }, style),
137 className: className
138 }, this.renderContent()));
139 }
140 }]);
141 return HeaderView;
142}(_react.Component);
143
144var _default = HeaderView;
145exports.default = _default;
\No newline at end of file