Skip to content

Commit

Permalink
Feat: Jump from the chunk page to the dataset page infiniflow#3221 (i…
Browse files Browse the repository at this point in the history
…nfiniflow#4961)

### What problem does this PR solve?
Feat: Jump from the chunk page to the dataset page infiniflow#3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
  • Loading branch information
cike8899 authored Feb 14, 2025
1 parent 986062a commit 26add87
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 4 deletions.
33 changes: 32 additions & 1 deletion web/src/hooks/logic-hooks/navigate-hooks.ts
Original file line number Diff line number Diff line change
@@ -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);
Expand Down Expand Up @@ -32,12 +37,38 @@ 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,
navigateToHome,
navigateToProfile,
navigateToChatList,
navigateToChat,
navigateToChunkParsedResult,
getQueryString,
};
};
3 changes: 3 additions & 0 deletions web/src/pages/chunk/chunk-result/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default function ChunkResult() {
return <div>ChunkResult</div>;
}
21 changes: 21 additions & 0 deletions web/src/pages/chunk/index.tsx
Original file line number Diff line number Diff line change
@@ -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 (
<section>
<PageHeader
title="Editing block"
back={navigateToDataset(
getQueryString(QueryStringMap.KnowledgeId) as string,
)}
></PageHeader>
<Outlet />
</section>
);
}
3 changes: 3 additions & 0 deletions web/src/pages/chunk/parsed-result/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default function ParsedResult() {
return <div>ParsedResult</div>;
}
3 changes: 3 additions & 0 deletions web/src/pages/chunk/result-view/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default function ResultView() {
return <div>ResultView</div>;
}
17 changes: 14 additions & 3 deletions web/src/pages/dataset/dataset/use-dataset-table-columns.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -54,6 +56,8 @@ export function useDatasetTableColumns({
// showSetMetaModal();
// }, [setRecord, showSetMetaModal]);

const { navigateToChunkParsedResult } = useNavigatePage();

const columns: ColumnDef<IDocumentInfo>[] = [
{
id: 'select',
Expand Down Expand Up @@ -93,12 +97,17 @@ export function useDatasetTableColumns({
meta: { cellClassName: 'max-w-[20vw]' },
cell: ({ row }) => {
const name: string = row.getValue('name');
// return <div className="capitalize">{row.getValue('name')}</div>;

return (
<Tooltip>
<TooltipTrigger asChild>
<div className="flex gap-2">
<div
className="flex gap-2 cursor-pointer"
onClick={navigateToChunkParsedResult(
row.original.id,
row.original.kb_id,
)}
>
<SvgIcon
name={`file-icon/${getExtension(name)}`}
width={24}
Expand Down Expand Up @@ -127,7 +136,9 @@ export function useDatasetTableColumns({
);
},
cell: ({ row }) => (
<div className="lowercase">{row.getValue('create_time')}</div>
<div className="lowercase">
{formatDate(row.getValue('create_time'))}
</div>
),
},
{
Expand Down
35 changes: 35 additions & 0 deletions web/src/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 26add87

Please sign in to comment.