From b364b06e515946ed9a184bc1f9727ac4630b56f8 Mon Sep 17 00:00:00 2001 From: yyh Date: Mon, 9 Mar 2026 23:34:42 +0800 Subject: [PATCH] refactor(model-selector): migrate overlays to Popover/Tooltip and unify trigger component - Migrate PortalToFollowElem to base-ui Popover in model-selector, model-parameter-modal, and plugin-detail-panel model-selector - Migrate legacy Tooltip to compound Tooltip in popup-item and trigger - Unify EmptyTrigger, ModelTrigger, DeprecatedModelTrigger into a single declarative ModelSelectorTrigger that derives state from props - Remove showDeprecatedWarnIcon boolean prop anti-pattern; deprecated state always renders warn icon as part of component's visual contract - Remove deprecatedClassName prop; component manages disabled styling - Replace manual triggerRef width measurement with CSS var(--anchor-width) - Remove tooltip scroll listener (base-ui auto-tracks anchor position) - Restore conditional placement for workflow mode in plugin-detail-panel - Prune stale ESLint suppressions for removed deprecated imports --- .../code-generator/get-code-generator-res.tsx | 10 +- .../settings/summary-index-setting.tsx | 22 +- .../model-parameter-modal/index.tsx | 222 +++++++++--------- .../deprecated-model-trigger.spec.tsx | 61 ----- .../deprecated-model-trigger.tsx | 54 ----- .../model-selector/empty-trigger.spec.tsx | 31 --- .../model-selector/empty-trigger.tsx | 42 ---- .../model-selector/index.tsx | 130 +++++----- .../model-selector-trigger.spec.tsx | 193 +++++++++++++++ .../model-selector/model-selector-trigger.tsx | 146 ++++++++++++ .../model-selector/model-trigger.spec.tsx | 88 ------- .../model-selector/model-trigger.tsx | 89 ------- .../model-selector/popup-item.tsx | 96 ++++---- .../model-selector/popup.tsx | 31 +-- .../model-selector/index.tsx | 184 ++++++++------- web/eslint-suppressions.json | 43 ---- 16 files changed, 672 insertions(+), 770 deletions(-) delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.spec.tsx delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/deprecated-model-trigger.tsx delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.spec.tsx delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/empty-trigger.tsx create mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/model-selector-trigger.spec.tsx create mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/model-selector-trigger.tsx delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.spec.tsx delete mode 100644 web/app/components/header/account-setting/model-provider-page/model-selector/model-trigger.tsx diff --git a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx index 5166ae49f3..da651c93e1 100644 --- a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx +++ b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx @@ -3,8 +3,10 @@ import type { FormValue } from '@/app/components/header/account-setting/model-pr import type { CodeLanguage } from '@/app/components/workflow/nodes/code/types' import type { GenRes } from '@/service/debug' import type { AppModeEnum, CompletionParams, Model, ModelModeType } from '@/types/app' -import { useSessionStorageState } from 'ahooks' -import useBoolean from 'ahooks/lib/useBoolean' +import { + useBoolean, + useSessionStorageState, +} from 'ahooks' import * as React from 'react' import { useCallback, useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' @@ -224,7 +226,7 @@ export const GetCodeGeneratorResModal: FC = (
-
{t('codegen.instruction', { ns: 'appDebug' })}
+
{t('codegen.instruction', { ns: 'appDebug' })}
= ( disabled={isLoading} > - {t('codegen.generate', { ns: 'appDebug' })} + {t('codegen.generate', { ns: 'appDebug' })}
diff --git a/web/app/components/datasets/settings/summary-index-setting.tsx b/web/app/components/datasets/settings/summary-index-setting.tsx index a6b99e8dab..8ddae1d1fc 100644 --- a/web/app/components/datasets/settings/summary-index-setting.tsx +++ b/web/app/components/datasets/settings/summary-index-setting.tsx @@ -63,7 +63,7 @@ const SummaryIndexSetting = ({ return (
-
+
{t('form.summaryAutoGen', { ns: 'datasetSettings' })} -
+
{t('form.summaryModel', { ns: 'datasetSettings' })}
-
+
{t('form.summaryInstructions', { ns: 'datasetSettings' })}