Skip to content

Commit d1b3b0b

Browse files
Christiancquirosj
authored andcommitted
Show message data button
1 parent 4d4fe20 commit d1b3b0b

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script setup lang="ts">
2-
import { computed, onUnmounted, watch } from "vue";
2+
import { computed, onUnmounted, watch, ref } from "vue";
33
import routeLinks from "@/router/routeLinks";
44
import { useSagaDiagramStore } from "@/stores/SagaDiagramStore";
55
import { useMessageStore } from "@/stores/MessageStore";
@@ -13,6 +13,12 @@ import SagaHeader from "./SagaDiagram/SagaHeader.vue";
1313
import SagaUpdateNode from "./SagaDiagram/SagaUpdateNode.vue";
1414
import SagaCompletedNode from "./SagaDiagram/SagaCompletedNode.vue";
1515
16+
const showMessageData = ref(false);
17+
18+
const toggleMessageData = () => {
19+
showMessageData.value = !showMessageData.value;
20+
};
21+
1622
const store = useMessageStore();
1723
const { state: messageState } = storeToRefs(store);
1824
@@ -49,6 +55,7 @@ const vm = computed<SagaViewModel>(() => {
4955
SagaCompleted: !!completedUpdate,
5056
FormattedCompletionTime: completionTime ? `${completionTime.toLocaleDateString()} ${completionTime.toLocaleTimeString()}` : "",
5157
SagaUpdates: parseSagaUpdates(sagaDiagramStore.sagaHistory),
58+
ShowMessageData: showMessageData.value,
5259
};
5360
});
5461
@@ -60,7 +67,10 @@ import { typeToName } from "@/composables/typeHumanizer";
6067
<div class="saga-container">
6168
<!-- Toolbar header -->
6269
<div v-if="vm.HasSagaData" class="header">
63-
<button class="saga-button" aria-label="message-not-involved-in-saga"><img class="saga-button-icon" :src="ToolbarEndpointIcon" alt="" />Show Message Data</button>
70+
<button :class="['saga-button', { 'saga-button--active': vm.ShowMessageData }]" aria-label="show-message-data-button" @click="toggleMessageData">
71+
<img class="saga-button-icon" :src="ToolbarEndpointIcon" alt="" />
72+
{{ vm.ShowMessageData ? "Hide Message Data" : "Show Message Data" }}
73+
</button>
6474
</div>
6575

6676
<!-- No saga Data Available container -->
@@ -76,7 +86,7 @@ import { typeToName } from "@/composables/typeHumanizer";
7686
<SagaHeader :saga-title="vm.SagaTitle" :saga-guid="vm.SagaGuid" :message-id-url="vm.MessageIdUrl" />
7787

7888
<!-- Iterate through each saga update -->
79-
<SagaUpdateNode v-for="(update, index) in vm.SagaUpdates" :key="index" :update="update" />
89+
<SagaUpdateNode v-for="(update, index) in vm.SagaUpdates" :key="index" :update="update" :show-message-data="vm.ShowMessageData" />
8090

8191
<!-- Saga Completed section -->
8292
<SagaCompletedNode v-if="vm.SagaCompleted" :completion-time="vm.FormattedCompletionTime" />

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import SagaTimeoutIcon from "@/assets/SagaTimeoutIcon.svg";
77
defineProps<{
88
message: SagaTimeoutMessage;
99
isLastMessage: boolean;
10+
showMessageData?: boolean;
1011
}>();
1112
</script>
1213

@@ -30,7 +31,7 @@ defineProps<{
3031
<h2 class="message-title" aria-label="timeout message type">{{ message.MessageFriendlyTypeName }}</h2>
3132
<div class="timestamp" aria-label="timeout message timestamp">{{ message.FormattedTimeSent }}</div>
3233
</div>
33-
<div class="message-data message-data--active">
34+
<div v-if="showMessageData" class="message-data message-data--active">
3435
<MessageDataBox />
3536
</div>
3637
</div>

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import SagaUpdatedIcon from "@/assets/SagaUpdatedIcon.svg";
1111
1212
defineProps<{
1313
update: SagaUpdateViewModel;
14+
showMessageData?: boolean;
1415
}>();
1516
</script>
1617

@@ -38,7 +39,7 @@ defineProps<{
3839
<div class="row">
3940
<!-- Left side - Message Data box -->
4041
<div class="cell cell--side cell--left-border cell--aling-top">
41-
<div class="message-data message-data--active">
42+
<div v-if="showMessageData" class="message-data message-data--active">
4243
<!-- Generic message data box -->
4344
<MessageDataBox v-if="update.InitiatingMessageType" />
4445
</div>
@@ -72,15 +73,15 @@ defineProps<{
7273
<h2 class="message-title">{{ msg.MessageFriendlyTypeName }}</h2>
7374
<div class="timestamp">{{ msg.FormattedTimeSent }}</div>
7475
</div>
75-
<div class="message-data message-data--active">
76+
<div v-if="showMessageData" class="message-data message-data--active">
7677
<MessageDataBox />
7778
</div>
7879
</template>
7980
</div>
8081
</div>
8182

8283
<!-- Display each outgoing timeout message in separate rows -->
83-
<SagaTimeoutMessage v-for="(msg, msgIndex) in update.TimeoutMessages" :key="'timeout-' + msgIndex" :message="msg" :isLastMessage="msgIndex === update.TimeoutMessages.length - 1" />
84+
<SagaTimeoutMessage v-for="(msg, msgIndex) in update.TimeoutMessages" :key="'timeout-' + msgIndex" :message="msg" :isLastMessage="msgIndex === update.TimeoutMessages.length - 1" :showMessageData="showMessageData" />
8485
</div>
8586
</template>
8687

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export interface SagaViewModel {
4444
SagaCompleted: boolean;
4545
FormattedCompletionTime: string;
4646
SagaUpdates: SagaUpdateViewModel[];
47+
ShowMessageData: boolean;
4748
}
4849

4950
export function parseSagaUpdates(sagaHistory: SagaHistory | null): SagaUpdateViewModel[] {

0 commit comments

Comments
 (0)