import { ButtonLoading } from '@/components/ui/button';
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 GeneralSavingButton() {
const form = useFormContext();
const { saveKnowledgeConfiguration, loading: submitLoading } =
useUpdateKnowledge();
const { id: kb_id } = useParams();
const { t } = useTranslation();
const defaultValues = useMemo(
() => form.formState.defaultValues ?? {},
[form.formState.defaultValues],
);
const parser_id = defaultValues['parser_id'];
return (
{
(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')}
);
}
export function SavingButton() {
const { saveKnowledgeConfiguration, loading: submitLoading } =
useUpdateKnowledge();
const form = useFormContext();
const { id: kb_id } = useParams();
const { t } = useTranslation();
return (
{
(async () => {
try {
let beValid = await form.formControl.trigger();
if (beValid) {
form.handleSubmit(async (values) => {
console.log('saveKnowledgeConfiguration: ', values);
delete values['avatar'];
await saveKnowledgeConfiguration({
kb_id,
...values,
});
})();
}
} catch (e) {
console.log(e);
} finally {
}
})();
}}
>
{t('knowledgeConfiguration.save')}
);
}