|
@@ -1,4 +1,4 @@
|
|
|
-import type { FC } from 'react'
|
|
|
+import type { FC, FormEvent } from 'react'
|
|
|
import React from 'react'
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
import {
|
|
@@ -39,11 +39,16 @@ const RunOnce: FC<IRunOnceProps> = ({
|
|
|
onInputsChange(newInputs)
|
|
|
}
|
|
|
|
|
|
+ const onSubmit = (e: FormEvent<HTMLFormElement>) => {
|
|
|
+ e.preventDefault()
|
|
|
+ onSend()
|
|
|
+ }
|
|
|
+
|
|
|
return (
|
|
|
<div className="">
|
|
|
<section>
|
|
|
{/* input form */}
|
|
|
- <form>
|
|
|
+ <form onSubmit={onSubmit}>
|
|
|
{promptConfig.prompt_variables.map(item => (
|
|
|
<div className='w-full mt-4' key={item.key}>
|
|
|
<label className='text-gray-900 text-sm font-medium'>{item.name}</label>
|
|
@@ -65,12 +70,6 @@ const RunOnce: FC<IRunOnceProps> = ({
|
|
|
placeholder={`${item.name}${!item.required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
|
|
|
value={inputs[item.key]}
|
|
|
onChange={(e) => { onInputsChange({ ...inputs, [item.key]: e.target.value }) }}
|
|
|
- onKeyDown={(e) => {
|
|
|
- if (e.key === 'Enter') {
|
|
|
- e.preventDefault()
|
|
|
- onSend()
|
|
|
- }
|
|
|
- }}
|
|
|
maxLength={item.max_length || DEFAULT_VALUE_MAX_LEN}
|
|
|
/>
|
|
|
)}
|
|
@@ -124,8 +123,8 @@ const RunOnce: FC<IRunOnceProps> = ({
|
|
|
<span className='text-[13px]'>{t('common.operation.clear')}</span>
|
|
|
</Button>
|
|
|
<Button
|
|
|
+ type='submit'
|
|
|
variant="primary"
|
|
|
- onClick={onSend}
|
|
|
disabled={false}
|
|
|
>
|
|
|
<PlayIcon className="shrink-0 w-4 h-4 mr-1" aria-hidden="true" />
|