@scripty/react-navigations
Version:
lightweight react navigation components.
54 lines (41 loc) • 1.58 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Breadcrumbs = void 0;
var _react = _interopRequireWildcard(require("react"));
require("./Breadcrumbs.scss");
var _Icon = require("./Icon");
var _helper = require("./helper");
var _reactRouterDom = require("react-router-dom");
var Breadcrumbs = function Breadcrumbs(props) {
var routes = props.routes,
onClick = props.onClick,
selectedKeys = props.selectedKeys;
var onItemClick = function onItemClick(key, selectedKeys) {
onClick(key, selectedKeys);
};
var activeRoutes = (0, _helper.getActiveRoutes)(routes, window.location, '');
var links = activeRoutes.map(function (route, idx) {
var path = route.currentPath;
var pathClass = '';
selectedKeys = (0, _helper.getSelectedKeys)(routes, window.location, '');
if (route.path === '#' || idx === activeRoutes.length - 1) {
path = '#';
pathClass = 'no-link';
}
return /*#__PURE__*/_react["default"].createElement("li", {
key: route.key
}, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, {
className: pathClass,
onClick: onItemClick.bind(null, route.key, selectedKeys),
exact: route.exact,
to: path
}, route.label));
});
return /*#__PURE__*/_react["default"].createElement("nav", {
className: 'breadcrumbs'
}, /*#__PURE__*/_react["default"].createElement("ul", null, links));
};
exports.Breadcrumbs = Breadcrumbs;
;