rc-menu-rtl
Version:
rtl menu ui component for react
86 lines (69 loc) • 2.72 kB
JavaScript
import _extends from 'babel-runtime/helpers/extends';
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
import _inherits from 'babel-runtime/helpers/inherits';
import React from 'react';
import PropTypes from 'prop-types';
import { menuAllProps } from './util';
var MenuItemGroup = function (_React$Component) {
_inherits(MenuItemGroup, _React$Component);
function MenuItemGroup() {
var _temp, _this, _ret;
_classCallCheck(this, MenuItemGroup);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {
var _this$props = _this.props,
renderMenuItem = _this$props.renderMenuItem,
index = _this$props.index;
return renderMenuItem(item, index, _this.props.subMenuKey);
}, _temp), _possibleConstructorReturn(_this, _ret);
}
MenuItemGroup.prototype.render = function render() {
var props = _objectWithoutProperties(this.props, []);
var _props$className = props.className,
className = _props$className === undefined ? '' : _props$className,
rootPrefixCls = props.rootPrefixCls;
var titleClassName = rootPrefixCls + '-item-group-title';
var listClassName = rootPrefixCls + '-item-group-list';
var title = props.title,
children = props.children;
menuAllProps.forEach(function (key) {
return delete props[key];
});
// Set onClick to null, to ignore propagated onClick event
delete props.onClick;
return React.createElement(
'li',
_extends({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),
React.createElement(
'div',
{
className: titleClassName,
title: typeof title === 'string' ? title : undefined
},
title
),
React.createElement(
'ul',
{ className: listClassName },
React.Children.map(children, this.renderInnerMenuItem)
)
);
};
return MenuItemGroup;
}(React.Component);
MenuItemGroup.propTypes = {
renderMenuItem: PropTypes.func,
index: PropTypes.number,
className: PropTypes.string,
subMenuKey: PropTypes.string,
rootPrefixCls: PropTypes.string
};
MenuItemGroup.defaultProps = {
disabled: true
};
MenuItemGroup.isMenuItemGroup = true;
export default MenuItemGroup;