From 75ee76ef55f73aae4894ccb9e3f9e915cb456d57 Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Mon, 30 Sep 2024 16:34:23 -0500 Subject: [PATCH 1/7] Refactor event details link, add link support for endpointId. --- .../event/event-details-link.svelte | 50 +++++++++++ .../event/event-details-row-expanded.svelte | 52 ++---------- .../components/event/event-details-row.svelte | 83 ++----------------- .../get-single-attribute-for-event.ts | 29 +++++++ 4 files changed, 89 insertions(+), 125 deletions(-) create mode 100644 src/lib/components/event/event-details-link.svelte diff --git a/src/lib/components/event/event-details-link.svelte b/src/lib/components/event/event-details-link.svelte new file mode 100644 index 000000000..e4d396a40 --- /dev/null +++ b/src/lib/components/event/event-details-link.svelte @@ -0,0 +1,50 @@ + + + + + + {value} + + + diff --git a/src/lib/components/event/event-details-row-expanded.svelte b/src/lib/components/event/event-details-row-expanded.svelte index c44d277d1..be839a8ac 100644 --- a/src/lib/components/event/event-details-row-expanded.svelte +++ b/src/lib/components/event/event-details-row-expanded.svelte @@ -1,27 +1,19 @@
@@ -88,44 +80,10 @@
{/if} - {:else if shouldDisplayAsExecutionLink(key)} -
-

{format(key)}

- - - {value} - - -
- {:else if shouldDisplayChildWorkflowLink(key, attributes)} + {:else if linkType !== 'none'}

{format(key)}

- - - {value} - - -
- {:else if shouldDisplayAsTaskQueueLink(key)} -
-

{format(key)}

