diff --git a/web/src/hooks/logic-hooks/navigate-hooks.ts b/web/src/hooks/logic-hooks/navigate-hooks.ts index 1bedbb774..c19710911 100644 --- a/web/src/hooks/logic-hooks/navigate-hooks.ts +++ b/web/src/hooks/logic-hooks/navigate-hooks.ts @@ -1,9 +1,14 @@ import { Routes } from '@/routes'; import { useCallback } from 'react'; -import { useNavigate } from 'umi'; +import { useNavigate, useSearchParams } from 'umi'; + +export enum QueryStringMap { + KnowledgeId = 'knowledgeId', +} export const useNavigatePage = () => { const navigate = useNavigate(); + const [searchParams] = useSearchParams(); const navigateToDatasetList = useCallback(() => { navigate(Routes.Datasets); @@ -32,6 +37,30 @@ export const useNavigatePage = () => { navigate(Routes.Chat); }, [navigate]); + const navigateToChunkParsedResult = useCallback( + (id: string, knowledgeId?: string) => () => { + navigate( + `${Routes.ParsedResult}/${id}?${QueryStringMap.KnowledgeId}=${knowledgeId}`, + ); + }, + [navigate], + ); + + const getQueryString = useCallback( + (queryStringKey?: QueryStringMap) => { + const allQueryString = { + [QueryStringMap.KnowledgeId]: searchParams.get( + QueryStringMap.KnowledgeId, + ), + }; + if (queryStringKey) { + return allQueryString[queryStringKey]; + } + return allQueryString; + }, + [searchParams], + ); + return { navigateToDatasetList, navigateToDataset, @@ -39,5 +68,7 @@ export const useNavigatePage = () => { navigateToProfile, navigateToChatList, navigateToChat, + navigateToChunkParsedResult, + getQueryString, }; }; diff --git a/web/src/pages/chunk/chunk-result/index.tsx b/web/src/pages/chunk/chunk-result/index.tsx new file mode 100644 index 000000000..e4a260220 --- /dev/null +++ b/web/src/pages/chunk/chunk-result/index.tsx @@ -0,0 +1,3 @@ +export default function ChunkResult() { + return
ChunkResult
; +} diff --git a/web/src/pages/chunk/index.tsx b/web/src/pages/chunk/index.tsx new file mode 100644 index 000000000..7609c7afd --- /dev/null +++ b/web/src/pages/chunk/index.tsx @@ -0,0 +1,21 @@ +import { PageHeader } from '@/components/page-header'; +import { + QueryStringMap, + useNavigatePage, +} from '@/hooks/logic-hooks/navigate-hooks'; +import { Outlet } from 'umi'; + +export default function ChunkPage() { + const { navigateToDataset, getQueryString } = useNavigatePage(); + return ( +
+ + +
+ ); +} diff --git a/web/src/pages/chunk/parsed-result/index.tsx b/web/src/pages/chunk/parsed-result/index.tsx new file mode 100644 index 000000000..5d88572aa --- /dev/null +++ b/web/src/pages/chunk/parsed-result/index.tsx @@ -0,0 +1,3 @@ +export default function ParsedResult() { + return
ParsedResult
; +} diff --git a/web/src/pages/chunk/result-view/index.tsx b/web/src/pages/chunk/result-view/index.tsx new file mode 100644 index 000000000..20c60c86b --- /dev/null +++ b/web/src/pages/chunk/result-view/index.tsx @@ -0,0 +1,3 @@ +export default function ResultView() { + return
ResultView
; +} diff --git a/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx b/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx index b46316075..30e4c1028 100644 --- a/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx +++ b/web/src/pages/dataset/dataset/use-dataset-table-columns.tsx @@ -15,8 +15,10 @@ import { TooltipContent, TooltipTrigger, } from '@/components/ui/tooltip'; +import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; import { IDocumentInfo } from '@/interfaces/database/document'; import { cn } from '@/lib/utils'; +import { formatDate } from '@/utils/date'; import { getExtension } from '@/utils/document-util'; import { ColumnDef } from '@tanstack/table-core'; import { ArrowUpDown, MoreHorizontal, Pencil, Wrench } from 'lucide-react'; @@ -54,6 +56,8 @@ export function useDatasetTableColumns({ // showSetMetaModal(); // }, [setRecord, showSetMetaModal]); + const { navigateToChunkParsedResult } = useNavigatePage(); + const columns: ColumnDef[] = [ { id: 'select', @@ -93,12 +97,17 @@ export function useDatasetTableColumns({ meta: { cellClassName: 'max-w-[20vw]' }, cell: ({ row }) => { const name: string = row.getValue('name'); - // return
{row.getValue('name')}
; return ( -
+
( -
{row.getValue('create_time')}
+
+ {formatDate(row.getValue('create_time'))} +
), }, { diff --git a/web/src/routes.ts b/web/src/routes.ts index 48abef8c9..d3689f5b6 100644 --- a/web/src/routes.ts +++ b/web/src/routes.ts @@ -12,6 +12,12 @@ export enum Routes { ProfileSetting = '/profile-setting', DatasetTesting = '/testing', DatasetSetting = '/setting', + Chunk = '/chunk', + ChunkResult = `${Chunk}${Chunk}`, + Parsed = '/parsed', + ParsedResult = `${Chunk}${Parsed}`, + Result = '/result', + ResultView = `${Chunk}${Result}`, } const routes = [ @@ -237,6 +243,35 @@ const routes = [ }, ], }, + { + path: Routes.Chunk, + layout: false, + routes: [ + { + path: Routes.Chunk, + component: `@/pages${Routes.Chunk}`, + routes: [ + { + path: `${Routes.ParsedResult}/:id`, + component: `@/pages${Routes.Chunk}/parsed-result`, + }, + { + path: `${Routes.ChunkResult}/:id`, + component: `@/pages${Routes.Chunk}/chunk-result`, + }, + { + path: `${Routes.ResultView}/:id`, + component: `@/pages${Routes.Chunk}/result-view`, + }, + ], + }, + ], + }, + { + path: Routes.Chunk, + layout: false, + component: `@/pages${Routes.Chunk}`, + }, { path: Routes.ProfileSetting, layout: false,