balibabu
feat: select the corresponding parsing method according to the file type and after the document is successfully uploaded, use the ChunkMethodModal to select the parsing method. and remove ChunkMethodModal from knowledge-file (#158)
71b7e06
import { IKnowledgeFile } from '@/interfaces/database/knowledge'; | |
import { IChangeParserConfigRequestBody } from '@/interfaces/request/document'; | |
import { useCallback, useState } from 'react'; | |
import { useSetModalState } from './commonHooks'; | |
import { useSetDocumentParser } from './documentHooks'; | |
import { useOneNamespaceEffectsLoading } from './storeHooks'; | |
export const useChangeDocumentParser = (documentId: string) => { | |
const setDocumentParser = useSetDocumentParser(); | |
const { | |
visible: changeParserVisible, | |
hideModal: hideChangeParserModal, | |
showModal: showChangeParserModal, | |
} = useSetModalState(); | |
const loading = useOneNamespaceEffectsLoading('kFModel', [ | |
'document_change_parser', | |
]); | |
const onChangeParserOk = useCallback( | |
async (parserId: string, parserConfig: IChangeParserConfigRequestBody) => { | |
const ret = await setDocumentParser(parserId, documentId, parserConfig); | |
if (ret === 0) { | |
hideChangeParserModal(); | |
} | |
}, | |
[hideChangeParserModal, setDocumentParser, documentId], | |
); | |
return { | |
changeParserLoading: loading, | |
onChangeParserOk, | |
changeParserVisible, | |
hideChangeParserModal, | |
showChangeParserModal, | |
}; | |
}; | |
export const useSetSelectedRecord = <T = IKnowledgeFile>() => { | |
const [currentRecord, setCurrentRecord] = useState<T>({} as T); | |
const setRecord = (record: T) => { | |
setCurrentRecord(record); | |
}; | |
return { currentRecord, setRecord }; | |
}; | |