use mixed type for string

fix/agent-parallel
JzoNg 1 year ago
parent e06dc48472
commit 27185eb98b

@ -1,4 +1,4 @@
import { useCallback } from 'react' import { useCallback, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import produce from 'immer' import produce from 'immer'
import { import {
@ -6,6 +6,7 @@ import {
} from '@remixicon/react' } from '@remixicon/react'
import Tooltip from '@/app/components/base/tooltip' import Tooltip from '@/app/components/base/tooltip'
import Switch from '@/app/components/base/switch' import Switch from '@/app/components/base/switch'
import Input from '@/app/components/workflow/nodes/_base/components/input-support-select-var'
import VarReferencePicker from '@/app/components/workflow/nodes/_base/components/variable/var-reference-picker' import VarReferencePicker from '@/app/components/workflow/nodes/_base/components/variable/var-reference-picker'
import AppSelector from '@/app/components/plugins/plugin-detail-panel/app-selector' import AppSelector from '@/app/components/plugins/plugin-detail-panel/app-selector'
import ModelParameterModal from '@/app/components/plugins/plugin-detail-panel/model-selector' import ModelParameterModal from '@/app/components/plugins/plugin-detail-panel/model-selector'
@ -36,7 +37,7 @@ const ReasoningConfigForm: React.FC<Props> = ({
onChange, onChange,
schemas, schemas,
nodeOutputVars, nodeOutputVars,
// availableNodes, availableNodes,
nodeId, nodeId,
}) => { }) => {
const { t } = useTranslation() const { t } = useTranslation()
@ -51,17 +52,17 @@ const ReasoningConfigForm: React.FC<Props> = ({
}) })
} }
// const [inputsIsFocus, setInputsIsFocus] = useState<Record<string, boolean>>({}) const [inputsIsFocus, setInputsIsFocus] = useState<Record<string, boolean>>({})
// const handleInputFocus = useCallback((variable: string) => { const handleInputFocus = useCallback((variable: string) => {
// return (value: boolean) => { return (value: boolean) => {
// setInputsIsFocus((prev) => { setInputsIsFocus((prev) => {
// return { return {
// ...prev, ...prev,
// [variable]: value, [variable]: value,
// } }
// }) })
// } }
// }, []) }, [])
const handleNotMixedTypeChange = useCallback((variable: string) => { const handleNotMixedTypeChange = useCallback((variable: string) => {
return (varValue: ValueSelector | string, varKindType: VarKindType) => { return (varValue: ValueSelector | string, varKindType: VarKindType) => {
const newValue = produce(value, (draft: ToolVarInputs) => { const newValue = produce(value, (draft: ToolVarInputs) => {
@ -80,23 +81,23 @@ const ReasoningConfigForm: React.FC<Props> = ({
onChange(newValue) onChange(newValue)
} }
}, [value, onChange]) }, [value, onChange])
// const handleMixedTypeChange = useCallback((variable: string) => { const handleMixedTypeChange = useCallback((variable: string) => {
// return (itemValue: string) => { return (itemValue: string) => {
// const newValue = produce(value, (draft: ToolVarInputs) => { const newValue = produce(value, (draft: ToolVarInputs) => {
// const target = draft[variable].value const target = draft[variable].value
// if (target) { if (target) {
// target.value = itemValue target.value = itemValue
// } }
// else { else {
// draft[variable].value = { draft[variable].value = {
// type: VarKindType.mixed, type: VarKindType.mixed,
// value: itemValue, value: itemValue,
// } }
// } }
// }) })
// onChange(newValue) onChange(newValue)
// } }
// }, [value, onChange]) }, [value, onChange])
const handleFileChange = useCallback((variable: string) => { const handleFileChange = useCallback((variable: string) => {
return (varValue: ValueSelector | string) => { return (varValue: ValueSelector | string) => {
const newValue = produce(value, (draft: ToolVarInputs) => { const newValue = produce(value, (draft: ToolVarInputs) => {
@ -180,7 +181,7 @@ const ReasoningConfigForm: React.FC<Props> = ({
</div> </div>
{auto === 0 && ( {auto === 0 && (
<> <>
{/* {isString && ( {isString && (
<Input <Input
className={cn(inputsIsFocus[variable] ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'rounded-lg px-3 py-[6px] border')} className={cn(inputsIsFocus[variable] ? 'shadow-xs bg-gray-50 border-gray-300' : 'bg-gray-100 border-gray-100', 'rounded-lg px-3 py-[6px] border')}
value={varInput?.value as string || ''} value={varInput?.value as string || ''}
@ -191,8 +192,8 @@ const ReasoningConfigForm: React.FC<Props> = ({
placeholder={t('workflow.nodes.http.insertVarPlaceholder')!} placeholder={t('workflow.nodes.http.insertVarPlaceholder')!}
placeholderClassName='!leading-[21px]' placeholderClassName='!leading-[21px]'
/> />
)} */} )}
{isString && ( {/* {isString && (
<VarReferencePicker <VarReferencePicker
zIndex={1001} zIndex={1001}
readonly={false} readonly={false}
@ -203,7 +204,7 @@ const ReasoningConfigForm: React.FC<Props> = ({
defaultVarKindType={VarKindType.variable} defaultVarKindType={VarKindType.variable}
filterVar={(varPayload: Var) => varPayload.type === VarType.number || varPayload.type === VarType.secret || varPayload.type === VarType.string} filterVar={(varPayload: Var) => varPayload.type === VarType.number || varPayload.type === VarType.secret || varPayload.type === VarType.string}
/> />
)} )} */}
{(isNumber || isSelect) && ( {(isNumber || isSelect) && (
<VarReferencePicker <VarReferencePicker
zIndex={1001} zIndex={1001}

Loading…
Cancel
Save