| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { IModalProps } from '@/interfaces/common';
- import { Drawer } from 'antd';
- import { Node } from 'reactflow';
- import AnswerForm from '../answer-form';
- import BeginForm from '../begin-form';
- import { Operator } from '../constant';
- import GenerateForm from '../generate-form';
- import { useHandleFormValuesChange } from '../hooks';
- import RetrievalForm from '../retrieval-form';
-
- interface IProps {
- node?: Node;
- }
-
- const FormMap = {
- [Operator.Begin]: BeginForm,
- [Operator.Retrieval]: RetrievalForm,
- [Operator.Generate]: GenerateForm,
- [Operator.Answer]: AnswerForm,
- };
-
- const FlowDrawer = ({
- visible,
- hideModal,
- node,
- }: IModalProps<any> & IProps) => {
- const operatorName: Operator = node?.data.label;
- const OperatorForm = FormMap[operatorName];
- const { handleValuesChange } = useHandleFormValuesChange(node?.id);
-
- return (
- <Drawer
- title={node?.data.label}
- placement="right"
- onClose={hideModal}
- open={visible}
- getContainer={false}
- mask={false}
- width={470}
- >
- {visible && (
- <OperatorForm onValuesChange={handleValuesChange}></OperatorForm>
- )}
- </Drawer>
- );
- };
-
- export default FlowDrawer;
|