@skbkontur/cassandra-distributed-task-queue-ui
Version:
.NET library implementing distributed task queue machinery using Apache Cassandra
25 lines • 1.87 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimeLineCycled = TimeLineCycled;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_ui_1 = require("@skbkontur/react-ui");
const react_1 = require("react");
const TimeLine_styles_1 = require("./TimeLine.styles");
function TimeLineCycled({ children, content, icon }) {
const entries = (0, react_1.useRef)(null);
const lines = (0, react_1.useRef)(null);
const theme = (0, react_1.useContext)(react_ui_1.ThemeContext);
(0, react_1.useEffect)(() => {
if (entries.current != null) {
const children = entries.current.children;
const lastEntry = children[children.length - 1];
const lastEntryHeight = lastEntry.clientHeight;
const currentLines = lines.current;
if (!isNaN(lastEntryHeight) && currentLines != null) {
currentLines.style.marginBottom = (lastEntryHeight - 22).toString() + "px";
}
}
});
return ((0, jsx_runtime_1.jsxs)("div", { className: `__root-cycle ${TimeLine_styles_1.jsStyles.cycle()}`, children: [(0, jsx_runtime_1.jsx)("div", { ref: entries, className: "__root-cycle-entries", children: children }), (0, jsx_runtime_1.jsxs)("div", { className: TimeLine_styles_1.jsStyles.lines(theme), ref: lines, children: [(0, jsx_runtime_1.jsx)("div", { className: TimeLine_styles_1.jsStyles.line1() }), (0, jsx_runtime_1.jsx)("div", { className: TimeLine_styles_1.jsStyles.line2() }), (0, jsx_runtime_1.jsx)("div", { className: TimeLine_styles_1.jsStyles.line3() })] }), icon && (0, jsx_runtime_1.jsx)("div", { className: TimeLine_styles_1.jsStyles.cycleIcon(), children: icon }), content && (0, jsx_runtime_1.jsx)("div", { className: TimeLine_styles_1.jsStyles.cycleInfo(), children: content })] }));
}
//# sourceMappingURL=TimeLineCycled.js.map
;