import type { FC } from 'react' import { memo, useMemo, useRef, } from 'react' import type { NodeProps } from 'reactflow' import { useTranslation } from 'react-i18next' import NodeGroupItem from './components/node-group-item' import type { VariableAssignerNodeType } from './types' const i18nPrefix = 'workflow.nodes.variableAssigner' const Node: FC> = (props) => { const { t } = useTranslation() const ref = useRef(null) const { id, data } = props const { advanced_settings } = data const groups = useMemo(() => { if (!advanced_settings?.group_enabled) { return [{ groupEnabled: false, targetHandleId: 'target', title: t(`${i18nPrefix}.title`), type: data.output_type, variables: data.variables, variableAssignerNodeId: id, variableAssignerNodeData: data, }] } return advanced_settings.groups.map((group) => { return { groupEnabled: true, targetHandleId: group.groupId, title: group.group_name, type: group.output_type, variables: group.variables, variableAssignerNodeId: id, variableAssignerNodeData: data, } }) }, [t, advanced_settings, data, id]) return (
{ groups.map((item) => { return ( ) }) }
) } export default memo(Node)