@skbkontur/cassandra-distributed-task-queue-ui
Version:
.NET library implementing distributed task queue machinery using Apache Cassandra
41 lines • 3.76 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskDetailsMetaTable = void 0;
const tslib_1 = require("tslib");
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 = tslib_1.__importDefault(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 = react_1.default.useContext(react_ui_1.ThemeContext);
const { customStateCaptions, hideMissingMeta } = CustomSettingsContext_1.useCustomSettings();
const renderDate = (date) => jsx_runtime_1.jsx(edi_ui_1.Timestamp, { value: date }, void 0);
const renderRow = (name, value, render) => value || !hideMissingMeta ? (jsx_runtime_1.jsxs("tr", { children: [jsx_runtime_1.jsx("td", { children: name }, void 0), jsx_runtime_1.jsx("td", Object.assign({ "data-tid": name }, { children: render ? render(value) : value }), void 0)] }, name)) : null;
const renderMetaInfo = () => {
const executionTime = ConvertTimeUtil_1.ticksToMilliseconds(executionDurationTicks);
return [
renderRow("TaskId", id, id => jsx_runtime_1.jsx(edi_ui_1.AllowCopyToClipboard, { children: id }, void 0)),
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()),
jsx_runtime_1.jsxs("tr", { children: [jsx_runtime_1.jsx("td", { children: "ParentTaskId" }, void 0), jsx_runtime_1.jsx("td", Object.assign({ "data-tid": "ParentTaskId" }, { children: parentTaskId && jsx_runtime_1.jsx(RouterLink_1.RouterLink, Object.assign({ to: `../${parentTaskId}` }, { children: parentTaskId }), void 0) }), void 0)] }, "ParentTaskId"),
jsx_runtime_1.jsxs("tr", { children: [jsx_runtime_1.jsx("td", { children: "ChildTaskIds" }, void 0), jsx_runtime_1.jsx("td", Object.assign({ "data-tid": "ChildTaskIds" }, { children: childTaskIds &&
childTaskIds.map(item => (jsx_runtime_1.jsxs("span", { children: [jsx_runtime_1.jsx(RouterLink_1.RouterLink, Object.assign({ to: `../${item}` }, { children: item }), void 0), jsx_runtime_1.jsx("br", {}, void 0)] }, item))) }), void 0)] }, "ChildTaskIds"),
];
};
return (jsx_runtime_1.jsx("table", Object.assign({ className: TaskDetailsMetaTable_styles_1.jsStyles.table(theme) }, { children: jsx_runtime_1.jsx("tbody", { children: renderMetaInfo() }, void 0) }), void 0));
};
exports.TaskDetailsMetaTable = TaskDetailsMetaTable;
//# sourceMappingURL=TaskDetailsMetaTable.js.map
;