mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-02-03 17:15:08 +08:00
### What problem does this PR solve? Put the knowledge base list related hooks into use-knowledge-request.ts #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { useSetModalState } from '@/hooks/common-hooks';
|
|
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
|
|
import { useCreateKnowledge } from '@/hooks/use-knowledge-request';
|
|
import { useCallback, useState } from 'react';
|
|
|
|
export const useSearchKnowledge = () => {
|
|
const [searchString, setSearchString] = useState<string>('');
|
|
|
|
const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
setSearchString(e.target.value);
|
|
};
|
|
return {
|
|
searchString,
|
|
handleInputChange,
|
|
};
|
|
};
|
|
|
|
export const useSaveKnowledge = () => {
|
|
const { visible: visible, hideModal, showModal } = useSetModalState();
|
|
const { loading, createKnowledge } = useCreateKnowledge();
|
|
const { navigateToDataset } = useNavigatePage();
|
|
|
|
const onCreateOk = useCallback(
|
|
async (name: string) => {
|
|
const ret = await createKnowledge({
|
|
name,
|
|
});
|
|
|
|
if (ret?.code === 0) {
|
|
hideModal();
|
|
navigateToDataset(ret.data.kb_id)();
|
|
}
|
|
},
|
|
[createKnowledge, hideModal, navigateToDataset],
|
|
);
|
|
|
|
return {
|
|
loading,
|
|
onCreateOk,
|
|
visible,
|
|
hideModal,
|
|
showModal,
|
|
};
|
|
};
|