UNPKG

7.07 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _mobxReact = require("mobx-react");
17
18var _get = _interopRequireDefault(require("lodash/get"));
19
20var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
21
22var _omit = _interopRequireDefault(require("lodash/omit"));
23
24var _link = _interopRequireDefault(require("@lskjs/link"));
25
26var _Breadcrumbs = _interopRequireDefault(require("./components/Breadcrumbs"));
27
28var PageBreadcrumbs = function PageBreadcrumbs(_ref) {
29 var children = _ref.children,
30 page = _ref.page,
31 reverse = _ref.reverse,
32 omitFirst = _ref.omitFirst,
33 omitLast = _ref.omitLast,
34 rawItems = _ref.items,
35 props = (0, _objectWithoutProperties2["default"])(_ref, ["children", "page", "reverse", "omitFirst", "omitLast", "items"]);
36 var breadcrumbs = (0, _get["default"])(page, 'state.show.breadcrumbs', true);
37 if (!breadcrumbs) return null;
38 var metas = (0, _cloneDeep["default"])((0, _get["default"])(page, 'state.metas')) || [];
39
40 if (reverse) {
41 metas = metas.reverse();
42 }
43
44 var items = rawItems ? (0, _cloneDeep["default"])(rawItems) : metas.map(function (meta, key) {
45 return {
46 key: key,
47 title: meta.title,
48 href: meta.url
49 };
50 });
51 items = items.filter(function (item, i) {
52 if (i === 0 && omitFirst) return false;
53 if (i === items.length - 1 && omitLast) return false;
54 return true;
55 });
56
57 if (items.length) {
58 items[items.length - 1] = (0, _omit["default"])(items[items.length - 1], ['href']);
59 }
60
61 if (children) {
62 return /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], null, children);
63 }
64
65 return /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], (0, _extends2["default"])({}, props, {
66 render: function render(item) {
67 var title = item.title,
68 href = item.href;
69 if (!href) return title;
70 return /*#__PURE__*/_react["default"].createElement(_link["default"], {
71 href: href
72 }, title);
73 },
74 items: items
75 }));
76};
77
78var _default = (0, _mobxReact.inject)('page')((0, _mobxReact.observer)(PageBreadcrumbs));
79
80exports["default"] = _default;
81//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9QYWdlQnJlYWRjcnVtYnMuanN4Il0sIm5hbWVzIjpbIlBhZ2VCcmVhZGNydW1icyIsImNoaWxkcmVuIiwicGFnZSIsInJldmVyc2UiLCJvbWl0Rmlyc3QiLCJvbWl0TGFzdCIsInJhd0l0ZW1zIiwiaXRlbXMiLCJwcm9wcyIsImJyZWFkY3J1bWJzIiwibWV0YXMiLCJtYXAiLCJtZXRhIiwia2V5IiwidGl0bGUiLCJocmVmIiwidXJsIiwiZmlsdGVyIiwiaXRlbSIsImkiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLE9BQWlGO0FBQUEsTUFBOUVDLFFBQThFLFFBQTlFQSxRQUE4RTtBQUFBLE1BQXBFQyxJQUFvRSxRQUFwRUEsSUFBb0U7QUFBQSxNQUE5REMsT0FBOEQsUUFBOURBLE9BQThEO0FBQUEsTUFBckRDLFNBQXFELFFBQXJEQSxTQUFxRDtBQUFBLE1BQTFDQyxRQUEwQyxRQUExQ0EsUUFBMEM7QUFBQSxNQUF6QkMsUUFBeUIsUUFBaENDLEtBQWdDO0FBQUEsTUFBWkMsS0FBWTtBQUN2RyxNQUFNQyxXQUFXLEdBQUcscUJBQUlQLElBQUosRUFBVSx3QkFBVixFQUFvQyxJQUFwQyxDQUFwQjtBQUNBLE1BQUksQ0FBQ08sV0FBTCxFQUFrQixPQUFPLElBQVA7QUFDbEIsTUFBSUMsS0FBSyxHQUFHLDJCQUFVLHFCQUFJUixJQUFKLEVBQVUsYUFBVixDQUFWLEtBQXVDLEVBQW5EOztBQUVBLE1BQUlDLE9BQUosRUFBYTtBQUNYTyxJQUFBQSxLQUFLLEdBQUdBLEtBQUssQ0FBQ1AsT0FBTixFQUFSO0FBQ0Q7O0FBQ0QsTUFBSUksS0FBSyxHQUFHRCxRQUFRLEdBQ2hCLDJCQUFVQSxRQUFWLENBRGdCLEdBRWhCSSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxVQUFDQyxJQUFELEVBQU9DLEdBQVA7QUFBQSxXQUFnQjtBQUN4QkEsTUFBQUEsR0FBRyxFQUFIQSxHQUR3QjtBQUV4QkMsTUFBQUEsS0FBSyxFQUFFRixJQUFJLENBQUNFLEtBRlk7QUFHeEJDLE1BQUFBLElBQUksRUFBRUgsSUFBSSxDQUFDSTtBQUhhLEtBQWhCO0FBQUEsR0FBVixDQUZKO0FBT0FULEVBQUFBLEtBQUssR0FBR0EsS0FBSyxDQUFDVSxNQUFOLENBQWEsVUFBQ0MsSUFBRCxFQUFPQyxDQUFQLEVBQWE7QUFDaEMsUUFBSUEsQ0FBQyxLQUFLLENBQU4sSUFBV2YsU0FBZixFQUEwQixPQUFPLEtBQVA7QUFDMUIsUUFBSWUsQ0FBQyxLQUFLWixLQUFLLENBQUNhLE1BQU4sR0FBZSxDQUFyQixJQUEwQmYsUUFBOUIsRUFBd0MsT0FBTyxLQUFQO0FBQ3hDLFdBQU8sSUFBUDtBQUNELEdBSk8sQ0FBUjs7QUFLQSxNQUFJRSxLQUFLLENBQUNhLE1BQVYsRUFBa0I7QUFDaEJiLElBQUFBLEtBQUssQ0FBQ0EsS0FBSyxDQUFDYSxNQUFOLEdBQWUsQ0FBaEIsQ0FBTCxHQUEwQixzQkFBS2IsS0FBSyxDQUFDQSxLQUFLLENBQUNhLE1BQU4sR0FBZSxDQUFoQixDQUFWLEVBQThCLENBQUMsTUFBRCxDQUE5QixDQUExQjtBQUNEOztBQUNELE1BQUluQixRQUFKLEVBQWM7QUFDWix3QkFBTyxnQ0FBQyx1QkFBRCxRQUFjQSxRQUFkLENBQVA7QUFDRDs7QUFDRCxzQkFDRSxnQ0FBQyx1QkFBRCxnQ0FDTU8sS0FETjtBQUVFLElBQUEsTUFBTSxFQUFFLGdCQUFDVSxJQUFELEVBQVU7QUFBQSxVQUNSSixLQURRLEdBQ1FJLElBRFIsQ0FDUkosS0FEUTtBQUFBLFVBQ0RDLElBREMsR0FDUUcsSUFEUixDQUNESCxJQURDO0FBRWhCLFVBQUksQ0FBQ0EsSUFBTCxFQUFXLE9BQU9ELEtBQVA7QUFDWCwwQkFBTyxnQ0FBQyxnQkFBRDtBQUFNLFFBQUEsSUFBSSxFQUFFQztBQUFaLFNBQW1CRCxLQUFuQixDQUFQO0FBQ0QsS0FOSDtBQU9FLElBQUEsS0FBSyxFQUFFUDtBQVBULEtBREY7QUFXRCxDQXJDRDs7ZUF1Q2UsdUJBQU8sTUFBUCxFQUFlLHlCQUFTUCxlQUFULENBQWYsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBpbmplY3QsIG9ic2VydmVyIH0gZnJvbSAnbW9ieC1yZWFjdCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcbmltcG9ydCBMaW5rIGZyb20gJ0Bsc2tqcy9saW5rJztcbmltcG9ydCBCcmVhZGNydW1icyBmcm9tICcuL2NvbXBvbmVudHMvQnJlYWRjcnVtYnMnO1xuXG5jb25zdCBQYWdlQnJlYWRjcnVtYnMgPSAoeyBjaGlsZHJlbiwgcGFnZSwgcmV2ZXJzZSwgb21pdEZpcnN0LCBvbWl0TGFzdCwgaXRlbXM6IHJhd0l0ZW1zLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGNvbnN0IGJyZWFkY3J1bWJzID0gZ2V0KHBhZ2UsICdzdGF0ZS5zaG93LmJyZWFkY3J1bWJzJywgdHJ1ZSk7XG4gIGlmICghYnJlYWRjcnVtYnMpIHJldHVybiBudWxsO1xuICBsZXQgbWV0YXMgPSBjbG9uZURlZXAoZ2V0KHBhZ2UsICdzdGF0ZS5tZXRhcycpKSB8fCBbXTtcblxuICBpZiAocmV2ZXJzZSkge1xuICAgIG1ldGFzID0gbWV0YXMucmV2ZXJzZSgpO1xuICB9XG4gIGxldCBpdGVtcyA9IHJhd0l0ZW1zXG4gICAgPyBjbG9uZURlZXAocmF3SXRlbXMpXG4gICAgOiBtZXRhcy5tYXAoKG1ldGEsIGtleSkgPT4gKHtcbiAgICAgICAga2V5LFxuICAgICAgICB0aXRsZTogbWV0YS50aXRsZSxcbiAgICAgICAgaHJlZjogbWV0YS51cmwsXG4gICAgICB9KSk7XG4gIGl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtLCBpKSA9PiB7XG4gICAgaWYgKGkgPT09IDAgJiYgb21pdEZpcnN0KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGkgPT09IGl0ZW1zLmxlbmd0aCAtIDEgJiYgb21pdExhc3QpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG4gIGlmIChpdGVtcy5sZW5ndGgpIHtcbiAgICBpdGVtc1tpdGVtcy5sZW5ndGggLSAxXSA9IG9taXQoaXRlbXNbaXRlbXMubGVuZ3RoIC0gMV0sIFsnaHJlZiddKTtcbiAgfVxuICBpZiAoY2hpbGRyZW4pIHtcbiAgICByZXR1cm4gPEJyZWFkY3J1bWJzPntjaGlsZHJlbn08L0JyZWFkY3J1bWJzPjtcbiAgfVxuICByZXR1cm4gKFxuICAgIDxCcmVhZGNydW1ic1xuICAgICAgey4uLnByb3BzfVxuICAgICAgcmVuZGVyPXsoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB7IHRpdGxlLCBocmVmIH0gPSBpdGVtO1xuICAgICAgICBpZiAoIWhyZWYpIHJldHVybiB0aXRsZTtcbiAgICAgICAgcmV0dXJuIDxMaW5rIGhyZWY9e2hyZWZ9Pnt0aXRsZX08L0xpbms+O1xuICAgICAgfX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5qZWN0KCdwYWdlJykob2JzZXJ2ZXIoUGFnZUJyZWFkY3J1bWJzKSk7XG4iXX0=
82//# sourceMappingURL=PageBreadcrumbs.js.map
\No newline at end of file