Skip to content

Commit 89cb1fb

Browse files
committed
Passing message type to maximized title
1 parent 5d98cdb commit 89cb1fb

File tree

6 files changed

+19
-27
lines changed

6 files changed

+19
-27
lines changed

src/Frontend/src/components/MaximizableCodeEditor.vue

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@ withDefaults(
1313
language?: CodeLanguage;
1414
readOnly?: boolean;
1515
showGutter?: boolean;
16-
showCopyToClipboard?: boolean;
1716
ariaLabel?: string;
1817
extensions?: Extension[];
1918
modalTitle?: string;
2019
}>(),
2120
{
2221
readOnly: false,
2322
showGutter: false,
24-
showCopyToClipboard: false,
2523
extensions: () => [],
2624
modalTitle: "Code View",
2725
}
@@ -72,16 +70,7 @@ onBeforeUnmount(() => {
7270
<img :src="DiffMaximizeIcon" alt="Maximize" width="14" height="14" />
7371
</button>
7472

75-
<CodeEditor
76-
class="maximazable-code-editor--inline-instance"
77-
v-model="modelValue"
78-
:language="language"
79-
:read-only="readOnly"
80-
:show-gutter="showGutter"
81-
:show-copy-to-clipboard="showCopyToClipboard"
82-
:aria-label="ariaLabel"
83-
:extensions="extensions"
84-
>
73+
<CodeEditor class="maximazable-code-editor--inline-instance" v-model="modelValue" :language="language" :read-only="readOnly" :show-gutter="showGutter" :show-copy-to-clipboard="false" :aria-label="ariaLabel" :extensions="extensions">
8574
<template #toolbarLeft>
8675
<slot name="toolbarLeft"></slot>
8776
</template>
@@ -151,7 +140,6 @@ onBeforeUnmount(() => {
151140
border: none;
152141
}
153142
154-
/* Modal styles copied from DiffViewer */
155143
.maximize-modal {
156144
position: fixed;
157145
top: 0;

src/Frontend/src/components/messages2/SagaDiagram/MessageDataBox.vue

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,13 @@ const messageDataBoxTheme = EditorView.baseTheme({
2121
2222
const props = defineProps<{
2323
messageData: SagaMessageData;
24+
maximizedTitle?: string;
2425
}>();
2526
27+
const modalTitle = computed(() => {
28+
return props.maximizedTitle ? `Message Data - ${props.maximizedTitle}` : "Message Data";
29+
});
30+
2631
const sagaDiagramStore = useSagaDiagramStore();
2732
const { messageDataLoading } = storeToRefs(sagaDiagramStore);
2833
@@ -39,7 +44,6 @@ const formattedData = computed(() => {
3944
return props.messageData.data;
4045
});
4146
42-
// Ensure language is properly typed as CodeLanguage
4347
const editorLanguage = computed<CodeLanguage>(() => {
4448
const type = props.messageData.type?.toLowerCase();
4549
return (type === "xml" ? "xml" : "json") as CodeLanguage;
@@ -51,13 +55,13 @@ const editorLanguage = computed<CodeLanguage>(() => {
5155
<LoadingSpinner />
5256
</div>
5357
<div v-else-if="messageData.error" class="message-data-box message-data-box-error">
54-
<span class="message-data-box-text--error">An error occurred while parsing the message data</span>
58+
<span class="message-data-box-text--error">An error occurred while retrieving the message data</span>
5559
</div>
5660
<div v-else-if="!messageDataLoading && messageData.data === ''" class="message-data-box">
5761
<span class="message-data-box-text--empty">Empty</span>
5862
</div>
5963
<div v-else class="message-data-box message-data-box-content">
60-
<MaximizableCodeEditor :model-value="formattedData || ''" :language="editorLanguage" :read-only="true" :show-gutter="false" modalTitle="Message Data" :extensions="[messageDataBoxTheme]" />
64+
<MaximizableCodeEditor :model-value="formattedData || ''" :language="editorLanguage" :read-only="true" :show-gutter="false" :modalTitle="modalTitle" :extensions="[messageDataBoxTheme]" />
6165
</div>
6266
</template>
6367

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import { getTimeoutFriendly } from "@/composables/deliveryDelayParser";
55

66
export interface SagaMessageViewModel {
77
MessageId: string;
8-
MessageFriendlyTypeName: string;
8+
FriendlyTypeName: string;
99
FormattedTimeSent: string;
1010
Data: SagaMessageData;
1111
IsEventMessage: boolean;
1212
IsCommandMessage: boolean;
1313
}
1414
export interface InitiatingMessageViewModel {
15-
MessageType: string;
15+
FriendlyTypeName: string;
1616
IsSagaTimeoutMessage: boolean;
1717
FormattedMessageTimestamp: string;
1818
IsEventMessage: boolean;
@@ -97,7 +97,7 @@ export function parseSagaUpdates(sagaHistory: SagaHistory | null, messagesData:
9797
HasTimeout: hasTimeout,
9898
TimeoutSeconds: timeoutSeconds,
9999
TimeoutFriendly: getTimeoutFriendly(delivery_delay),
100-
MessageFriendlyTypeName: typeToName(msg.message_type || ""),
100+
FriendlyTypeName: typeToName(msg.message_type || ""),
101101
Data: messageData,
102102
IsEventMessage: isEventMessage,
103103
IsCommandMessage: !isEventMessage,
@@ -132,8 +132,8 @@ export function parseSagaUpdates(sagaHistory: SagaHistory | null, messagesData:
132132
Status: update.status,
133133
StatusDisplay: update.status === "new" ? "Saga Initiated" : "Saga Updated",
134134
InitiatingMessage: <InitiatingMessageViewModel>{
135+
FriendlyTypeName: typeToName(update.initiating_message?.message_type || "Unknown Message") || "",
135136
MessageId: update.initiating_message?.message_id || "",
136-
MessageType: typeToName(update.initiating_message?.message_type || "Unknown Message") || "",
137137
FormattedMessageTimestamp: `${initiatingMessageTimestamp.toLocaleDateString()} ${initiatingMessageTimestamp.toLocaleTimeString()}`,
138138
MessageData: initiatingMessageData,
139139
IsEventMessage: update.initiating_message?.intent === "Publish",

src/Frontend/src/components/messages2/SagaDiagram/SagaOutgoingMessage.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ const props = defineProps<{
2727
}"
2828
>
2929
<img class="saga-icon saga-icon--side-cell" :src="message.IsEventMessage ? EventIcon : CommandIcon" :alt="message.IsEventMessage ? 'Event' : 'Command'" />
30-
<h2 class="message-title">{{ message.MessageFriendlyTypeName }}</h2>
30+
<h2 class="message-title">{{ message.FriendlyTypeName }}</h2>
3131
<div class="timestamp">{{ message.FormattedTimeSent }}</div>
3232
</div>
3333
<div v-if="showMessageData" class="message-data message-data--active">
34-
<MessageDataBox :messageData="message.Data" />
34+
<MessageDataBox :messageData="message.Data" :maximizedTitle="message.FriendlyTypeName" />
3535
</div>
3636
</template>
3737

src/Frontend/src/components/messages2/SagaDiagram/SagaOutgoingTimeoutMessage.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ watch(
6666
}"
6767
>
6868
<img class="saga-icon saga-icon--side-cell" :src="TimeoutIcon" alt="" />
69-
<h2 class="message-title" aria-label="timeout message type">{{ message.MessageFriendlyTypeName }}</h2>
69+
<h2 class="message-title" aria-label="timeout message type">{{ message.FriendlyTypeName }}</h2>
7070
<div class="timestamp" aria-label="timeout message timestamp">{{ message.FormattedTimeSent }}</div>
7171
</div>
7272
<div v-if="showMessageData" class="message-data message-data--active">
73-
<MessageDataBox :messageData="message.Data" />
73+
<MessageDataBox :messageData="message.Data" :maximizedTitle="message.FriendlyTypeName" />
7474
</div>
7575
</div>
7676
</div>

src/Frontend/src/components/messages2/SagaDiagram/SagaUpdateNode.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ const hasStateChanges = computed(() => {
151151
:data-message-id="update.InitiatingMessage.IsSagaTimeoutMessage ? update.MessageId : ''"
152152
>
153153
<img class="saga-icon saga-icon--side-cell" :src="update.InitiatingMessage.IsSagaTimeoutMessage ? TimeoutIcon : update.InitiatingMessage.IsEventMessage ? EventIcon : CommandIcon" alt="" />
154-
<h2 class="message-title" aria-label="initiating message type">{{ update.InitiatingMessage.MessageType }}</h2>
154+
<h2 class="message-title" aria-label="initiating message type">{{ update.InitiatingMessage.FriendlyTypeName }}</h2>
155155
<div class="timestamp" aria-label="initiating message timestamp">{{ update.InitiatingMessage.FormattedMessageTimestamp }}</div>
156156
</div>
157157
</div>
@@ -176,7 +176,7 @@ const hasStateChanges = computed(() => {
176176
<div class="cell cell--side cell--left-border cell--aling-top">
177177
<div v-if="showMessageData" class="message-data message-data--active">
178178
<!-- Generic message data box -->
179-
<MessageDataBox v-if="update.InitiatingMessage.MessageType" :messageData="update.InitiatingMessage.MessageData" />
179+
<MessageDataBox v-if="update.InitiatingMessage" :messageData="update.InitiatingMessage.MessageData" :maximizedTitle="update.InitiatingMessage.FriendlyTypeName" />
180180
</div>
181181
</div>
182182

@@ -194,7 +194,7 @@ const hasStateChanges = computed(() => {
194194

195195
<!-- Initial state display -->
196196
<div v-else-if="update.IsFirstNode" class="json-container json-container--first-node">
197-
<MaximizableCodeEditor :model-value="sagaUpdateStateChanges.formattedState || ''" language="json" :showCopyToClipboard="false" :showGutter="false" modalTitle="Saga Initialized" :extensions="[monospaceTheme]" />
197+
<MaximizableCodeEditor :model-value="sagaUpdateStateChanges.formattedState || ''" language="json" :showGutter="false" modalTitle="Saga Initialized" :extensions="[monospaceTheme]" />
198198
</div>
199199

200200
<!-- No changes message -->

0 commit comments

Comments
 (0)