import React, { useEffect } from 'react'; import { Form, Input, ColorPicker, Flex, Splitter, Divider, InputNumber, Select } from 'antd'; import { createStyles } from 'antd-style'; import { Button, IconButton, Switch } from '@agentscope-ai/design' import { SparkDeleteLine, SparkPlusLine } from '@agentscope-ai/icons'; import FormItem from './FormItem'; import defaultConfig from './defaultConfig'; const useStyles = createStyles(({ token, css }) => ({ container: { height: '100%', display: 'flex', flexDirection: 'column', }, form: { height: 0, flex: 1, padding: '8px 16px 16px 16px', overflow: 'auto', }, actions: { padding: 16, display: 'flex', borderTop: `1px solid ${token.colorBorderSecondary}`, justifyContent: 'flex-end', gap: 16, } })); interface OptionsEditorProps { value?: any; onChange?: any; } const OptionsEditor: React.FC = ({ value, onChange, }) => { const { styles } = useStyles(); const [form] = Form.useForm(); const handleSave = () => { form.validateFields().then((values) => { onChange(values); }); }; const handleReset = () => { form.setFieldsValue(defaultConfig); }; return (
General Sender Welcome {(fields, { add, remove }) => { return
{fields.map(field => { return } onClick={() => add({})}> } onClick={() => remove(field.name)}> })}
}}
API
); }; export default OptionsEditor;