From 1244ee1597bad0ef7b052266dead7c054169f09c Mon Sep 17 00:00:00 2001 From: Ahmed Awan Date: Mon, 13 May 2024 17:33:44 -0500 Subject: [PATCH 1/3] Add an Invocations Panel --- .../components/ActivityBar/ActivityBar.vue | 8 +- client/src/components/Common/Heading.vue | 1 + .../components/Grid/configs/invocations.ts | 2 +- .../components/Panels/InvocationsPanel.vue | 18 + .../ToolsList/ScrollToTopButton.vue | 42 +-- .../Invocation/InvocationScrollList.vue | 357 ++++++++++++++++++ .../WorkflowInvocationState.vue | 25 +- client/src/entry/analysis/router.js | 1 + client/src/stores/activitySetup.ts | 2 +- 9 files changed, 429 insertions(+), 27 deletions(-) create mode 100644 client/src/components/Panels/InvocationsPanel.vue create mode 100644 client/src/components/Workflow/Invocation/InvocationScrollList.vue diff --git a/client/src/components/ActivityBar/ActivityBar.vue b/client/src/components/ActivityBar/ActivityBar.vue index 40baad944a5a..0d9f83fb3d05 100644 --- a/client/src/components/ActivityBar/ActivityBar.vue +++ b/client/src/components/ActivityBar/ActivityBar.vue @@ -11,6 +11,7 @@ import { type Activity, useActivityStore } from "@/stores/activityStore"; import { useEventStore } from "@/stores/eventStore"; import { useUserStore } from "@/stores/userStore"; +import InvocationsPanel from "../Panels/InvocationsPanel.vue"; import VisualizationPanel from "../Panels/VisualizationPanel.vue"; import ActivityItem from "./ActivityItem.vue"; import InteractiveItem from "./Items/InteractiveItem.vue"; @@ -178,7 +179,11 @@ watch( :to="activity.to" @click="onToggleSidebar()" /> + diff --git a/client/src/components/Common/Heading.vue b/client/src/components/Common/Heading.vue index 7e7ccc8bf024..d31d0d033ce4 100644 --- a/client/src/components/Common/Heading.vue +++ b/client/src/components/Common/Heading.vue @@ -81,6 +81,7 @@ const element = computed(() => { props.bold ? 'font-weight-bold' : '', props.inline ? 'inline' : '', collapsible ? 'collapsible' : '', + props.truncate ? 'truncate' : '', ]" @click="$emit('click')"> diff --git a/client/src/components/Grid/configs/invocations.ts b/client/src/components/Grid/configs/invocations.ts index 72db04c3ca80..f81b1be2d8ce 100644 --- a/client/src/components/Grid/configs/invocations.ts +++ b/client/src/components/Grid/configs/invocations.ts @@ -19,7 +19,7 @@ type SortKeyLiteral = "create_time" | "update_time" | "None" | null | undefined; /** * Request and return invocations from server */ -async function getData( +export async function getData( offset: number, limit: number, search: string, diff --git a/client/src/components/Panels/InvocationsPanel.vue b/client/src/components/Panels/InvocationsPanel.vue new file mode 100644 index 000000000000..d84c5784bede --- /dev/null +++ b/client/src/components/Panels/InvocationsPanel.vue @@ -0,0 +1,18 @@ + + + diff --git a/client/src/components/ToolsList/ScrollToTopButton.vue b/client/src/components/ToolsList/ScrollToTopButton.vue index 34b5d8d6fbc5..ad41a6a75b90 100644 --- a/client/src/components/ToolsList/ScrollToTopButton.vue +++ b/client/src/components/ToolsList/ScrollToTopButton.vue @@ -1,33 +1,31 @@ - - - + + diff --git a/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue b/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue index 03aab1d5eca6..fc1fb046f8b3 100644 --- a/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue +++ b/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue @@ -1,6 +1,15 @@