@entando/menu
Version:
react components used to render menus in entando projects
73 lines (59 loc) • 1.72 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _reactRouterDom = require('react-router-dom');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var LinkMenuItem = function LinkMenuItem(_ref) {
var id = _ref.id,
label = _ref.label,
active = _ref.active,
to = _ref.to,
className = _ref.className,
onClick = _ref.onClick,
pullRight = _ref.pullRight,
isNav = _ref.isNav;
var liClassName = 'LinkMenuItem';
liClassName += className ? ' ' + className : '';
if (pullRight) {
liClassName += ' pull-right';
}
if (active) {
liClassName += ' active';
}
var LinkComponent = isNav ? _reactRouterDom.NavLink : _reactRouterDom.Link;
return _react2.default.createElement(
'li',
{ key: to, className: liClassName, 'data-id': id },
_react2.default.createElement(
LinkComponent,
{
onClick: onClick,
to: to
},
label
)
);
};
LinkMenuItem.propTypes = {
id: _propTypes2.default.string.isRequired,
label: _propTypes2.default.node.isRequired,
active: _propTypes2.default.bool,
className: _propTypes2.default.string,
pullRight: _propTypes2.default.bool,
onClick: _propTypes2.default.func,
to: _propTypes2.default.string.isRequired,
isNav: _propTypes2.default.bool
};
LinkMenuItem.defaultProps = {
active: false,
className: '',
onClick: function onClick() {},
pullRight: false,
isNav: false
};
exports.default = LinkMenuItem;