Skip to content

Commit

Permalink
fix: code node default value
Browse files Browse the repository at this point in the history
  • Loading branch information
zxhlyh committed Dec 9, 2024
1 parent 68e8618 commit add4870
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import { useCallback, useState } from 'react'
import produce from 'immer'
import { useBoolean } from 'ahooks'
import { type OutputVar } from '../../code/types'
import type { CodeNodeType, type OutputVar } from '../../code/types'
import type { ValueSelector } from '@/app/components/workflow/types'
import { VarType } from '@/app/components/workflow/types'
import { BlockEnum, VarType } from '@/app/components/workflow/types'
import {
useWorkflow,
} from '@/app/components/workflow/hooks'
import { ErrorHandleTypeEnum } from '@/app/components/workflow/nodes/_base/components/error-handle/types'
import { getDefaultValue } from '@/app/components/workflow/nodes/_base/components/error-handle/utils'

type Params<T> = {
id: string
Expand All @@ -29,6 +31,9 @@ function useOutputVarList<T>({
const handleVarsChange = useCallback((newVars: OutputVar, changedIndex?: number, newKey?: string) => {
const newInputs = produce(inputs, (draft: any) => {
draft[varKey] = newVars

if ((inputs as CodeNodeType).type === BlockEnum.Code && (inputs as CodeNodeType).error_strategy === ErrorHandleTypeEnum.defaultValue && varKey === 'outputs')
draft.default_value = getDefaultValue(draft as any)
})
setInputs(newInputs)

Expand Down Expand Up @@ -59,6 +64,9 @@ function useOutputVarList<T>({
children: null,
},
}

if ((inputs as CodeNodeType).type === BlockEnum.Code && (inputs as CodeNodeType).error_strategy === ErrorHandleTypeEnum.defaultValue && varKey === 'outputs')
draft.default_value = getDefaultValue(draft as any)
})
setInputs(newInputs)
onOutputKeyOrdersChange([...outputKeyOrders, newKey])
Expand All @@ -84,6 +92,9 @@ function useOutputVarList<T>({

const newInputs = produce(inputs, (draft: any) => {
delete draft[varKey][key]

if ((inputs as CodeNodeType).type === BlockEnum.Code && (inputs as CodeNodeType).error_strategy === ErrorHandleTypeEnum.defaultValue && varKey === 'outputs')
draft.default_value = getDefaultValue(draft as any)
})
setInputs(newInputs)
onOutputKeyOrdersChange(outputKeyOrders.filter((_, i) => i !== index))
Expand Down

0 comments on commit add4870

Please sign in to comment.