Skip to content

Commit b47dc6b

Browse files
authored
Merge pull request #2330 from Particular/john/back-link
Re-introduce back link
2 parents d6bf33f + 66274b3 commit b47dc6b

File tree

3 files changed

+30
-11
lines changed

3 files changed

+30
-11
lines changed

src/Frontend/src/components/audit/AuditList.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import { useFormatTime } from "@/composables/formatter";
99
import RefreshConfig from "../RefreshConfig.vue";
1010
import ItemsPerPage from "../ItemsPerPage.vue";
1111
import PaginationStrip from "../PaginationStrip.vue";
12+
import { useRoute } from "vue-router";
1213
1314
const store = useAuditStore();
1415
const { messages, sortByInstances, itemsPerPage, selectedPage, totalCount } = storeToRefs(store);
16+
const route = useRoute();
1517
1618
function statusToName(messageStatus: MessageStatus) {
1719
switch (messageStatus) {
@@ -99,10 +101,15 @@ function formatDotNetTimespan(timespan: string) {
99101
<template #content>
100102
<p :style="{ overflowWrap: 'break-word' }">{{ message.message_id }}</p>
101103
</template>
102-
<RouterLink v-if="message.status === MessageStatus.Successful" class="hackToPreventSafariFromShowingTooltip" aria-label="details-link" :to="{ path: routeLinks.messages.successMessage.link(message.message_id, message.id) }">
104+
<RouterLink
105+
v-if="message.status === MessageStatus.Successful"
106+
class="hackToPreventSafariFromShowingTooltip"
107+
aria-label="details-link"
108+
:to="{ path: routeLinks.messages.successMessage.link(message.message_id, message.id), query: { back: route.path } }"
109+
>
103110
{{ message.message_id }}
104111
</RouterLink>
105-
<RouterLink v-else class="hackToPreventSafariFromShowingTooltip" aria-label="details-link" :to="{ path: routeLinks.messages.failedMessage.link(message.id) }">
112+
<RouterLink v-else class="hackToPreventSafariFromShowingTooltip" aria-label="details-link" :to="{ path: routeLinks.messages.failedMessage.link(message.id), query: { back: route.path } }">
106113
{{ message.message_id }}
107114
</RouterLink>
108115
</tippy>

src/Frontend/src/components/messages2/FlowDiagram/FlowDiagram.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { ControlButton, Controls } from "@vue-flow/controls";
99
import { useMessageStore } from "@/stores/MessageStore.ts";
1010
import LoadingSpinner from "@/components/LoadingSpinner.vue";
1111
import { storeToRefs } from "pinia";
12+
import { useRouter } from "vue-router";
1213
import EndpointDetails from "@/resources/EndpointDetails.ts";
1314
import { hexToCSSFilter } from "hex-to-css-filter";
1415
import TextEllipses from "@/components/TextEllipses.vue";
@@ -193,8 +194,14 @@ const nodes = ref<Node[]>([]);
193194
const edges = ref<DefaultEdge[]>([]);
194195
const { layout } = useLayout();
195196
const { fitView } = useVueFlow();
197+
const backLink = ref<string>(routeLinks.failedMessage.failedMessages.link);
196198
197199
onMounted(async () => {
200+
const back = useRouter().currentRoute.value.query.back as string;
201+
if (back) {
202+
backLink.value = back;
203+
}
204+
198205
if (!state.value.data.conversation_id) return;
199206
200207
const messages = await getConversation(state.value.data.conversation_id);
@@ -244,8 +251,8 @@ const errorColor = hexToCSSFilter("#be514a").filter;
244251
<i class="fa" :class="{ 'pa-flow-timeout': data.isTimeout, 'pa-flow-command': data.isCommand, 'pa-flow-event': data.isEvent }" v-tippy="data.type" />
245252
<div class="lead">
246253
<strong>
247-
<RouterLink v-if="data.isError" :to="{ path: routeLinks.messages.failedMessage.link(id) }"><TextEllipses style="width: 204px" :text="data.label" ellipses-style="LeftSide" /></RouterLink>
248-
<RouterLink v-else :to="{ path: routeLinks.messages.successMessage.link(data.messageId, id) }"><TextEllipses style="width: 204px" :text="data.label" ellipses-style="LeftSide" /></RouterLink>
254+
<RouterLink v-if="data.isError" :to="{ path: routeLinks.messages.failedMessage.link(id), query: { back: backLink } }"><TextEllipses style="width: 204px" :text="data.label" ellipses-style="LeftSide" /></RouterLink>
255+
<RouterLink v-else :to="{ path: routeLinks.messages.successMessage.link(data.messageId, id), query: { back: backLink } }"><TextEllipses style="width: 204px" :text="data.label" ellipses-style="LeftSide" /></RouterLink>
249256
</strong>
250257
</div>
251258
<i v-if="data.isError" class="fa pa-flow-failed" :style="id !== store.state.data.id ? { filter: errorColor } : {}" />

src/Frontend/src/components/messages2/MessageView.vue

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import { computed, watch } from "vue";
3-
import { RouterLink, useRoute } from "vue-router";
2+
import { computed, onMounted, ref, watch } from "vue";
3+
import { RouterLink, useRoute, useRouter } from "vue-router";
44
import NoData from "../NoData.vue";
55
import TimeSince from "../TimeSince.vue";
66
import FlowDiagram from "./FlowDiagram/FlowDiagram.vue";
@@ -29,6 +29,7 @@ const isError = computed(() => messageId.value === undefined);
2929
const isMassTransitConnected = useIsMassTransitConnected();
3030
const store = useMessageStore();
3131
const { state } = storeToRefs(store);
32+
const backLink = ref<string>(routeLinks.failedMessage.failedMessages.link);
3233
const tabs = computed(() => {
3334
const currentTabs = [
3435
{
@@ -78,6 +79,13 @@ watch(
7879
{ immediate: true }
7980
);
8081
const endpointColor = hexToCSSFilter("#929E9E").filter;
82+
83+
onMounted(() => {
84+
const back = useRouter().currentRoute.value.query.back as string;
85+
if (back) {
86+
backLink.value = back;
87+
}
88+
});
8189
</script>
8290

8391
<template>
@@ -89,6 +97,7 @@ const endpointColor = hexToCSSFilter("#929E9E").filter;
8997
<LoadingOverlay v-if="state.loading ?? false" />
9098
<div class="row">
9199
<div class="col-sm-12 no-side-padding">
100+
<RouterLink :to="backLink"><i class="fa fa-chevron-left"></i> Back</RouterLink>
92101
<div class="active break group-title">
93102
<h1 class="message-type-title">{{ state.data.message_type }}</h1>
94103
</div>
@@ -112,7 +121,7 @@ const endpointColor = hexToCSSFilter("#929E9E").filter;
112121
<template v-if="state.data.failure_metadata.edited">
113122
<MetadataLabel tooltip="Message was edited" type="info" text="Edited" />
114123
<span v-if="state.data.failure_metadata.edit_of" class="metadata metadata-link">
115-
<i class="fa fa-history"></i> <RouterLink :to="{ path: routeLinks.messages.failedMessage.link(state.data.failure_metadata.edit_of) }">View previous version</RouterLink>
124+
<i class="fa fa-history"></i> <RouterLink :to="{ path: routeLinks.messages.failedMessage.link(state.data.failure_metadata.edit_of), query: { back: backLink } }">View previous version</RouterLink>
116125
</span>
117126
</template>
118127
<span v-if="state.data.failure_metadata.time_of_failure" class="metadata"><i class="fa fa-clock-o"></i> Failed: <time-since :date-utc="state.data.failure_metadata.time_of_failure"></time-since></span>
@@ -173,10 +182,6 @@ button img {
173182
width: 17px;
174183
}
175184
176-
.msg-tabs {
177-
margin-bottom: 20px;
178-
}
179-
180185
.pa-redirect-source {
181186
background-image: url("@/assets/redirect-source.svg");
182187
background-position: center;

0 commit comments

Comments
 (0)