| import { type FC } from 'react' |
| import React from 'react' |
| import { useTranslation } from 'react-i18next' |
| import useConfig from './use-config' |
| import type { EndNodeType } from './types' |
| import VarList from '@/app/components/workflow/nodes/_base/components/variable/var-list' |
| import Field from '@/app/components/workflow/nodes/_base/components/field' |
| import AddButton from '@/app/components/base/button/add-button' |
| import { type NodePanelProps } from '@/app/components/workflow/types' |
|
|
| const i18nPrefix = 'workflow.nodes.end' |
|
|
| const Panel: FC<NodePanelProps<EndNodeType>> = ({ |
| id, |
| data, |
| }) => { |
| const { t } = useTranslation() |
|
|
| const { |
| readOnly, |
| inputs, |
| handleVarListChange, |
| handleAddVariable, |
| } = useConfig(id, data) |
|
|
| const outputs = inputs.outputs |
| return ( |
| <div className='mt-2'> |
| <div className='px-4 pb-4 space-y-4'> |
| |
| <Field |
| title={t(`${i18nPrefix}.output.variable`)} |
| operations={ |
| !readOnly ? <AddButton onClick={handleAddVariable} /> : undefined |
| } |
| > |
| <VarList |
| nodeId={id} |
| readonly={readOnly} |
| list={outputs} |
| onChange={handleVarListChange} |
| /> |
| </Field> |
| </div> |
| </div> |
| ) |
| } |
|
|
| export default React.memo(Panel) |
|
|