From 641395b3ec613248f2698578f5cf05a1e5e58929 Mon Sep 17 00:00:00 2001 From: AkaraChen Date: Thu, 9 Jan 2025 15:17:27 +0800 Subject: [PATCH] feat: agent strategy form support required mark --- .../nodes/_base/components/agent-strategy.tsx | 17 +++++++++++++++-- .../workflow/nodes/_base/components/field.tsx | 7 +++---- .../nodes/_base/components/prompt/editor.tsx | 4 +++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx b/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx index 295c0a6252..01a1aba24e 100644 --- a/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx +++ b/web/app/components/workflow/nodes/_base/components/agent-strategy.tsx @@ -82,6 +82,7 @@ export const AgentStrategy = memo((props: AgentStrategyProps) => { availableNodes={availableNodes} nodesOutputVars={nodeOutputVars} isSupportJinja={def.template?.enabled} + required={def.required} varList={[]} modelConfig={ defaultModel.data @@ -107,7 +108,13 @@ export const AgentStrategy = memo((props: AgentStrategyProps) => { const onChange = (value: number) => { props.onChange({ ...props.value, [schema.variable]: value }) } - return + return + {renderI18nObject(def.label)} {def.required && *} + } + tooltip={def.tooltip && renderI18nObject(def.tooltip)} + inline + >
{ props.onChange({ ...props.value, [schema.variable]: value }) } return ( - + + {renderI18nObject(schema.label)} {schema.required && *} + } + tooltip={schema.tooltip && renderI18nObject(schema.tooltip)} + > { tooltip={schema.tooltip && renderI18nObject(schema.tooltip)} onChange={onChange} supportCollapse + required={schema.required} /> ) } diff --git a/web/app/components/workflow/nodes/_base/components/field.tsx b/web/app/components/workflow/nodes/_base/components/field.tsx index eb8976f78d..d5d5ed7394 100644 --- a/web/app/components/workflow/nodes/_base/components/field.tsx +++ b/web/app/components/workflow/nodes/_base/components/field.tsx @@ -1,18 +1,17 @@ 'use client' -import type { FC } from 'react' +import type { FC, ReactNode } from 'react' import React from 'react' import { RiArrowDownSLine, } from '@remixicon/react' import { useBoolean } from 'ahooks' -import type { DefaultTFuncReturn } from 'i18next' import cn from '@/utils/classnames' import Tooltip from '@/app/components/base/tooltip' type Props = { className?: string - title: JSX.Element | string | DefaultTFuncReturn - tooltip?: React.ReactNode + title: ReactNode + tooltip?: ReactNode isSubTitle?: boolean supportFold?: boolean children?: JSX.Element | string | null diff --git a/web/app/components/workflow/nodes/_base/components/prompt/editor.tsx b/web/app/components/workflow/nodes/_base/components/prompt/editor.tsx index 43db8a276e..9b7c63d862 100644 --- a/web/app/components/workflow/nodes/_base/components/prompt/editor.tsx +++ b/web/app/components/workflow/nodes/_base/components/prompt/editor.tsx @@ -75,6 +75,7 @@ type Props = { editorContainerClassName?: string placeholderClassName?: string titleClassName?: string + required?: boolean } const Editor: FC = ({ @@ -110,6 +111,7 @@ const Editor: FC = ({ placeholderClassName, titleClassName, editorContainerClassName, + required, }) => { const { t } = useTranslation() const { eventEmitter } = useEventEmitterContextContext() @@ -147,7 +149,7 @@ const Editor: FC = ({
-
{title}
+
{title} {required && *}
{titleTooltip && }