- - - {value} - - +
{:else}
diff --git a/src/lib/components/event/event-details-row.svelte b/src/lib/components/event/event-details-row.svelte index 70d285172..f617ae316 100644 --- a/src/lib/components/event/event-details-row.svelte +++ b/src/lib/components/event/event-details-row.svelte @@ -1,23 +1,11 @@ {#if key} @@ -47,71 +35,10 @@
- {:else if shouldDisplayAsExecutionLink(key)} -
-
- - - - {value} - - - -
-
- {:else if shouldDisplayChildWorkflowLink(key, attributes)} -
-
- - - - {value} - - - -
-
- {:else if shouldDisplayAsTaskQueueLink(key)} + {:else if linkType !== 'none'}
- - - - {value} - - - +
{:else} diff --git a/src/lib/utilities/get-single-attribute-for-event.ts b/src/lib/utilities/get-single-attribute-for-event.ts index 758d079d8..ac61ae960 100644 --- a/src/lib/utilities/get-single-attribute-for-event.ts +++ b/src/lib/utilities/get-single-attribute-for-event.ts @@ -141,6 +141,24 @@ const keysWithExecutionLinks = [ 'originalExecutionRunId', ] as const; +export type EventLinkType = + | 'execution' + | 'task-queue' + | 'child-workflow' + | 'nexus-endpoint' + | 'none'; + +export const displayLinkType = ( + key: string, + attributes: CombinedAttributes, +): EventLinkType => { + if (shouldDisplayAsExecutionLink(key)) return 'execution'; + if (shouldDisplayAsTaskQueueLink(key)) return 'task-queue'; + if (shouldDisplayChildWorkflowLink(key, attributes)) return 'child-workflow'; + if (shouldDisplayNexusEndpointLink(key)) return 'nexus-endpoint'; + return 'none'; +}; + // For linking to same workflow but different execution export const shouldDisplayAsExecutionLink = ( key: string, @@ -185,6 +203,16 @@ export const shouldDisplayChildWorkflowLink = ( return false; }; +const keysWithNexusEndpointLinks = ['endpointId'] as const; + +export const shouldDisplayNexusEndpointLink = (key: string): boolean => { + for (const taskQueueKey of keysWithNexusEndpointLinks) { + if (key === taskQueueKey) return true; + } + + return false; +}; + export const shouldDisplayAsTime = (key: string): boolean => { return key?.toLowerCase()?.endsWith('time'); }; @@ -225,6 +253,7 @@ const preferredSummaryKeys = [ 'historySizeBytes', 'identity', 'parentInitiatedEventId', + 'endpointId', ] as const; /** From c1c1ffbe7f211f798e14ad1d7d5fcbc9f6eba701 Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Tue, 1 Oct 2024 08:51:22 -0500 Subject: [PATCH 2/7] More refactoring --- .../event/event-details-link.svelte | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/lib/components/event/event-details-link.svelte b/src/lib/components/event/event-details-link.svelte index e4d396a40..64216ca17 100644 --- a/src/lib/components/event/event-details-link.svelte +++ b/src/lib/components/event/event-details-link.svelte @@ -19,19 +19,24 @@ $: ({ workflow, namespace } = $page.params); - $: hrefs = { - execution: routeForEventHistory({ - namespace, - workflow, - run: value, - }), - 'task-queue': routeForTaskQueue({ namespace, queue: value }), - 'child-workflow': routeForEventHistory({ - namespace, - workflow: attributes.workflowExecutionWorkflowId, - run: attributes.workflowExecutionRunId, - }), - 'nexus-endpoint': routeForNexusEndpoint(value), + $: executionLink = routeForEventHistory({ + namespace, + workflow, + run: value, + }); + $: taskQueueLink = routeForTaskQueue({ namespace, queue: value }); + $: childWorkflowLink = routeForEventHistory({ + namespace, + workflow: attributes.workflowExecutionWorkflowId, + run: attributes.workflowExecutionRunId, + }); + $: nexusEndpointLink = routeForNexusEndpoint(value); + + const hrefs: Record, string> = { + execution: executionLink, + 'task-queue': taskQueueLink, + 'child-workflow': childWorkflowLink, + 'nexus-endpoint': nexusEndpointLink, }; $: href = hrefs[type]; From a2d01545ad747594a75d70809137a5ed53e59a0a Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Tue, 1 Oct 2024 11:11:19 -0500 Subject: [PATCH 3/7] Make reactive with type --- src/lib/components/event/event-details-link.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/components/event/event-details-link.svelte b/src/lib/components/event/event-details-link.svelte index 64216ca17..6946398ff 100644 --- a/src/lib/components/event/event-details-link.svelte +++ b/src/lib/components/event/event-details-link.svelte @@ -32,12 +32,12 @@ }); $: nexusEndpointLink = routeForNexusEndpoint(value); - const hrefs: Record, string> = { + $: hrefs = { execution: executionLink, 'task-queue': taskQueueLink, 'child-workflow': childWorkflowLink, 'nexus-endpoint': nexusEndpointLink, - }; + } as Record, string>; $: href = hrefs[type]; From d0a3950be4a2bb2a8346f7e26369868f2d300f53 Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Wed, 2 Oct 2024 10:26:03 -0500 Subject: [PATCH 4/7] Refactor to add link to timeline details --- .../event/event-details-link.svelte | 18 ++----- .../event/event-details-row-expanded.svelte | 15 +++++- .../components/event/event-details-row.svelte | 12 ++++- .../svg/group-details-text.svelte | 53 ++----------------- src/lib/holocene/link.svelte | 2 +- 5 files changed, 35 insertions(+), 65 deletions(-) diff --git a/src/lib/components/event/event-details-link.svelte b/src/lib/components/event/event-details-link.svelte index 6946398ff..c8331d1e7 100644 --- a/src/lib/components/event/event-details-link.svelte +++ b/src/lib/components/event/event-details-link.svelte @@ -1,10 +1,7 @@ - - - - {value} - - - + + {value} + diff --git a/src/lib/components/event/event-details-row-expanded.svelte b/src/lib/components/event/event-details-row-expanded.svelte index be839a8ac..4d6a76281 100644 --- a/src/lib/components/event/event-details-row-expanded.svelte +++ b/src/lib/components/event/event-details-row-expanded.svelte @@ -1,6 +1,7 @@ {#if typeof value === 'object'} @@ -48,9 +38,6 @@ maxHeight={staticCodeBlockHeight - fontSizeRatio} /> - {/key} {:else if key === 'searchAttributes'} @@ -71,10 +58,6 @@ maxHeight={staticCodeBlockHeight - fontSizeRatio} /> - - {/key} {:else} @@ -91,37 +74,11 @@ maxHeight={staticCodeBlockHeight - fontSizeRatio} /> - {/key} {/if} - -{:else if shouldDisplayAsExecutionLink(key)} - {value} -{:else if shouldDisplayChildWorkflowLink(key, attributes)} - {value} -{:else if shouldDisplayAsTaskQueueLink(key)} - {value} +{:else if linkType !== 'none'} + {:else} {value} {/if} diff --git a/src/lib/holocene/link.svelte b/src/lib/holocene/link.svelte index 1b1cd64a0..af83aa8e7 100644 --- a/src/lib/holocene/link.svelte +++ b/src/lib/holocene/link.svelte @@ -66,7 +66,7 @@ } &.light { - @apply text-off-white; + @apply text-off-white hover:text-indigo-300; } } From 8d065e5534e4dba7aafbb8bd41864baa8edd6a95 Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Wed, 2 Oct 2024 13:42:24 -0500 Subject: [PATCH 5/7] Update based on feedback. Remove max width constraints --- .../components/event/event-details-row.svelte | 26 ++++++++----------- .../components/event/event-summary-row.svelte | 4 +-- src/lib/holocene/link.svelte | 2 +- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/lib/components/event/event-details-row.svelte b/src/lib/components/event/event-details-row.svelte index 3c08a9265..db7b74b03 100644 --- a/src/lib/components/event/event-details-row.svelte +++ b/src/lib/components/event/event-details-row.svelte @@ -20,10 +20,10 @@ {#if key}
{#if showKey} -

+

{format(key)}

{/if} @@ -38,19 +38,15 @@
{:else if linkType !== 'none'} -
-
- - - - - -
-
+ + + + + {:else}

diff --git a/src/lib/components/event/event-summary-row.svelte b/src/lib/components/event/event-summary-row.svelte index 6c47cd80f..fb5f21c24 100644 --- a/src/lib/components/event/event-summary-row.svelte +++ b/src/lib/components/event/event-summary-row.svelte @@ -138,9 +138,7 @@ -

+

Date: Thu, 3 Oct 2024 09:27:00 -0500 Subject: [PATCH 6/7] Add shrink-0 to icon --- src/lib/holocene/icon/icon.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/holocene/icon/icon.svelte b/src/lib/holocene/icon/icon.svelte index c4e444244..cf792f184 100644 --- a/src/lib/holocene/icon/icon.svelte +++ b/src/lib/holocene/icon/icon.svelte @@ -15,7 +15,7 @@ {width} {height} {title} - class={$$props.class} + class="shrink-0 {$$props.class}" {...$$restProps} /> {/if} From 38d7a3770d9232951217ff9d3cdf25f59682fc41 Mon Sep 17 00:00:00 2001 From: Alex Tideman Date: Thu, 3 Oct 2024 12:26:50 -0500 Subject: [PATCH 7/7] Lots of small styling updates --- .../event/event-details-full.svelte | 8 +- .../event/event-details-row-expanded.svelte | 4 +- .../components/event/event-details-row.svelte | 20 ++--- src/lib/components/event/event-link.svelte | 2 +- .../components/event/event-summary-row.svelte | 77 ++++++++----------- .../event/event-summary-table.svelte | 1 + .../event/pending-activity-summary-row.svelte | 1 - .../table/paginated-table/index.svelte | 9 ++- .../table/paginated-table/paginated.svelte | 9 ++- 9 files changed, 65 insertions(+), 66 deletions(-) diff --git a/src/lib/components/event/event-details-full.svelte b/src/lib/components/event/event-details-full.svelte index 68e4a9cb5..f2b27e90b 100644 --- a/src/lib/components/event/event-details-full.svelte +++ b/src/lib/components/event/event-details-full.svelte @@ -25,8 +25,12 @@ {#each group.eventList as groupEvent} {@const attributes = formatAttributes(groupEvent)} {@const details = Object.entries(attributes)} -

-
+
+
{groupEvent.id} {spaceBetweenCapitalLetters(groupEvent.name)} diff --git a/src/lib/components/event/event-details-row-expanded.svelte b/src/lib/components/event/event-details-row-expanded.svelte index 4d6a76281..e24634465 100644 --- a/src/lib/components/event/event-details-row-expanded.svelte +++ b/src/lib/components/event/event-details-row-expanded.svelte @@ -101,7 +101,7 @@ {:else}

{format(key)}

- + {shouldDisplayAsTime(key) ? formatDate(value, $timeFormat) : value}
@@ -118,6 +118,6 @@ } .detail-row { - @apply flex w-full items-center gap-4 py-1 text-left xl:flex; + @apply flex w-full items-center gap-2 py-1 text-left; } diff --git a/src/lib/components/event/event-details-row.svelte b/src/lib/components/event/event-details-row.svelte index db7b74b03..1c0bccbe7 100644 --- a/src/lib/components/event/event-details-row.svelte +++ b/src/lib/components/event/event-details-row.svelte @@ -20,16 +20,16 @@ {#if key}
{#if showKey} -

+

{format(key)}

{/if} {#if typeof value === 'object'}
@@ -43,18 +43,14 @@ copySuccessIconTitle={translate('common.copy-success-icon-title')} content={value} > - +

- +

{:else} -
-

- - {value} - -

-
+ + {value} + {/if}
{/if} diff --git a/src/lib/components/event/event-link.svelte b/src/lib/components/event/event-link.svelte index a1bb8f7c0..b79ccceed 100644 --- a/src/lib/components/event/event-link.svelte +++ b/src/lib/components/event/event-link.svelte @@ -8,7 +8,7 @@

Link

diff --git a/src/lib/components/event/event-summary-row.svelte b/src/lib/components/event/event-summary-row.svelte index fb5f21c24..cc082fd51 100644 --- a/src/lib/components/event/event-summary-row.svelte +++ b/src/lib/components/event/event-summary-row.svelte @@ -136,55 +136,42 @@ {/if} -
- -

+

+ {displayName} +

+ {#if pendingAttempt} +
- {displayName} -

-
- {#if pendingAttempt} -
- - {pendingAttempt} - {#if hasPendingActivity} - / {hasPendingActivity.maximumAttempts || '∞'} - {/if} -
- {/if} - {#if currentEvent?.links?.length} - - {/if} - {#if primaryAttribute?.key} -
-
+ {/if} + {#if currentEvent?.links?.length} + + {/if} + {#if primaryAttribute?.key} + + {/if} + {#if nonPendingActivityAttempt} + + {/if} + {#if compact && secondaryAttribute?.key} + + {/if} {#if isEventGroup(event)} diff --git a/src/lib/components/event/event-summary-table.svelte b/src/lib/components/event/event-summary-table.svelte index 1537d10ef..120c87375 100644 --- a/src/lib/components/event/event-summary-table.svelte +++ b/src/lib/components/event/event-summary-table.svelte @@ -52,6 +52,7 @@ let:visibleItems variant="split" maxHeight="calc(100vh - 200px)" + fixed > {#if !compact} diff --git a/src/lib/components/event/pending-activity-summary-row.svelte b/src/lib/components/event/pending-activity-summary-row.svelte index fe72a36b3..4a507ba2d 100644 --- a/src/lib/components/event/pending-activity-summary-row.svelte +++ b/src/lib/components/event/pending-activity-summary-row.svelte @@ -68,7 +68,6 @@ value={event.activityType} showKey attributes={event} - class="invisible h-0 w-0 md:visible md:h-auto md:w-auto" />
diff --git a/src/lib/holocene/table/paginated-table/index.svelte b/src/lib/holocene/table/paginated-table/index.svelte index 08ffbf968..2581842b7 100644 --- a/src/lib/holocene/table/paginated-table/index.svelte +++ b/src/lib/holocene/table/paginated-table/index.svelte @@ -7,6 +7,7 @@ export let variant: 'primary' | 'split' = 'primary'; export let updating = false; export let maxHeight = ''; + export let fixed = false; let tableContainer: HTMLDivElement; @@ -20,7 +21,11 @@ bind:this={tableContainer} style="max-height: {maxHeight || `calc(100vh - ${tableOffset}px)`}" > - +
@@ -57,7 +62,7 @@ } .paginated-table { - @apply w-full table-auto; + @apply w-full; } .paginated-table-header { diff --git a/src/lib/holocene/table/paginated-table/paginated.svelte b/src/lib/holocene/table/paginated-table/paginated.svelte index 915987075..7ca01fe8c 100644 --- a/src/lib/holocene/table/paginated-table/paginated.svelte +++ b/src/lib/holocene/table/paginated-table/paginated.svelte @@ -27,6 +27,7 @@ export let previousPageButtonLabel: string; export let maxHeight = ''; export let pageSizeOptions: string[] = options; + export let fixed = false; $: url = $page.url; $: perPageParam = url.searchParams.get(perPageKey) ?? pageSizeOptions[0]; @@ -87,7 +88,13 @@ } - +