import type { FC } from 'react' import type { AssignerNodeType } from './types' import type { NodePanelProps } from '@/app/components/workflow/types' import { IconButton } from '@langgenius/dify-ui/icon-button' import { RiAddLine } from '@remixicon/react' import * as React from 'react' import { useTranslation } from 'react-i18next' import VarList from './components/var-list' import { useHandleAddOperationItem } from './hooks' import useConfig from './use-config' const i18nPrefix = 'nodes.assigner' const Panel: FC> = ({ id, data }) => { const { t } = useTranslation() const handleAddOperationItem = useHandleAddOperationItem() const { readOnly, inputs, handleOperationListChanges, getAssignedVarType, getToAssignedVarType, writeModeTypesNum, writeModeTypesArr, writeModeTypes, filterAssignedVar, filterToAssignedVar, } = useConfig(id, data) const handleAddOperation = () => { const newList = handleAddOperationItem(inputs.items || []) handleOperationListChanges(newList) } return (
{t(($) => $[`${i18nPrefix}.variables`], { ns: 'workflow' })}
$['operation.add'], { ns: 'common' })} onClick={handleAddOperation} >
{ handleOperationListChanges(newList) }} filterVar={filterAssignedVar} filterToAssignedVar={filterToAssignedVar} getAssignedVarType={getAssignedVarType} writeModeTypes={writeModeTypes} writeModeTypesArr={writeModeTypesArr} writeModeTypesNum={writeModeTypesNum} getToAssignedVarType={getToAssignedVarType} />
) } export default React.memo(Panel)