UNPKG

3.87 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.default = undefined;
5
6var _extends2 = require('babel-runtime/helpers/extends');
7
8var _extends3 = _interopRequireDefault(_extends2);
9
10var _typeof2 = require('babel-runtime/helpers/typeof');
11
12var _typeof3 = _interopRequireDefault(_typeof2);
13
14var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
15
16var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
17
18var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
19
20var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
21
22var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
23
24var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
25
26var _inherits2 = require('babel-runtime/helpers/inherits');
27
28var _inherits3 = _interopRequireDefault(_inherits2);
29
30var _class, _temp;
31
32var _react = require('react');
33
34var _react2 = _interopRequireDefault(_react);
35
36var _propTypes = require('prop-types');
37
38var _propTypes2 = _interopRequireDefault(_propTypes);
39
40var _classnames = require('classnames');
41
42var _classnames2 = _interopRequireDefault(_classnames);
43
44var _item = require('./item');
45
46var _item2 = _interopRequireDefault(_item);
47
48function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
50/**
51 * Menu.Group
52 * @order 5
53 */
54var Group = (_temp = _class = function (_Component) {
55 (0, _inherits3.default)(Group, _Component);
56
57 function Group() {
58 (0, _classCallCheck3.default)(this, Group);
59 return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));
60 }
61
62 Group.prototype.render = function render() {
63 var _cx;
64
65 var _props = this.props,
66 root = _props.root,
67 className = _props.className,
68 label = _props.label,
69 children = _props.children,
70 parentMode = _props.parentMode,
71 others = (0, _objectWithoutProperties3.default)(_props, ['root', 'className', 'label', 'children', 'parentMode']);
72 var prefix = root.props.prefix;
73
74
75 var newClassName = (0, _classnames2.default)((_cx = {}, _cx[prefix + 'menu-group-label'] = true, _cx[className] = !!className, _cx));
76
77 var newChildren = children.map(function (child) {
78 var _cx2;
79
80 // to fix https://github.com/alibaba-fusion/next/issues/952
81 if (typeof child !== 'function' && (typeof child === 'undefined' ? 'undefined' : (0, _typeof3.default)(child)) !== 'object') {
82 return child;
83 }
84 var className = child.props.className;
85
86 var newChildClassName = (0, _classnames2.default)((_cx2 = {}, _cx2[prefix + 'menu-group-item'] = true, _cx2[className] = !!className, _cx2));
87
88 return (0, _react.cloneElement)(child, {
89 parentMode: parentMode,
90 className: newChildClassName
91 });
92 });
93
94 return [_react2.default.createElement(
95 _item2.default,
96 (0, _extends3.default)({
97 key: 'menu-group-label',
98 className: newClassName,
99 replaceClassName: true,
100 root: root,
101 parentMode: parentMode
102 }, others),
103 label
104 )].concat(newChildren);
105 };
106
107 return Group;
108}(_react.Component), _class.menuChildType = 'group', _class.propTypes = {
109 root: _propTypes2.default.object,
110 className: _propTypes2.default.string,
111 /**
112 * 标签内容
113 */
114 label: _propTypes2.default.node,
115 /**
116 * 菜单项
117 */
118 children: _propTypes2.default.node,
119 parentMode: _propTypes2.default.oneOf(['inline', 'popup'])
120}, _temp);
121Group.displayName = 'Group';
122exports.default = Group;
123module.exports = exports['default'];
\No newline at end of file