mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-04-23 22:29:49 +08:00
fix: tool constant params change cause page crashed (#11682)
This commit is contained in:
parent
4b402c4041
commit
607a22ad12
@ -61,20 +61,12 @@ const InputVarList: FC<Props> = ({
|
||||
const newValue = produce(value, (draft: ToolVarInputs) => {
|
||||
const target = draft[variable]
|
||||
if (target) {
|
||||
if (!isSupportConstantValue || varKindType === VarKindType.variable) {
|
||||
if (isSupportConstantValue)
|
||||
target.type = VarKindType.variable
|
||||
|
||||
target.value = varValue as ValueSelector
|
||||
}
|
||||
else {
|
||||
target.type = VarKindType.constant
|
||||
target.value = varValue as string
|
||||
}
|
||||
target.type = varKindType
|
||||
target.value = varValue
|
||||
}
|
||||
else {
|
||||
draft[variable] = {
|
||||
type: VarKindType.variable,
|
||||
type: varKindType,
|
||||
value: varValue,
|
||||
}
|
||||
}
|
||||
@ -173,7 +165,7 @@ const InputVarList: FC<Props> = ({
|
||||
value={varInput?.type === VarKindType.constant ? (varInput?.value || '') : (varInput?.value || [])}
|
||||
onChange={handleNotMixedTypeChange(variable)}
|
||||
onOpen={handleOpen(index)}
|
||||
defaultVarKindType={isNumber ? VarKindType.constant : VarKindType.variable}
|
||||
defaultVarKindType={varInput?.type || (isNumber ? VarKindType.constant : VarKindType.variable)}
|
||||
isSupportConstantValue={isSupportConstantValue}
|
||||
filterVar={isNumber ? filterVar : undefined}
|
||||
availableVars={isSelect ? availableVars : undefined}
|
||||
|
@ -132,7 +132,7 @@ const useConfig = (id: string, payload: ToolNodeType) => {
|
||||
draft.tool_parameters = {}
|
||||
})
|
||||
setInputs(inputsWithDefaultValue)
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [currTool])
|
||||
|
||||
// setting when call
|
||||
@ -214,8 +214,13 @@ const useConfig = (id: string, payload: ToolNodeType) => {
|
||||
.map(k => inputs.tool_parameters[k])
|
||||
|
||||
const varInputs = getInputVars(hadVarParams.map((p) => {
|
||||
if (p.type === VarType.variable)
|
||||
if (p.type === VarType.variable) {
|
||||
// handle the old wrong value not crash the page
|
||||
if (!(p.value as any).join)
|
||||
return `{{#${p.value}#}}`
|
||||
|
||||
return `{{#${(p.value as ValueSelector).join('.')}#}}`
|
||||
}
|
||||
|
||||
return p.value as string
|
||||
}))
|
||||
|
Loading…
x
Reference in New Issue
Block a user