import type { FC } from 'react' import type { IterationNodeType } from './types' import type { NodePanelProps } from '@/app/components/workflow/types' import * as React from 'react' import { useTranslation } from 'react-i18next' import Input from '@/app/components/base/input' import Select from '@/app/components/base/select' import Slider from '@/app/components/base/slider' import Switch from '@/app/components/base/switch' import Field from '@/app/components/workflow/nodes/_base/components/field' import { ErrorHandleMode } from '@/app/components/workflow/types' import { MAX_PARALLEL_LIMIT } from '@/config' import { MIN_ITERATION_PARALLEL_NUM } from '../../constants' import Split from '../_base/components/split' import VarReferencePicker from '../_base/components/variable/var-reference-picker' import useConfig from './use-config' const i18nPrefix = 'nodes.iteration' const Panel: FC> = ({ id, data, }) => { const { t } = useTranslation() const responseMethod = [ { value: ErrorHandleMode.Terminated, name: t(`${i18nPrefix}.ErrorMethod.operationTerminated`, { ns: 'workflow' }), }, { value: ErrorHandleMode.ContinueOnError, name: t(`${i18nPrefix}.ErrorMethod.continueOnError`, { ns: 'workflow' }), }, { value: ErrorHandleMode.RemoveAbnormalOutput, name: t(`${i18nPrefix}.ErrorMethod.removeAbnormalOutput`, { ns: 'workflow' }), }, ] const { readOnly, inputs, filterInputVar, handleInputChange, childrenNodeVars, iterationChildrenNodes, handleOutputVarChange, changeParallel, changeErrorResponseMode, changeParallelNums, changeFlattenOutput, } = useConfig(id, data) return (
Array
)} >
Array
)} >
{t(`${i18nPrefix}.parallelPanelDesc`, { ns: 'workflow' })}
} inline> { inputs.is_parallel && (
{t(`${i18nPrefix}.MaxParallelismDesc`, { ns: 'workflow' })}
}>
{ changeParallelNums(Number(e.target.value)) }} />
) }