feat: file array variable choose vars

This commit is contained in:
Joel 2024-08-21 17:28:41 +08:00
parent 1bcb30647f
commit 8fbdaa604c
3 changed files with 22 additions and 4 deletions

View File

@ -29,6 +29,7 @@ import VariableTag from '@/app/components/workflow/nodes/_base/components/variab
import type {
Node,
NodeOutPutVar,
Var,
} from '@/app/components/workflow/types'
import { VarType } from '@/app/components/workflow/types'
import cn from '@/utils/classnames'
@ -51,9 +52,11 @@ type ConditionItemProps = {
onRemoveSubVariableCondition?: handleRemoveSubVariableCondition
onUpdateSubVariableCondition?: HandleUpdateSubVariableCondition
onToggleSubVariableConditionLogicalOperator?: HandleToggleSubVariableConditionLogicalOperator
nodeId: string
nodesOutputVars: NodeOutPutVar[]
availableNodes: Node[]
numberVariables: NodeOutPutVar[]
filterVar: (varPayload: Var) => boolean
}
const ConditionItem = ({
className,
@ -69,9 +72,11 @@ const ConditionItem = ({
onRemoveSubVariableCondition,
onUpdateSubVariableCondition,
onToggleSubVariableConditionLogicalOperator,
nodeId,
nodesOutputVars,
availableNodes,
numberVariables,
filterVar,
}: ConditionItemProps) => {
const { t } = useTranslation()
@ -274,6 +279,10 @@ const ConditionItem = ({
handleRemoveSubVariableCondition={onRemoveSubVariableCondition}
handleUpdateSubVariableCondition={onUpdateSubVariableCondition}
handleToggleSubVariableConditionLogicalOperator={onToggleSubVariableConditionLogicalOperator}
nodeId={nodeId}
nodesOutputVars={nodesOutputVars}
availableNodes={availableNodes}
filterVar={filterVar}
/>
</div>
)

View File

@ -15,6 +15,7 @@ import ConditionItem from './condition-item'
import type {
Node,
NodeOutPutVar,
Var,
} from '@/app/components/workflow/types'
import cn from '@/utils/classnames'
@ -27,9 +28,11 @@ type ConditionListProps = {
onRemoveCondition?: HandleRemoveCondition
onUpdateCondition?: HandleUpdateCondition
onToggleConditionLogicalOperator?: HandleToggleConditionLogicalOperator
nodeId: string
nodesOutputVars: NodeOutPutVar[]
availableNodes: Node[]
numberVariables: NodeOutPutVar[]
filterVar: (varPayload: Var) => boolean
varsIsVarFileAttribute: Record<string, boolean>
onAddSubVariableCondition?: HandleAddSubVariableCondition
onRemoveSubVariableCondition?: handleRemoveSubVariableCondition
@ -49,10 +52,12 @@ const ConditionList = ({
onRemoveSubVariableCondition,
onUpdateSubVariableCondition,
onToggleSubVariableConditionLogicalOperator,
nodeId,
nodesOutputVars,
availableNodes,
numberVariables,
varsIsVarFileAttribute,
filterVar,
}: ConditionListProps) => {
const { conditions, logical_operator } = caseItem
@ -106,8 +111,10 @@ const ConditionList = ({
onRemoveSubVariableCondition={onRemoveSubVariableCondition}
onUpdateSubVariableCondition={onUpdateSubVariableCondition}
onToggleSubVariableConditionLogicalOperator={onToggleSubVariableConditionLogicalOperator}
nodeId={nodeId}
nodesOutputVars={nodesOutputVars}
availableNodes={availableNodes}
filterVar={filterVar}
numberVariables={numberVariables}
file={varsIsVarFileAttribute[condition.id] ? { key: (condition.variable_selector || []).slice(-1)[0] } : undefined}
isSubVariableKey={isSubVariable}

View File

@ -33,11 +33,11 @@ type Props = {
handleRemoveSubVariableCondition?: handleRemoveSubVariableCondition
handleUpdateSubVariableCondition?: HandleUpdateSubVariableCondition
handleToggleSubVariableConditionLogicalOperator?: HandleToggleSubVariableConditionLogicalOperator
nodeId?: string
nodesOutputVars?: NodeOutPutVar[]
availableNodes?: Node[]
nodeId: string
nodesOutputVars: NodeOutPutVar[]
availableNodes: Node[]
varsIsVarFileAttribute?: Record<string, boolean>
filterVar?: (varPayload: Var) => boolean
filterVar: (varPayload: Var) => boolean
}
const ConditionWrap: FC<Props> = ({
@ -127,8 +127,10 @@ const ConditionWrap: FC<Props> = ({
onUpdateCondition={handleUpdateCondition}
onRemoveCondition={handleRemoveCondition}
onToggleConditionLogicalOperator={handleToggleConditionLogicalOperator}
nodeId={id}
nodesOutputVars={nodesOutputVars}
availableNodes={availableNodes}
filterVar={filterVar}
numberVariables={getAvailableVars(id, '', filterNumberVar)}
varsIsVarFileAttribute={varsIsVarFileAttribute}
onAddSubVariableCondition={handleAddSubVariableCondition}