import { useKnowledgeBaseId } from '@/hooks/knowledgeHook'; import { useSecondPathName, useThirdPathName } from '@/hooks/routeHook'; import { Breadcrumb } from 'antd'; import { ItemType } from 'antd/es/breadcrumb/Breadcrumb'; import { useCallback, useEffect, useMemo } from 'react'; import { Link, Outlet, useDispatch, useLocation, useNavigate } from 'umi'; import Siderbar from './components/knowledge-sidebar'; import { KnowledgeDatasetRouteKey, KnowledgeRouteKey, datasetRouteMap, routeMap, } from './constant'; import styles from './index.less'; const KnowledgeAdding = () => { const dispatch = useDispatch(); const navigate = useNavigate(); const knowledgeBaseId = useKnowledgeBaseId(); const location = useLocation(); const activeKey: KnowledgeRouteKey = (useSecondPathName() as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset; const datasetActiveKey: KnowledgeDatasetRouteKey = useThirdPathName() as KnowledgeDatasetRouteKey; const gotoList = useCallback(() => { navigate('/knowledge'); }, [navigate]); const breadcrumbItems: ItemType[] = useMemo(() => { const items: ItemType[] = [ { title: Knowledge Base, }, { title: datasetActiveKey ? ( {routeMap[activeKey]} ) : ( routeMap[activeKey] ), }, ]; if (datasetActiveKey) { items.push({ title: datasetRouteMap[datasetActiveKey], }); } return items; }, [activeKey, datasetActiveKey, gotoList, knowledgeBaseId]); useEffect(() => { const search: string = location.search.slice(1); const map = search.split('&').reduce>((obj, cur) => { const [key, value] = cur.split('='); obj[key] = value; return obj; }, {}); dispatch({ type: 'kAModel/updateState', payload: { doc_id: undefined, ...map, }, }); }, [location, dispatch]); return ( <>
); }; export default KnowledgeAdding;