import { AvatarUpload } from '@/components/avatar-upload'; import { FormContainer } from '@/components/form-container'; import { SelectWithSearch } from '@/components/originui/select-with-search'; import { RAGFlowFormItem } from '@/components/ragflow-form'; import { Button, ButtonLoading } from '@/components/ui/button'; import { FormControl, FormField, FormItem, FormLabel, FormMessage, } from '@/components/ui/form'; import { Input } from '@/components/ui/input'; import { PermissionRole } from '@/constants/permission'; import { useUpdateKnowledge } from '@/hooks/use-knowledge-request'; import { useMemo } from 'react'; import { useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { useParams } from 'umi'; export function GeneralForm() { const form = useFormContext(); const { t } = useTranslation(); const { saveKnowledgeConfiguration, loading: submitLoading } = useUpdateKnowledge(); const defaultValues = useMemo( () => form.formState.defaultValues ?? {}, [form.formState.defaultValues], ); const parser_id = defaultValues['parser_id']; const { id: kb_id } = useParams(); const teamOptions = useMemo(() => { return Object.values(PermissionRole).map((x) => ({ label: t('knowledgeConfiguration.' + x), value: x, })); }, [t]); return ( <> (
* {t('common.name')}
)} /> (
{t('setting.avatar')}
)} /> { // null initialize empty string if (typeof field.value === 'object' && !field.value) { form.setValue('description', ' '); } return (
{t('flow.description')}
); }} />
{ (async () => { let isValidate = await form.trigger('name'); const { name, description, permission, avatar } = form.getValues(); if (isValidate) { saveKnowledgeConfiguration({ kb_id, parser_id, name, description, avatar, permission, }); } })(); }} > {t('knowledgeConfiguration.save')}
); }