Skip to content

Commit a3b781b

Browse files
WIP - audit wizard promo
1 parent 5c13d0b commit a3b781b

File tree

7 files changed

+144
-9
lines changed

7 files changed

+144
-9
lines changed
453 KB
Loading
188 KB
Loading
157 KB
Loading
161 KB
Loading
32.9 KB
Loading

src/Frontend/src/components/platformcapabilities/WizardDialog.vue

Lines changed: 67 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const modalRef = ref<HTMLElement | null>(null);
2323
let modalInstance: Modal | null = null;
2424
2525
const currentPageIndex = ref(0);
26+
const isImageExpanded = ref(false);
2627
2728
const currentPage = computed(() => props.pages[currentPageIndex.value]);
2829
const isFirstPage = computed(() => currentPageIndex.value === 0);
@@ -92,23 +93,19 @@ onUnmounted(() => {
9293
<h5 class="modal-title">{{ title }}</h5>
9394
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
9495
</div>
95-
9696
<div class="modal-body">
97-
<div v-if="currentPage.image" class="wizard-image text-center mb-4">
98-
<img :src="currentPage.image" :alt="currentPage.title" class="img-fluid rounded" />
99-
</div>
100-
10197
<div class="wizard-page-content">
10298
<h4 class="page-title mb-3">{{ currentPage.title }}</h4>
10399
<div class="page-content" v-html="currentPage.content"></div>
104-
100+
<div v-if="currentPage.image" class="wizard-image text-center mb-4">
101+
<img :src="currentPage.image" :alt="currentPage.title" class="img-fluid rounded clickable-image" @click="isImageExpanded = true" />
102+
</div>
105103
<a v-if="currentPage.learnMoreUrl" :href="currentPage.learnMoreUrl" target="_blank" rel="noopener noreferrer" class="learn-more-link mt-3 d-inline-flex align-items-center gap-2">
106104
{{ currentPage.learnMoreText || "Learn more in the documentation" }}
107105
<FAIcon :icon="faExternalLinkAlt" class="small" />
108106
</a>
109107
</div>
110108
</div>
111-
112109
<div class="modal-footer d-flex justify-content-between align-items-center">
113110
<div class="page-indicators d-flex gap-2">
114111
<button v-for="(_, index) in pages" :key="index" type="button" class="page-dot" :class="{ active: index === currentPageIndex, visited: index < currentPageIndex }" @click="goToPage(index)" :aria-label="`Go to page ${index + 1}`"></button>
@@ -133,6 +130,15 @@ onUnmounted(() => {
133130
</div>
134131
</div>
135132
</div>
133+
134+
<Teleport to="body">
135+
<div v-if="isImageExpanded && currentPage.image" class="image-lightbox" @click="isImageExpanded = false">
136+
<div class="lightbox-content" @click.stop>
137+
<button type="button" class="lightbox-close" @click="isImageExpanded = false" aria-label="Close">&times;</button>
138+
<img :src="currentPage.image" :alt="currentPage.title" />
139+
</div>
140+
</div>
141+
</Teleport>
136142
</template>
137143

138144
<style scoped>
@@ -142,10 +148,63 @@ onUnmounted(() => {
142148
}
143149
144150
.wizard-image img {
145-
max-height: 200px;
146151
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
147152
}
148153
154+
.clickable-image {
155+
cursor: zoom-in;
156+
transition: transform 0.2s ease;
157+
}
158+
159+
.clickable-image:hover {
160+
transform: scale(1.02);
161+
}
162+
163+
.image-lightbox {
164+
position: fixed;
165+
top: 0;
166+
left: 0;
167+
width: 100%;
168+
height: 100%;
169+
background-color: rgba(0, 0, 0, 0.9);
170+
display: flex;
171+
align-items: center;
172+
justify-content: center;
173+
z-index: 2000;
174+
cursor: zoom-out;
175+
}
176+
177+
.lightbox-content {
178+
position: relative;
179+
max-width: 90%;
180+
max-height: 90%;
181+
cursor: default;
182+
}
183+
184+
.lightbox-content img {
185+
max-width: 100%;
186+
max-height: 90vh;
187+
border-radius: 8px;
188+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
189+
}
190+
191+
.lightbox-close {
192+
position: absolute;
193+
top: -40px;
194+
right: 0;
195+
background: none;
196+
border: none;
197+
color: white;
198+
font-size: 32px;
199+
cursor: pointer;
200+
padding: 0;
201+
line-height: 1;
202+
}
203+
204+
.lightbox-close:hover {
205+
color: #ccc;
206+
}
207+
149208
.page-title {
150209
font-size: 1.25rem;
151210
font-weight: 600;

src/Frontend/src/components/platformcapabilities/wizards/AuditingWizardPages.ts

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,90 @@ const AuditingInstanceNotConfiguredPages: WizardPage[] = [
77
content: `
88
<p>Auditing captures a copy of every successful message processed by your NServiceBus endpoints, allowing you to:</p>
99
<ul>
10+
<li><strong>Display and discover messages</strong> - View processed messages in your system</li>
1011
<li><strong>Track message flow</strong> - See the complete journey of messages through your system</li>
12+
<li><strong>View the sequence of events</strong> - Understand how messages are processed over time</li>
13+
<li><strong>Visualize workflow state</strong> - Monitor and debug your saga workflows</li>
1114
<li><strong>Debug issues</strong> - Inspect message contents and headers for troubleshooting</li>
12-
<li><strong>Analyze patterns</strong> - Understand how your system processes messages over time</li>
1315
</ul>
1416
`,
1517
learnMoreUrl: "https://docs.particular.net/nservicebus/operations/auditing",
1618
learnMoreText: "Learn more about auditing",
1719
},
20+
{
21+
title: "Display and Discover Messages",
22+
content: `
23+
<p>Browse and search through all processed messages in your system:</p>
24+
<ul>
25+
<li><strong>Message list</strong> - View all messages in a searchable list</li>
26+
<li><strong>Advanced filtering</strong> - Filter messages by endpoint, time range, and more</li>
27+
<li><strong>Full-text search</strong> - Search message contents to find specific data</li>
28+
<li><strong>Sorting options</strong> - Sort by time processed, endpoint, or message type</li>
29+
</ul>
30+
`,
31+
image: "/img/all-messages.png",
32+
learnMoreUrl: "https://docs.particular.net/servicepulse/all-messages",
33+
learnMoreText: "Learn about message discovery",
34+
},
35+
{
36+
title: "Track Message Flow",
37+
content: `
38+
<p>Follow the complete journey of messages through your distributed system:</p>
39+
<ul>
40+
<li><strong>Conversation tracking</strong> - See all related messages grouped together by conversation ID</li>
41+
<li><strong>Message timeline</strong> - View the sequence of events as messages flow between endpoints</li>
42+
<li><strong>Endpoint mapping</strong> - Understand which endpoints send and receive each message type</li>
43+
<li><strong>Flow visualization</strong> - Get a clear picture of your system's message-based interactions</li>
44+
</ul>
45+
`,
46+
image: "/img/flow-diagram.png",
47+
learnMoreUrl: "https://docs.particular.net/servicepulse/flow-diagram",
48+
learnMoreText: "Learn about message tracking",
49+
},
50+
{
51+
title: "View the Sequence of Events",
52+
content: `
53+
<p>Understand the order and timing of message processing with sequence diagrams:</p>
54+
<ul>
55+
<li><strong>Timeline view</strong> - See messages arranged chronologically as they were processed</li>
56+
<li><strong>Endpoint interactions</strong> - Visualize how endpoints communicate with each other</li>
57+
<li><strong>Handler execution</strong> - Track which handlers processed each message</li>
58+
</ul>
59+
`,
60+
image: "/img/sequence-diagram.png",
61+
learnMoreUrl: "https://docs.particular.net/servicepulse/sequence-diagram",
62+
learnMoreText: "Learn about sequence diagrams",
63+
},
64+
{
65+
title: "Visualize Workflow State",
66+
content: `
67+
<p>Monitor and debug your saga workflows with saga diagrams:</p>
68+
<ul>
69+
<li><strong>Saga lifecycle</strong> - View the complete history of a saga from start to completion</li>
70+
<li><strong>State changes</strong> - Track how saga state evolves as messages are processed</li>
71+
<li><strong>Message correlation</strong> - See which messages initiated and updated the saga</li>
72+
<li><strong>Timeout tracking</strong> - Monitor saga timeouts and their triggers</li>
73+
</ul>
74+
`,
75+
image: "/img/saga-diagram-overview.png",
76+
learnMoreUrl: "https://docs.particular.net/servicepulse/saga-diagram",
77+
learnMoreText: "Learn about saga diagrams",
78+
},
79+
{
80+
title: "Debug Issues",
81+
content: `
82+
<p>Inspect message details to troubleshoot problems in your system:</p>
83+
<ul>
84+
<li><strong>Message headers</strong> - View all metadata including timestamps, correlation IDs, and custom headers</li>
85+
<li><strong>Message body</strong> - Examine the full payload content of each message</li>
86+
<li><strong>Processing details</strong> - See which endpoint processed the message and when</li>
87+
<li><strong>Search & filter</strong> - Quickly find specific messages by content, type, or time range</li>
88+
</ul>
89+
`,
90+
image: "/img/message-details-headers.png",
91+
learnMoreUrl: "https://docs.particular.net/servicepulse/message-details",
92+
learnMoreText: "Learn about message inspection",
93+
},
1894
{
1995
title: "Set Up ServiceControl Audit Instance",
2096
content: `

0 commit comments

Comments
 (0)