mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Fix home card not responding to click events ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [ ] New Feature (non-breaking change which adds functionality) - [ ] Documentation Update - [ ] Refactoring - [ ] Performance Improvement - [ ] Other (please describe):
149 lines
3.5 KiB
TypeScript
149 lines
3.5 KiB
TypeScript
import { Routes } from '@/routes';
|
|
import { useCallback } from 'react';
|
|
import { useNavigate, useParams, useSearchParams } from 'umi';
|
|
|
|
export enum QueryStringMap {
|
|
KnowledgeId = 'knowledgeId',
|
|
id = 'id',
|
|
}
|
|
|
|
export const useNavigatePage = () => {
|
|
const navigate = useNavigate();
|
|
const [searchParams] = useSearchParams();
|
|
const { id } = useParams();
|
|
|
|
const navigateToDatasetList = useCallback(() => {
|
|
navigate(Routes.Datasets);
|
|
}, [navigate]);
|
|
|
|
const navigateToDataset = useCallback(
|
|
(id: string) => () => {
|
|
navigate(`${Routes.Dataset}/${id}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const navigateToHome = useCallback(() => {
|
|
navigate(Routes.Root);
|
|
}, [navigate]);
|
|
|
|
const navigateToProfile = useCallback(() => {
|
|
navigate(Routes.ProfileSetting);
|
|
}, [navigate]);
|
|
|
|
const navigateToOldProfile = useCallback(() => {
|
|
navigate(Routes.UserSetting);
|
|
}, [navigate]);
|
|
|
|
const navigateToChatList = useCallback(() => {
|
|
navigate(Routes.Chats);
|
|
}, [navigate]);
|
|
|
|
const navigateToChat = useCallback(
|
|
(id: string) => () => {
|
|
navigate(`${Routes.Chat}/${id}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const navigateToAgents = useCallback(() => {
|
|
navigate(Routes.Agents);
|
|
}, [navigate]);
|
|
|
|
const navigateToAgentList = useCallback(() => {
|
|
navigate(Routes.AgentList);
|
|
}, [navigate]);
|
|
|
|
const navigateToAgent = useCallback(
|
|
(id: string) => () => {
|
|
navigate(`${Routes.Agent}/${id}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const navigateToAgentLogs = useCallback(
|
|
(id: string) => () => {
|
|
navigate(`${Routes.AgentLogPage}/${id}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const navigateToAgentTemplates = useCallback(() => {
|
|
navigate(Routes.AgentTemplates);
|
|
}, [navigate]);
|
|
|
|
const navigateToSearchList = useCallback(() => {
|
|
navigate(Routes.Searches);
|
|
}, [navigate]);
|
|
|
|
const navigateToSearch = useCallback(
|
|
(id: string) => () => {
|
|
navigate(`${Routes.Search}/${id}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const navigateToChunkParsedResult = useCallback(
|
|
(id: string, knowledgeId?: string) => () => {
|
|
navigate(
|
|
// `${Routes.ParsedResult}/${id}?${QueryStringMap.KnowledgeId}=${knowledgeId}`,
|
|
`${Routes.ParsedResult}/chunks?id=${knowledgeId}&doc_id=${id}`,
|
|
);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
const getQueryString = useCallback(
|
|
(queryStringKey?: QueryStringMap) => {
|
|
const allQueryString = {
|
|
[QueryStringMap.KnowledgeId]: searchParams.get(
|
|
QueryStringMap.KnowledgeId,
|
|
),
|
|
[QueryStringMap.id]: searchParams.get(QueryStringMap.id),
|
|
};
|
|
if (queryStringKey) {
|
|
return allQueryString[queryStringKey];
|
|
}
|
|
return allQueryString;
|
|
},
|
|
[searchParams],
|
|
);
|
|
|
|
const navigateToChunk = useCallback(
|
|
(route: Routes) => {
|
|
navigate(
|
|
`${route}/${id}?${QueryStringMap.KnowledgeId}=${getQueryString(QueryStringMap.KnowledgeId)}`,
|
|
);
|
|
},
|
|
[getQueryString, id, navigate],
|
|
);
|
|
|
|
const navigateToFiles = useCallback(
|
|
(folderId?: string) => {
|
|
navigate(`${Routes.Files}?folderId=${folderId}`);
|
|
},
|
|
[navigate],
|
|
);
|
|
|
|
return {
|
|
navigateToDatasetList,
|
|
navigateToDataset,
|
|
navigateToHome,
|
|
navigateToProfile,
|
|
navigateToChatList,
|
|
navigateToChat,
|
|
navigateToChunkParsedResult,
|
|
getQueryString,
|
|
navigateToChunk,
|
|
navigateToAgents,
|
|
navigateToAgent,
|
|
navigateToAgentLogs,
|
|
navigateToAgentTemplates,
|
|
navigateToSearchList,
|
|
navigateToSearch,
|
|
navigateToFiles,
|
|
navigateToAgentList,
|
|
navigateToOldProfile,
|
|
};
|
|
};
|