burdy
Version:
Open Source Headless Platform
100 lines (99 loc) • 4.38 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("@fluentui/react");
const react_2 = __importStar(require("react"));
const classnames_1 = __importDefault(require("classnames"));
const assets_context_1 = require("../context/assets.context");
const useStyles = (0, react_1.makeStyles)({
shimmer: {
marginTop: 18,
marginBottom: 20,
},
breadcrumb: {
height: 60,
display: 'grid',
alignItems: 'center',
},
heading: {
margin: '11px 0px 12px',
fontWeight: 600,
lineHeight: '36px',
fontSize: '18px',
},
});
const AssetsBreadcrumb = (_a) => {
var { className } = _a, props = __rest(_a, ["className"]);
const styles = useStyles();
const { openItem, getAncestors, params } = (0, assets_context_1.useAssets)();
const items = (0, react_2.useMemo)(() => {
const list = [];
const ancestors = [
{
name: 'Assets',
id: null,
},
...((getAncestors === null || getAncestors === void 0 ? void 0 : getAncestors.result) || []),
];
(ancestors !== null && ancestors !== void 0 ? ancestors : []).forEach((parent, index) => {
if ((ancestors === null || ancestors === void 0 ? void 0 : ancestors.length) - 1 === index) {
list.push({
text: parent.name,
key: parent.id,
});
}
else {
list.push({
text: parent.name,
key: parent.id,
onClick: () => {
openItem(parent);
},
});
}
});
return list;
}, [getAncestors === null || getAncestors === void 0 ? void 0 : getAncestors.result]);
const getBreadcrumb = () => {
var _a;
return ((_a = params === null || params === void 0 ? void 0 : params.search) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (react_2.default.createElement("div", { className: styles.heading }, `search: ${params === null || params === void 0 ? void 0 : params.search}`)) : (react_2.default.createElement(react_1.Breadcrumb, { items: items, styles: {
root: {
margin: 0,
},
}, overflowAriaLabel: "More links" }));
};
return (react_2.default.createElement("div", Object.assign({ className: (0, classnames_1.default)(styles.breadcrumb, className) }, props), (getAncestors === null || getAncestors === void 0 ? void 0 : getAncestors.loading) ? (react_2.default.createElement(react_1.Shimmer, { width: 80, shimmerElements: [{ type: react_1.ShimmerElementType.line, height: 8 }], className: styles.shimmer })) : (getBreadcrumb())));
};
exports.default = AssetsBreadcrumb;