choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
134 lines (103 loc) • 4.64 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _util = require("./util");
function _createSuper(Derived) {
function isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
return true;
} catch (e) {
return false;
}
}
return function () {
var Super = (0, _getPrototypeOf2["default"])(Derived),
result;
if (isNativeReflectConstruct()) {
var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
result = Reflect.construct(Super, arguments, NewTarget);
} else {
result = Super.apply(this, arguments);
}
return (0, _possibleConstructorReturn2["default"])(this, result);
};
}
var MenuItemGroup =
/*#__PURE__*/
function (_Component) {
(0, _inherits2["default"])(MenuItemGroup, _Component);
var _super = _createSuper(MenuItemGroup);
function MenuItemGroup() {
var _this;
(0, _classCallCheck2["default"])(this, MenuItemGroup);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderInnerMenuItem", function (item) {
var _this$props = _this.props,
renderMenuItem = _this$props.renderMenuItem,
index = _this$props.index;
return renderMenuItem(item, index, _this.props.subMenuKey);
});
return _this;
}
(0, _createClass2["default"])(MenuItemGroup, [{
key: "render",
value: function render() {
var props = (0, _extends2["default"])({}, this.props);
var _props$className = props.className,
className = _props$className === void 0 ? '' : _props$className,
rootPrefixCls = props.rootPrefixCls;
var titleClassName = "".concat(rootPrefixCls, "-item-group-title");
var listClassName = "".concat(rootPrefixCls, "-item-group-list");
var title = props.title,
children = props.children;
_util.menuAllProps.forEach(function (key) {
return delete props[key];
}); // Set onClick to null, to ignore propagated onClick event
delete props.onClick;
return _react["default"].createElement("li", (0, _extends2["default"])({}, props, {
className: "".concat(className, " ").concat(rootPrefixCls, "-item-group")
}), _react["default"].createElement("div", {
className: titleClassName,
title: typeof title === 'string' ? title : undefined
}, title), _react["default"].createElement("ul", {
className: listClassName
}, _react.Children.map(children, this.renderInnerMenuItem)));
}
}]);
return MenuItemGroup;
}(_react.Component);
(0, _defineProperty2["default"])(MenuItemGroup, "propTypes", {
renderMenuItem: _propTypes["default"].func,
index: _propTypes["default"].number,
className: _propTypes["default"].string,
subMenuKey: _propTypes["default"].string,
rootPrefixCls: _propTypes["default"].string
});
(0, _defineProperty2["default"])(MenuItemGroup, "defaultProps", {
disabled: true
});
MenuItemGroup.isMenuItemGroup = true;
var _default = MenuItemGroup;
exports["default"] = _default;
//# sourceMappingURL=MenuItemGroup.js.map