@skbkontur/cassandra-distributed-task-queue-ui
Version:
.NET library implementing distributed task queue machinery using Apache Cassandra
40 lines • 3.58 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskDetailsMetaTable = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const edi_ui_1 = require("@skbkontur/edi-ui");
const react_ui_1 = require("@skbkontur/react-ui");
const react_1 = require("react");
const CustomSettingsContext_1 = require("../../CustomSettingsContext");
const ConvertTimeUtil_1 = require("../../Domain/Utils/ConvertTimeUtil");
const RouterLink_1 = require("../RouterLink/RouterLink");
const TaskDetailsMetaTable_styles_1 = require("./TaskDetailsMetaTable.styles");
const TaskDetailsMetaTable = ({ taskMeta: { attempts, executionDurationTicks, expirationModificationTicks, expirationTimestampTicks, finishExecutingTicks, id, lastModificationTicks, minimalStartTicks, name, parentTaskId, startExecutingTicks, state, ticks, }, childTaskIds, }) => {
const theme = (0, react_1.useContext)(react_ui_1.ThemeContext);
const { customStateCaptions, hideMissingMeta } = (0, CustomSettingsContext_1.useCustomSettings)();
const renderDate = (date) => (0, jsx_runtime_1.jsx)(edi_ui_1.Timestamp, { value: date });
const renderRow = (name, value, render) => value || !hideMissingMeta ? ((0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { children: name }), (0, jsx_runtime_1.jsx)("td", { "data-tid": name, children: render ? render(value) : value })] }, name)) : null;
const renderMetaInfo = () => {
const executionTime = (0, ConvertTimeUtil_1.ticksToMilliseconds)(executionDurationTicks);
return [
renderRow("TaskId", id, id => (0, jsx_runtime_1.jsx)(edi_ui_1.AllowCopyToClipboard, { children: id })),
renderRow("State", customStateCaptions[state]),
renderRow("Name", name),
renderRow("EnqueueTime", ticks, renderDate),
renderRow("StartExecutingTime", startExecutingTicks, renderDate),
renderRow("FinishExecutingTime", finishExecutingTicks, renderDate),
renderRow("LastExecutionDurationInMs", executionTime, executionTime => executionTime || "unknown"),
renderRow("MinimalStartTime", minimalStartTicks, renderDate),
renderRow("ExpirationTime", expirationTimestampTicks, renderDate),
renderRow("ExpirationModificationTime", expirationModificationTicks, renderDate),
renderRow("LastModificationTime", lastModificationTicks, renderDate),
renderRow("Attempts", attempts.toString()),
(0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { children: "ParentTaskId" }), (0, jsx_runtime_1.jsx)("td", { "data-tid": "ParentTaskId", children: parentTaskId && (0, jsx_runtime_1.jsx)(RouterLink_1.RouterLink, { to: `../${parentTaskId}`, children: parentTaskId }) })] }, "ParentTaskId"),
(0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { children: "ChildTaskIds" }), (0, jsx_runtime_1.jsx)("td", { "data-tid": "ChildTaskIds", children: childTaskIds &&
childTaskIds.map(item => ((0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)(RouterLink_1.RouterLink, { to: `../${item}`, children: item }), (0, jsx_runtime_1.jsx)("br", {})] }, item))) })] }, "ChildTaskIds"),
];
};
return ((0, jsx_runtime_1.jsx)("table", { className: TaskDetailsMetaTable_styles_1.jsStyles.table(theme), children: (0, jsx_runtime_1.jsx)("tbody", { children: renderMetaInfo() }) }));
};
exports.TaskDetailsMetaTable = TaskDetailsMetaTable;
//# sourceMappingURL=TaskDetailsMetaTable.js.map
;