diff --git a/web/src/pages/chat/chat-configuration-modal/index.tsx b/web/src/pages/chat/chat-configuration-modal/index.tsx index e19996b18..be87cd13e 100644 --- a/web/src/pages/chat/chat-configuration-modal/index.tsx +++ b/web/src/pages/chat/chat-configuration-modal/index.tsx @@ -142,6 +142,18 @@ const ChatConfigurationModal = ({ } }, [initialDialog, form, visible, modelId]); + const handleKeyDown = (e: React.KeyboardEvent) => { + // Allow Enter in textareas + if (e.target instanceof HTMLTextAreaElement) { + return; + } + + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + handleOk(); + } + }; + return ( {Object.entries(segmentedMap).map(([key, Element]) => ( { return onOk(ret.name); }; + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Enter' && !e.shiftKey) { + handleOk(); + } + }; + return ( { name="name" rules={[{ required: true, message: t('namePlaceholder') }]} > - + diff --git a/web/src/pages/knowledge/knowledge-creating-modal/index.tsx b/web/src/pages/knowledge/knowledge-creating-modal/index.tsx index 0ec75d2e3..1025cd21c 100644 --- a/web/src/pages/knowledge/knowledge-creating-modal/index.tsx +++ b/web/src/pages/knowledge/knowledge-creating-modal/index.tsx @@ -23,10 +23,15 @@ const KnowledgeCreatingModal = ({ const handleOk = async () => { const ret = await form.validateFields(); - onOk(ret.name); }; + const handleKeyDown = async (e) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( - + diff --git a/web/src/pages/user-setting/setting-model/Tencent-modal/index.tsx b/web/src/pages/user-setting/setting-model/Tencent-modal/index.tsx index 2f2edfd63..e94d6d162 100644 --- a/web/src/pages/user-setting/setting-model/Tencent-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/Tencent-modal/index.tsx @@ -37,6 +37,12 @@ const TencentCloudModal = ({ onOk?.(data); }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( -
+ label={t('modelType')} name="model_type" @@ -113,14 +113,20 @@ const TencentCloudModal = ({ name="TencentCloud_sid" rules={[{ required: true, message: t('TencentCloudSIDMessage') }]} > - + label={t('addTencentCloudSK')} name="TencentCloud_sk" rules={[{ required: true, message: t('TencentCloudSKMessage') }]} > - +
diff --git a/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx b/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx index c415a6f03..7e97d867c 100644 --- a/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx @@ -38,6 +38,12 @@ const ApiKeyModal = ({ return onOk(ret); }; + const handleKeyDown = async (e) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + useEffect(() => { if (visible) { form.setFieldValue('api_key', initialValue); @@ -67,7 +73,7 @@ const ApiKeyModal = ({ tooltip={t('apiKeyTip')} rules={[{ required: true, message: t('apiKeyMessage') }]} > - + {modelsWithBaseUrl.some((x) => x === llmFactory) && ( @@ -75,7 +81,10 @@ const ApiKeyModal = ({ name="base_url" tooltip={t('baseUrlTip')} > - + )} {llmFactory?.toLowerCase() === 'Minimax'.toLowerCase() && ( diff --git a/web/src/pages/user-setting/setting-model/azure-openai-modal/index.tsx b/web/src/pages/user-setting/setting-model/azure-openai-modal/index.tsx index 01032943a..25e7043d3 100644 --- a/web/src/pages/user-setting/setting-model/azure-openai-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/azure-openai-modal/index.tsx @@ -49,6 +49,12 @@ const AzureOpenAIModal = ({ const getOptions = (factory: string) => { return optionsMap.Default; }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( - + label={t('apiKey')} name="api_key" rules={[{ required: false, message: t('apiKeyMessage') }]} > - + label={t('modelName')} @@ -98,7 +107,10 @@ const AzureOpenAIModal = ({ initialValue="gpt-3.5-turbo" rules={[{ required: true, message: t('modelNameMessage') }]} > - + label={t('apiVersion')} @@ -106,7 +118,10 @@ const AzureOpenAIModal = ({ initialValue="2024-02-01" rules={[{ required: false, message: t('apiVersionMessage') }]} > - + label={t('maxTokens')} diff --git a/web/src/pages/user-setting/setting-model/google-modal/index.tsx b/web/src/pages/user-setting/setting-model/google-modal/index.tsx index 34d000e9c..5bc7af510 100644 --- a/web/src/pages/user-setting/setting-model/google-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/google-modal/index.tsx @@ -33,6 +33,12 @@ const GoogleModal = ({ onOk?.(data); }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( -
+ label={t('modelType')} name="model_type" @@ -63,21 +63,30 @@ const GoogleModal = ({ name="llm_name" rules={[{ required: true, message: t('GoogleModelIDMessage') }]} > - + label={t('addGoogleProjectID')} name="google_project_id" rules={[{ required: true, message: t('GoogleProjectIDMessage') }]} > - + label={t('addGoogleRegion')} name="google_region" rules={[{ required: true, message: t('GoogleRegionMessage') }]} > - + label={t('addGoogleServiceAccountKey')} @@ -86,7 +95,10 @@ const GoogleModal = ({ { required: true, message: t('GoogleServiceAccountKeyMessage') }, ]} > - + label={t('maxTokens')} diff --git a/web/src/pages/user-setting/setting-model/hunyuan-modal/index.tsx b/web/src/pages/user-setting/setting-model/hunyuan-modal/index.tsx index baecfdd65..22dcea637 100644 --- a/web/src/pages/user-setting/setting-model/hunyuan-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/hunyuan-modal/index.tsx @@ -40,6 +40,12 @@ const HunyuanModal = ({ onOk?.(data); }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( - + label={t('addHunyuanSK')} name="hunyuan_sk" rules={[{ required: true, message: t('HunyuanSKMessage') }]} > - + diff --git a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx index 8a2719170..5b69f9396 100644 --- a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx @@ -50,6 +50,12 @@ const OllamaModal = ({ const { t } = useTranslate('setting'); + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + const handleOk = async () => { const values = await form.validateFields(); const modelType = @@ -146,21 +152,27 @@ const OllamaModal = ({ name="llm_name" rules={[{ required: true, message: t('modelNameMessage') }]} > - + label={t('addLlmBaseUrl')} name="api_base" rules={[{ required: true, message: t('baseUrlNameMessage') }]} > - + label={t('apiKey')} name="api_key" rules={[{ required: false, message: t('apiKeyMessage') }]} > - + label={t('maxTokens')} @@ -184,6 +196,7 @@ const OllamaModal = ({ diff --git a/web/src/pages/user-setting/setting-model/spark-modal/index.tsx b/web/src/pages/user-setting/setting-model/spark-modal/index.tsx index c1e7cbed7..451b7f8df 100644 --- a/web/src/pages/user-setting/setting-model/spark-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/spark-modal/index.tsx @@ -43,6 +43,12 @@ const SparkModal = ({ onOk?.(data); }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( -
+ label={t('modelType')} name="model_type" @@ -75,22 +75,20 @@ const SparkModal = ({ name="llm_name" rules={[{ required: true, message: t('SparkModelNameMessage') }]} > - + - - {({ getFieldValue }) => - getFieldValue('model_type') === 'chat' && ( - - label={t('addSparkAPIPassword')} - name="spark_api_password" - rules={[ - { required: true, message: t('SparkAPIPasswordMessage') }, - ]} - > - - - ) - } + + label={t('addSparkAPIPassword')} + name="spark_api_password" + rules={[{ required: true, message: t('SparkAPIPasswordMessage') }]} + > + {({ getFieldValue }) => diff --git a/web/src/pages/user-setting/setting-model/yiyan-modal/index.tsx b/web/src/pages/user-setting/setting-model/yiyan-modal/index.tsx index 2231edad5..c4e90597c 100644 --- a/web/src/pages/user-setting/setting-model/yiyan-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/yiyan-modal/index.tsx @@ -41,6 +41,12 @@ const YiyanModal = ({ onOk?.(data); }; + const handleKeyDown = async (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + await handleOk(); + } + }; + return ( - + label={t('addyiyanAK')} name="yiyan_ak" rules={[{ required: true, message: t('yiyanAKMessage') }]} > - + label={t('addyiyanSK')} name="yiyan_sk" rules={[{ required: true, message: t('yiyanSKMessage') }]} > - + label={t('maxTokens')}