mirror of
https://github.com/n8n-io/n8n.git
synced 2026-09-01 15:47:41 +08:00
fix(editor): Show tooltip on dependency pill (#27545)
This commit is contained in:
@@ -3849,6 +3849,9 @@
|
||||
"workflows.dynamic.tooltipTitle": "Dynamic credentials",
|
||||
"workflows.dynamic.resolverMissing": "Credential resolver missing",
|
||||
"workflows.dependencies.tooltip": "1 dependency | {count} dependencies",
|
||||
"workflows.dependencies.tooltip.workflow": "Resources referenced by this workflow",
|
||||
"workflows.dependencies.tooltip.credential": "Resources referencing this credential",
|
||||
"workflows.dependencies.tooltip.dataTable": "Resources referencing this data table",
|
||||
"workflows.dependencies.modal.title": "Dependencies",
|
||||
"workflows.dependencies.modal.search": "Search dependencies...",
|
||||
"workflows.dependencies.type.credentials": "Credentials",
|
||||
|
||||
@@ -3,7 +3,7 @@ import { computed, ref } from 'vue';
|
||||
import { useI18n } from '@n8n/i18n';
|
||||
import { useRouter } from 'vue-router';
|
||||
import type { BaseTextKey } from '@n8n/i18n';
|
||||
import { N8nBadge, N8nIcon } from '@n8n/design-system';
|
||||
import { N8nBadge, N8nIcon, N8nTooltip } from '@n8n/design-system';
|
||||
import {
|
||||
N8nDropdownMenu,
|
||||
type DropdownMenuItemProps,
|
||||
@@ -47,6 +47,10 @@ const effectiveCount = computed(() => {
|
||||
|
||||
const hasHiddenDeps = computed(() => (depsResult.value?.inaccessibleCount ?? 0) > 0);
|
||||
|
||||
const tooltipText = computed(() =>
|
||||
i18n.baseText(`workflows.dependencies.tooltip.${props.resourceType}` as BaseTextKey),
|
||||
);
|
||||
|
||||
const hasFullDeps = computed(() => depsResult.value !== undefined);
|
||||
|
||||
const showSearch = computed(
|
||||
@@ -194,40 +198,42 @@ async function onDropdownToggle(open: boolean) {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<N8nDropdownMenu
|
||||
:items="menuItems"
|
||||
trigger="hover"
|
||||
placement="bottom"
|
||||
:loading="isLoadingDetails"
|
||||
:loading-item-count="1"
|
||||
:searchable="showSearch"
|
||||
extra-popper-class="dependency-pill-dropdown"
|
||||
:search-placeholder="i18n.baseText('workflows.dependencies.search.placeholder')"
|
||||
:max-height="280"
|
||||
:data-test-id="dataTestId"
|
||||
@select="onSelect"
|
||||
@search="onSearch"
|
||||
@update:model-value="onDropdownToggle"
|
||||
>
|
||||
<template #trigger>
|
||||
<N8nBadge theme="tertiary" :class="$style.badge">
|
||||
<span :class="$style.badgeText">
|
||||
<N8nIcon icon="link" size="medium" />
|
||||
{{ effectiveCount }}
|
||||
</span>
|
||||
</N8nBadge>
|
||||
</template>
|
||||
<template v-if="hasHiddenDeps" #footer>
|
||||
<div :class="$style.hiddenNotice">
|
||||
{{
|
||||
i18n.baseText('workflows.dependencies.hiddenNotice', {
|
||||
adjustToNumber: depsResult!.inaccessibleCount,
|
||||
interpolate: { count: String(depsResult!.inaccessibleCount) },
|
||||
})
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
</N8nDropdownMenu>
|
||||
<N8nTooltip :content="tooltipText" placement="left" :show-after="200">
|
||||
<N8nDropdownMenu
|
||||
:items="menuItems"
|
||||
trigger="hover"
|
||||
placement="bottom"
|
||||
:loading="isLoadingDetails"
|
||||
:loading-item-count="1"
|
||||
:searchable="showSearch"
|
||||
extra-popper-class="dependency-pill-dropdown"
|
||||
:search-placeholder="i18n.baseText('workflows.dependencies.search.placeholder')"
|
||||
:max-height="280"
|
||||
:data-test-id="dataTestId"
|
||||
@select="onSelect"
|
||||
@search="onSearch"
|
||||
@update:model-value="onDropdownToggle"
|
||||
>
|
||||
<template #trigger>
|
||||
<N8nBadge theme="tertiary" :class="$style.badge">
|
||||
<span :class="$style.badgeText">
|
||||
<N8nIcon icon="link" size="medium" />
|
||||
{{ effectiveCount }}
|
||||
</span>
|
||||
</N8nBadge>
|
||||
</template>
|
||||
<template v-if="hasHiddenDeps" #footer>
|
||||
<div :class="$style.hiddenNotice">
|
||||
{{
|
||||
i18n.baseText('workflows.dependencies.hiddenNotice', {
|
||||
adjustToNumber: depsResult!.inaccessibleCount,
|
||||
interpolate: { count: String(depsResult!.inaccessibleCount) },
|
||||
})
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
</N8nDropdownMenu>
|
||||
</N8nTooltip>
|
||||
</template>
|
||||
|
||||
<style lang="scss" module>
|
||||
|
||||
Reference in New Issue
Block a user