UNPKG

@lskjs/page

Version:

LSK ux subrepo: page

82 lines (63 loc) 7.05 kB
"use strict"; 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _mobxReact = require("mobx-react"); var _get = _interopRequireDefault(require("lodash/get")); var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep")); var _omit = _interopRequireDefault(require("lodash/omit")); var _Breadcrumbs = _interopRequireDefault(require("@lskjs/ui/Breadcrumbs")); var _link = _interopRequireDefault(require("@lskjs/link")); var PageBreadcrumbs = function PageBreadcrumbs(_ref) { var children = _ref.children, page = _ref.page, reverse = _ref.reverse, omitFirst = _ref.omitFirst, omitLast = _ref.omitLast, rawItems = _ref.items, props = (0, _objectWithoutProperties2["default"])(_ref, ["children", "page", "reverse", "omitFirst", "omitLast", "items"]); var breadcrumbs = (0, _get["default"])(page, 'state.show.breadcrumbs', true); if (!breadcrumbs) return null; var metas = (0, _cloneDeep["default"])((0, _get["default"])(page, 'state.metas')) || []; if (reverse) { metas = metas.reverse(); } var items = rawItems ? (0, _cloneDeep["default"])(rawItems) : metas.map(function (meta, key) { return { key: key, title: meta.title, href: meta.url }; }); items = items.filter(function (item, i) { if (i === 0 && omitFirst) return false; if (i === items.length - 1 && omitLast) return false; return true; }); if (items.length) { items[items.length - 1] = (0, _omit["default"])(items[items.length - 1], ['href']); } if (children) { return /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], null, children); } return /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], (0, _extends2["default"])({}, props, { render: function render(item) { var title = item.title, href = item.href; if (!href) return title; return /*#__PURE__*/_react["default"].createElement(_link["default"], { href: href }, title); }, items: items })); }; var _default = (0, _mobxReact.inject)('page')((0, _mobxReact.observer)(PageBreadcrumbs)); exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9QYWdlQnJlYWRjcnVtYnMuanN4Il0sIm5hbWVzIjpbIlBhZ2VCcmVhZGNydW1icyIsImNoaWxkcmVuIiwicGFnZSIsInJldmVyc2UiLCJvbWl0Rmlyc3QiLCJvbWl0TGFzdCIsInJhd0l0ZW1zIiwiaXRlbXMiLCJwcm9wcyIsImJyZWFkY3J1bWJzIiwibWV0YXMiLCJtYXAiLCJtZXRhIiwia2V5IiwidGl0bGUiLCJocmVmIiwidXJsIiwiZmlsdGVyIiwiaXRlbSIsImkiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLE9BQWlGO0FBQUEsTUFBOUVDLFFBQThFLFFBQTlFQSxRQUE4RTtBQUFBLE1BQXBFQyxJQUFvRSxRQUFwRUEsSUFBb0U7QUFBQSxNQUE5REMsT0FBOEQsUUFBOURBLE9BQThEO0FBQUEsTUFBckRDLFNBQXFELFFBQXJEQSxTQUFxRDtBQUFBLE1BQTFDQyxRQUEwQyxRQUExQ0EsUUFBMEM7QUFBQSxNQUF6QkMsUUFBeUIsUUFBaENDLEtBQWdDO0FBQUEsTUFBWkMsS0FBWTtBQUN2RyxNQUFNQyxXQUFXLEdBQUcscUJBQUlQLElBQUosRUFBVSx3QkFBVixFQUFvQyxJQUFwQyxDQUFwQjtBQUNBLE1BQUksQ0FBQ08sV0FBTCxFQUFrQixPQUFPLElBQVA7QUFDbEIsTUFBSUMsS0FBSyxHQUFHLDJCQUFVLHFCQUFJUixJQUFKLEVBQVUsYUFBVixDQUFWLEtBQXVDLEVBQW5EOztBQUVBLE1BQUlDLE9BQUosRUFBYTtBQUNYTyxJQUFBQSxLQUFLLEdBQUdBLEtBQUssQ0FBQ1AsT0FBTixFQUFSO0FBQ0Q7O0FBQ0QsTUFBSUksS0FBSyxHQUFHRCxRQUFRLEdBQ2hCLDJCQUFVQSxRQUFWLENBRGdCLEdBRWhCSSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxVQUFDQyxJQUFELEVBQU9DLEdBQVA7QUFBQSxXQUFnQjtBQUN4QkEsTUFBQUEsR0FBRyxFQUFIQSxHQUR3QjtBQUV4QkMsTUFBQUEsS0FBSyxFQUFFRixJQUFJLENBQUNFLEtBRlk7QUFHeEJDLE1BQUFBLElBQUksRUFBRUgsSUFBSSxDQUFDSTtBQUhhLEtBQWhCO0FBQUEsR0FBVixDQUZKO0FBT0FULEVBQUFBLEtBQUssR0FBR0EsS0FBSyxDQUFDVSxNQUFOLENBQWEsVUFBQ0MsSUFBRCxFQUFPQyxDQUFQLEVBQWE7QUFDaEMsUUFBSUEsQ0FBQyxLQUFLLENBQU4sSUFBV2YsU0FBZixFQUEwQixPQUFPLEtBQVA7QUFDMUIsUUFBSWUsQ0FBQyxLQUFLWixLQUFLLENBQUNhLE1BQU4sR0FBZSxDQUFyQixJQUEwQmYsUUFBOUIsRUFBd0MsT0FBTyxLQUFQO0FBQ3hDLFdBQU8sSUFBUDtBQUNELEdBSk8sQ0FBUjs7QUFLQSxNQUFJRSxLQUFLLENBQUNhLE1BQVYsRUFBa0I7QUFDaEJiLElBQUFBLEtBQUssQ0FBQ0EsS0FBSyxDQUFDYSxNQUFOLEdBQWUsQ0FBaEIsQ0FBTCxHQUEwQixzQkFBS2IsS0FBSyxDQUFDQSxLQUFLLENBQUNhLE1BQU4sR0FBZSxDQUFoQixDQUFWLEVBQThCLENBQUMsTUFBRCxDQUE5QixDQUExQjtBQUNEOztBQUNELE1BQUluQixRQUFKLEVBQWM7QUFDWix3QkFBTyxnQ0FBQyx1QkFBRCxRQUFjQSxRQUFkLENBQVA7QUFDRDs7QUFDRCxzQkFDRSxnQ0FBQyx1QkFBRCxnQ0FDTU8sS0FETjtBQUVFLElBQUEsTUFBTSxFQUFFLGdCQUFBVSxJQUFJLEVBQUk7QUFBQSxVQUNOSixLQURNLEdBQ1VJLElBRFYsQ0FDTkosS0FETTtBQUFBLFVBQ0NDLElBREQsR0FDVUcsSUFEVixDQUNDSCxJQUREO0FBRWQsVUFBSSxDQUFDQSxJQUFMLEVBQVcsT0FBT0QsS0FBUDtBQUNYLDBCQUFPLGdDQUFDLGdCQUFEO0FBQU0sUUFBQSxJQUFJLEVBQUVDO0FBQVosU0FBbUJELEtBQW5CLENBQVA7QUFDRCxLQU5IO0FBT0UsSUFBQSxLQUFLLEVBQUVQO0FBUFQsS0FERjtBQVdELENBckNEOztlQXVDZSx1QkFBTyxNQUFQLEVBQWUseUJBQVNQLGVBQVQsQ0FBZixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGluamVjdCwgb2JzZXJ2ZXIgfSBmcm9tICdtb2J4LXJlYWN0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IG9taXQgZnJvbSAnbG9kYXNoL29taXQnO1xuaW1wb3J0IEJyZWFkY3J1bWJzIGZyb20gJ0Bsc2tqcy91aS9CcmVhZGNydW1icyc7XG5pbXBvcnQgTGluayBmcm9tICdAbHNranMvbGluayc7XG5cbmNvbnN0IFBhZ2VCcmVhZGNydW1icyA9ICh7IGNoaWxkcmVuLCBwYWdlLCByZXZlcnNlLCBvbWl0Rmlyc3QsIG9taXRMYXN0LCBpdGVtczogcmF3SXRlbXMsIC4uLnByb3BzIH0pID0+IHtcbiAgY29uc3QgYnJlYWRjcnVtYnMgPSBnZXQocGFnZSwgJ3N0YXRlLnNob3cuYnJlYWRjcnVtYnMnLCB0cnVlKTtcbiAgaWYgKCFicmVhZGNydW1icykgcmV0dXJuIG51bGw7XG4gIGxldCBtZXRhcyA9IGNsb25lRGVlcChnZXQocGFnZSwgJ3N0YXRlLm1ldGFzJykpIHx8IFtdO1xuXG4gIGlmIChyZXZlcnNlKSB7XG4gICAgbWV0YXMgPSBtZXRhcy5yZXZlcnNlKCk7XG4gIH1cbiAgbGV0IGl0ZW1zID0gcmF3SXRlbXNcbiAgICA/IGNsb25lRGVlcChyYXdJdGVtcylcbiAgICA6IG1ldGFzLm1hcCgobWV0YSwga2V5KSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIHRpdGxlOiBtZXRhLnRpdGxlLFxuICAgICAgICBocmVmOiBtZXRhLnVybCxcbiAgICAgIH0pKTtcbiAgaXRlbXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0sIGkpID0+IHtcbiAgICBpZiAoaSA9PT0gMCAmJiBvbWl0Rmlyc3QpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoaSA9PT0gaXRlbXMubGVuZ3RoIC0gMSAmJiBvbWl0TGFzdCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbiAgaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgIGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdID0gb21pdChpdGVtc1tpdGVtcy5sZW5ndGggLSAxXSwgWydocmVmJ10pO1xuICB9XG4gIGlmIChjaGlsZHJlbikge1xuICAgIHJldHVybiA8QnJlYWRjcnVtYnM+e2NoaWxkcmVufTwvQnJlYWRjcnVtYnM+O1xuICB9XG4gIHJldHVybiAoXG4gICAgPEJyZWFkY3J1bWJzXG4gICAgICB7Li4ucHJvcHN9XG4gICAgICByZW5kZXI9e2l0ZW0gPT4ge1xuICAgICAgICBjb25zdCB7IHRpdGxlLCBocmVmIH0gPSBpdGVtO1xuICAgICAgICBpZiAoIWhyZWYpIHJldHVybiB0aXRsZTtcbiAgICAgICAgcmV0dXJuIDxMaW5rIGhyZWY9e2hyZWZ9Pnt0aXRsZX08L0xpbms+O1xuICAgICAgfX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5qZWN0KCdwYWdlJykob2JzZXJ2ZXIoUGFnZUJyZWFkY3J1bWJzKSk7XG4iXX0= //# sourceMappingURL=PageBreadcrumbs.js.map