import { EditableCell, EditableRow } from '@/components/editable-cell'; import { useTranslate } from '@/hooks/common-hooks'; import { DeleteOutlined } from '@ant-design/icons'; import { Button, Collapse, Flex, Input, Select, Table, TableProps } from 'antd'; import { useBuildComponentIdSelectOptions } from '../../hooks'; import { IInvokeVariable } from '../../interface'; import { useHandleOperateParameters } from './hooks'; import { trim } from 'lodash'; import styles from './index.less'; interface IProps { nodeId?: string; } const components = { body: { row: EditableRow, cell: EditableCell, }, }; const DynamicVariablesForm = ({ nodeId }: IProps) => { const { t } = useTranslate('flow'); const options = useBuildComponentIdSelectOptions(nodeId); const { dataSource, handleAdd, handleRemove, handleSave, handleComponentIdChange, handleValueChange, } = useHandleOperateParameters(nodeId!); const columns: TableProps['columns'] = [ { title: t('key'), dataIndex: 'key', key: 'key', onCell: (record: IInvokeVariable) => ({ record, editable: true, dataIndex: 'key', title: 'key', handleSave, }), }, { title: t('componentId'), dataIndex: 'component_id', key: 'component_id', align: 'center', width: 140, render(text, record) { return ( ); }, }, { title: t('operation'), dataIndex: 'operation', width: 20, key: 'operation', align: 'center', fixed: 'right', render(_, record) { return ; }, }, ]; return ( {t('parameter')} ), children: ( styles.editableRow} scroll={{ x: true }} bordered /> ), }, ]} /> ); }; export default DynamicVariablesForm;