diff --git a/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue b/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue index 1f94cf672c53..b59e37db136c 100644 --- a/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue +++ b/client/src/components/WorkflowInvocationState/WorkflowInvocationState.vue @@ -7,6 +7,7 @@ import { computed, onMounted, onUnmounted, ref, watch } from "vue"; import { InvocationJobsSummary, WorkflowInvocationElementView } from "@/api/invocations"; import { components } from "@/api/schema"; +import { useAnimationFrameResizeObserver } from "@/composables/sensors/animationFrameResizeObserver"; import { useInvocationStore } from "@/stores/invocationStore"; import { useWorkflowStore } from "@/stores/workflowStore"; import localize from "@/utils/localization"; @@ -61,6 +62,13 @@ watch( } ); +const invocationTabs = ref(); +const scrollableDiv = computed(() => invocationTabs.value?.$el.querySelector(".tab-content") as HTMLElement); +const isScrollable = ref(false); +useAnimationFrameResizeObserver(scrollableDiv, ({ clientSize, scrollSize }) => { + isScrollable.value = scrollSize.height >= clientSize.height + 1; +}); + const invocation = computed( () => invocationStore.getInvocationById(props.invocationId) as WorkflowInvocationElementView ); @@ -219,7 +227,10 @@ function getWorkflowName() { - +