Skip to content

Commit 28469a7

Browse files
committed
add friendly display of timeout timespan
1 parent 2ac7595 commit 28469a7

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/Frontend/src/components/messages2/SagaDiagram/SagaDiagramParser.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { SagaHistory } from "@/resources/SagaHistory";
22
import { typeToName } from "@/composables/typeHumanizer";
33
import { SagaMessageData, SagaMessageDataItem } from "@/stores/SagaDiagramStore";
4+
import { getTimeoutFriendly } from "@/composables/deliveryDelayParser";
45

56
export interface SagaMessageViewModel {
67
MessageId: string;
@@ -78,6 +79,7 @@ export function parseSagaUpdates(sagaHistory: SagaHistory | null, messagesData:
7879
FormattedTimeSent: `${timeSent.toLocaleDateString()} ${timeSent.toLocaleTimeString()}`,
7980
HasTimeout: hasTimeout,
8081
TimeoutSeconds: timeoutSeconds,
82+
TimeoutFriendly: getTimeoutFriendly(delivery_delay),
8183
MessageFriendlyTypeName: typeToName(msg.message_type || ""),
8284
Data: messageData,
8385
IsEventMessage: isEventMessage,
@@ -91,7 +93,7 @@ export function parseSagaUpdates(sagaHistory: SagaHistory | null, messagesData:
9193
(msg) =>
9294
({
9395
...msg,
94-
TimeoutFriendly: `${msg.TimeoutSeconds}s`,
96+
TimeoutFriendly: `${msg.TimeoutFriendly}`,
9597
}) as SagaTimeoutMessageViewModel
9698
);
9799

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export function parseDeliveryDelay(delay: string): { hours: number; minutes: number; seconds: number } {
2+
const [hours, minutes, seconds] = delay.split(":").map(Number);
3+
return { hours, minutes, seconds };
4+
}
5+
6+
function getFriendly(time: number, text: string): string {
7+
return time > 0 ? `${time}${text}` : "";
8+
}
9+
10+
export function getTimeoutFriendly(delivery_delay: string): string {
11+
const { hours, minutes, seconds } = parseDeliveryDelay(delivery_delay);
12+
13+
return `${getFriendly(hours, "h")}${getFriendly(minutes, "m")}${getFriendly(seconds, "s")}`;
14+
}

0 commit comments

Comments
 (0)