diff --git a/src/Components/LogCard/index.js b/src/Components/LogCard/index.js
index f8fdf9f..e63cd70 100644
--- a/src/Components/LogCard/index.js
+++ b/src/Components/LogCard/index.js
@@ -3,7 +3,7 @@ import {
ArrowRightOutlined,
ReloadOutlined,
} from "@ant-design/icons";
-import { Card, Checkbox, Space, Spin, Tooltip } from "antd";
+import { Card, Checkbox, Popover, Space, Spin, Tooltip } from "antd";
import { useContext, useEffect, useState } from "react";
import {
Constants,
@@ -12,6 +12,7 @@ import {
getUserSessionFromLocalStorage,
handleUnauthorizedStatus,
} from "../../utils";
+import { Link } from "react-router-dom";
export default function LogCard({ type }) {
const webSocketContext = useContext(WebSocketContext);
@@ -38,6 +39,51 @@ export default function LogCard({ type }) {
return colorCodes[colorIndex];
};
+ const getLogDataValue = (logData, splittedMessage) => {
+ const logDataIndex = logData.findIndex(
+ (data) => data.Type === splittedMessage.replace(new RegExp("%", "g"), "")
+ );
+
+ return logData[logDataIndex].Value;
+ };
+
+ const ColoredSpanItem = ({ dataLogs, splittedMessage, children }) => {
+ const logDataIndex = dataLogs.LogData.findIndex(
+ (data) => data.Type === splittedMessage.replace(new RegExp("%", "g"), "")
+ );
+
+ if (logDataIndex !== -1) {
+ return (
+
+ {children === undefined ? (
+ dataLogs.LogData[logDataIndex].Value
+ ) : (
+ <>{children}>
+ )}{" "}
+
+ );
+ }
+ return <>>;
+ };
+
+ const getGroupTaskStepName = (groupTaskStep) => {
+ const foundName = webSocketContext.CategoryGroups.find(
+ (categoryGroup) =>
+ categoryGroup.category ===
+ webSocketContext.GroupTasks.find(
+ (groupTask) => groupTask.Id === groupTaskStep.GroupTasksId
+ ).Category
+ ).groups.find(
+ (groups) =>
+ groups.id ===
+ webSocketContext.GroupTasks.find(
+ (groupTask) => groupTask.Id === groupTaskStep.GroupTasksId
+ ).GroupId
+ ).tasks[groupTaskStep.Step - 1];
+
+ return foundName !== undefined ? foundName.name : groupTaskStep.Id;
+ };
+
const loadLogs = (date) => {
setLoadingSpinner(true);
@@ -94,23 +140,123 @@ export default function LogCard({ type }) {
} else {
items.push({splittedMessage[s]} );
}
- } else {
- const logDataIndex = data.Logs[i].LogData.findIndex(
- (data) =>
- data.Type ===
- splittedMessage[s].replace(new RegExp("%", "g"), "")
+ } else if (splittedMessage[s] === "%groupTaskId%") {
+ const foundData = data.Logs[i].LogData.find(
+ (data) => data.Type === "groupTaskId"
);
- if (logDataIndex !== -1) {
+ if (foundData !== undefined) {
+ const foundGroupTask = webSocketContext.GroupTasks.find(
+ (groupTask) => groupTask.Id === foundData.Value
+ );
+
items.push(
-
- {data.Logs[i].LogData[logDataIndex].Value}{" "}
-
+ dataLogs={data.Logs[i]}
+ splittedMessage={splittedMessage[s]}
+ children={
+
+ ID:
+
+ {getLogDataValue(
+ data.Logs[i].LogData,
+ splittedMessage[s]
+ )}
+
+
+ }
+ title="Group Task"
+ trigger="click"
+ >
+
+ {foundGroupTask !== undefined
+ ? foundGroupTask.GroupName
+ : getLogDataValue(
+ data.Logs[i].LogData,
+ splittedMessage[s]
+ )}
+
+
+ }
+ />
+ );
+ } else {
+ items.push({splittedMessage[s]} );
+ }
+ } else if (splittedMessage[s] === "%taskStepId%") {
+ const foundData = data.Logs[i].LogData.find(
+ (data) => data.Type === "taskStepId"
+ );
+
+ if (foundData !== undefined) {
+ const foundGroupTaskStep =
+ webSocketContext.GroupTasksSteps.find(
+ (step) => step.Id === foundData.Value
+ );
+
+ if (foundGroupTaskStep !== undefined) {
+ items.push(
+
+
+ ID:{" "}
+
+ {foundGroupTaskStep.Id}
+
+ }
+ title="Group Task Step"
+ trigger="click"
+ >
+ {" "}
+
+ {getGroupTaskStepName(foundGroupTaskStep)}
+
+
+ }
+ />
+ );
+ } else {
+ items.push(
+
+ );
+ }
+ } else {
+ items.push(
+
);
}
+ } else {
+ items.push(
+
+ );
}
} else {
items.push({splittedMessage[s]} );
diff --git a/src/Pages/AllUsers/index.js b/src/Pages/AllUsers/index.js
index 842f00c..4e8a704 100644
--- a/src/Pages/AllUsers/index.js
+++ b/src/Pages/AllUsers/index.js
@@ -246,7 +246,7 @@ export default function AllUsers() {
avatar: (
}
>
<>