feat: modify routing to nested mode and rename document (#52)

* feat: modify routing to nested mode

* feat: rename document
This commit is contained in:
balibabu
2024-02-02 18:49:54 +08:00
committed by GitHub
parent 503735cd1d
commit 7b71fb2db6
33 changed files with 681 additions and 175 deletions

View File

@@ -1,45 +1,60 @@
import { useKnowledgeBaseId } from '@/hooks/knowledgeHook';
import { useSecondPathName, useThirdPathName } from '@/hooks/routeHook';
import { Breadcrumb } from 'antd';
import { ItemType } from 'antd/es/breadcrumb/Breadcrumb';
import { useEffect, useMemo } from 'react';
import {
useDispatch,
useLocation,
useNavigate,
useParams,
useSelector,
} from 'umi';
import Chunk from './components/knowledge-chunk';
import File from './components/knowledge-file';
import Search from './components/knowledge-search';
import Setting from './components/knowledge-setting';
import { Link, Outlet, useDispatch, useLocation, useNavigate } from 'umi';
import Siderbar from './components/knowledge-sidebar';
import { KnowledgeRouteKey, routeMap } from './constant';
import {
KnowledgeDatasetRouteKey,
KnowledgeRouteKey,
datasetRouteMap,
routeMap,
} from './constant';
import styles from './index.less';
const KnowledgeAdding = () => {
const dispatch = useDispatch();
const kAModel = useSelector((state: any) => state.kAModel);
const navigate = useNavigate();
const { id, doc_id } = kAModel;
const knowledgeBaseId = useKnowledgeBaseId();
const location = useLocation();
const params = useParams();
const activeKey: KnowledgeRouteKey =
(params.module as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset;
(useSecondPathName() as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset;
const datasetActiveKey: KnowledgeDatasetRouteKey =
useThirdPathName() as KnowledgeDatasetRouteKey;
const gotoList = () => {
navigate('/knowledge');
};
const breadcrumbItems = useMemo(() => {
return [
const breadcrumbItems: ItemType[] = useMemo(() => {
const items: ItemType[] = [
{
title: <a onClick={gotoList}>Knowledge Base</a>,
},
{
title: routeMap[activeKey],
title: datasetActiveKey ? (
<Link
to={`/knowledge/${KnowledgeRouteKey.Dataset}?id=${knowledgeBaseId}`}
>
{routeMap[activeKey]}
</Link>
) : (
routeMap[activeKey]
),
},
];
}, [activeKey]);
if (datasetActiveKey) {
items.push({
title: datasetRouteMap[datasetActiveKey],
});
}
return items;
}, [activeKey, datasetActiveKey]);
useEffect(() => {
const search: string = location.search.slice(1);
@@ -65,16 +80,7 @@ const KnowledgeAdding = () => {
<div className={styles.contentWrapper}>
<Breadcrumb items={breadcrumbItems} />
<div className={styles.content}>
{activeKey === KnowledgeRouteKey.Dataset && !doc_id && (
<File kb_id={id} />
)}
{activeKey === KnowledgeRouteKey.Configration && (
<Setting kb_id={id} />
)}
{activeKey === KnowledgeRouteKey.Testing && <Search kb_id={id} />}
{activeKey === KnowledgeRouteKey.Dataset && !!doc_id && (
<Chunk doc_id={doc_id} />
)}
<Outlet></Outlet>
</div>
</div>
</div>