feat(variables): auto replace spaces with underscores in variable name inputs (#21843)

This commit is contained in:
Minamiyama
2025-07-03 10:36:38 +08:00
committed by GitHub
parent cb0d4a1e15
commit a45aa1e505
6 changed files with 36 additions and 7 deletions

View File

@@ -16,7 +16,7 @@ import type { ConversationVariable } from '@/app/components/workflow/types'
import { CodeLanguage } from '@/app/components/workflow/nodes/code/types'
import { ChatVarType } from '@/app/components/workflow/panel/chat-variable-panel/type'
import cn from '@/utils/classnames'
import { checkKeys } from '@/utils/var'
import { checkKeys, replaceSpaceWithUnderscreInVarNameInput } from '@/utils/var'
export type ModalPropsType = {
chatVar?: ConversationVariable
@@ -143,6 +143,13 @@ const ChatVariableModal = ({
return true
}
const handleVarNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {
replaceSpaceWithUnderscreInVarNameInput(e.target)
if (!!e.target.value && !checkVariableName(e.target.value))
return
setName(e.target.value || '')
}
const handleTypeChange = (v: ChatVarType) => {
setValue(undefined)
setEditorContent(undefined)
@@ -275,7 +282,7 @@ const ChatVariableModal = ({
<Input
placeholder={t('workflow.chatVariable.modal.namePlaceholder') || ''}
value={name}
onChange={e => setName(e.target.value || '')}
onChange={handleVarNameChange}
onBlur={e => checkVariableName(e.target.value)}
type='text'
/>