drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
69 lines (54 loc) • 2.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("./index.less");
var _rcMenu = _interopRequireDefault(require("rc-menu"));
var _react = _interopRequireDefault(require("react"));
var _context = _interopRequireDefault(require("./context"));
var _override = _interopRequireDefault(require("./override"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
* This file is part of the drip-table project.
* @link : https://drip-table.jd.com/
* @author : Emil Zhai (root@derzh.com)
* @modifier : Emil Zhai (root@derzh.com)
* @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd.
*/
var PREFIX_CLS = 'jfe-drip-table-rc-menu';
var MenuItem = /*#__PURE__*/_react.default.memo(function (props) {
var context = _react.default.useContext(_context.default);
return /*#__PURE__*/_react.default.createElement(_rcMenu.default.Item, props, /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(context.prefixCls, "-item-icon")
}, props.icon), /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(context.prefixCls, "-title-content")
}, props.children));
});
var Menu = Object.assign({
Item: MenuItem,
ItemGroup: _rcMenu.default.ItemGroup
}, /*#__PURE__*/_react.default.memo(function (props) {
var _props$expandIcon, _props$mode, _props$selectable, _props$onClick;
var override = _react.default.useContext(_override.default);
var prefixCls = _react.default.useMemo(function () {
return (override === null || override === void 0 ? void 0 : override.prefixCls) || PREFIX_CLS;
}, [override === null || override === void 0 ? void 0 : override.prefixCls]);
var menuContext = _react.default.useMemo(function () {
return {
prefixCls: prefixCls
};
}, [prefixCls]);
return /*#__PURE__*/_react.default.createElement(_context.default.Provider, {
value: menuContext
}, /*#__PURE__*/_react.default.createElement(_rcMenu.default, {
prefixCls: prefixCls,
items: props.items,
expandIcon: (_props$expandIcon = props.expandIcon) !== null && _props$expandIcon !== void 0 ? _props$expandIcon : override === null || override === void 0 ? void 0 : override.expandIcon,
mode: (_props$mode = props.mode) !== null && _props$mode !== void 0 ? _props$mode : override === null || override === void 0 ? void 0 : override.mode,
selectable: (_props$selectable = props.selectable) !== null && _props$selectable !== void 0 ? _props$selectable : override === null || override === void 0 ? void 0 : override.selectable,
onClick: (_props$onClick = props.onClick) !== null && _props$onClick !== void 0 ? _props$onClick : override === null || override === void 0 ? void 0 : override.onClick
}, props.children));
}));
var _default = Menu;
exports.default = _default;