fix: conversation variable updating & number 0 display

pull/21369/head
JzoNg 11 months ago
parent cc7828d438
commit 0f73f6b20c

@ -169,16 +169,13 @@ const useInspectVarsCrud = () => {
} }
const editInspectVarValue = useCallback(async (nodeId: string, varId: string, value: any) => { const editInspectVarValue = useCallback(async (nodeId: string, varId: string, value: any) => {
if (nodeId === VarInInspectType.conversation) { await doEditInspectorVar({
varId,
value,
})
setInspectVarValue(nodeId, varId, value)
if (nodeId === VarInInspectType.conversation)
invalidateConversationVarValues() invalidateConversationVarValues()
}
else {
await doEditInspectorVar({
varId,
value,
})
setInspectVarValue(nodeId, varId, value)
}
if (nodeId === VarInInspectType.system) if (nodeId === VarInInspectType.system)
invalidateSysVarValues() invalidateSysVarValues()
}, [doEditInspectorVar, invalidateConversationVarValues, invalidateSysVarValues, setInspectVarValue]) }, [doEditInspectorVar, invalidateConversationVarValues, invalidateSysVarValues, setInspectVarValue])

@ -324,7 +324,7 @@ const ChatVariableModal = ({
{type === ChatVarType.String && ( {type === ChatVarType.String && (
// Input will remove \n\r, so use Textarea just like description area // Input will remove \n\r, so use Textarea just like description area
<textarea <textarea
className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs' className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'
value={value} value={value}
placeholder={t('workflow.chatVariable.modal.valuePlaceholder') || ''} placeholder={t('workflow.chatVariable.modal.valuePlaceholder') || ''}
onChange={e => setValue(e.target.value)} onChange={e => setValue(e.target.value)}
@ -377,7 +377,7 @@ const ChatVariableModal = ({
<div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.chatVariable.modal.description')}</div> <div className='system-sm-semibold mb-1 flex h-6 items-center text-text-secondary'>{t('workflow.chatVariable.modal.description')}</div>
<div className='flex'> <div className='flex'>
<textarea <textarea
className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs' className='system-sm-regular placeholder:system-sm-regular block h-20 w-full resize-none appearance-none rounded-lg border border-transparent bg-components-input-bg-normal p-2 text-components-input-text-filled caret-primary-600 outline-none placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs'
value={des} value={des}
placeholder={t('workflow.chatVariable.modal.descriptionPlaceholder') || ''} placeholder={t('workflow.chatVariable.modal.descriptionPlaceholder') || ''}
onChange={e => setDes(e.target.value)} onChange={e => setDes(e.target.value)}

@ -109,14 +109,14 @@ const Right = ({
<span className='system-2xs-semibold-uupercase'>{t('workflow.debug.variableInspect.edited')}</span> <span className='system-2xs-semibold-uupercase'>{t('workflow.debug.variableInspect.edited')}</span>
</Badge> </Badge>
)} )}
{currentNodeVar.var.edited && ( {currentNodeVar.var.edited && currentNodeVar.var.type !== VarInInspectType.conversation && (
<Tooltip popupContent={t('workflow.debug.variableInspect.reset')}> <Tooltip popupContent={t('workflow.debug.variableInspect.reset')}>
<ActionButton onClick={resetValue}> <ActionButton onClick={resetValue}>
<RiArrowGoBackLine className='h-4 w-4' /> <RiArrowGoBackLine className='h-4 w-4' />
</ActionButton> </ActionButton>
</Tooltip> </Tooltip>
)} )}
{currentNodeVar.var.type === VarInInspectType.conversation && ( {currentNodeVar.var.edited && currentNodeVar.var.type === VarInInspectType.conversation && (
<Tooltip popupContent={t('workflow.debug.variableInspect.resetConversationVar')}> <Tooltip popupContent={t('workflow.debug.variableInspect.resetConversationVar')}>
<ActionButton onClick={handleClear}> <ActionButton onClick={handleClear}>
<RiArrowGoBackLine className='h-4 w-4' /> <RiArrowGoBackLine className='h-4 w-4' />

@ -58,10 +58,10 @@ const ValueContent = ({
// update default value when id changed // update default value when id changed
useEffect(() => { useEffect(() => {
if (showTextEditor) { if (showTextEditor) {
if (!currentVar.value)
return setValue('')
if (currentVar.value_type === 'number') if (currentVar.value_type === 'number')
return setValue(JSON.stringify(currentVar.value)) return setValue(JSON.stringify(currentVar.value))
if (!currentVar.value)
return setValue('')
setValue(currentVar.value) setValue(currentVar.value)
} }
if (showJSONEditor) if (showJSONEditor)
@ -86,9 +86,10 @@ const ValueContent = ({
if (currentVar.value_type === 'number') { if (currentVar.value_type === 'number') {
if (/^-?\d+(\.)?(\d+)?$/.test(value)) if (/^-?\d+(\.)?(\d+)?$/.test(value))
setValue(value) setValue(Number.parseFloat(value))
} }
debounceValueChange(currentVar.id, value) const newValue = currentVar.value_type === 'number' ? Number.parseFloat(value) : value
debounceValueChange(currentVar.id, newValue)
} }
const jsonValueValidate = (value: string, type: string) => { const jsonValueValidate = (value: string, type: string) => {

Loading…
Cancel
Save