fix: fix dataset-page's bugs (#8786)

### What problem does this PR solve?

fix dataset-page's bugs,Input component supports icon, added Radio
component, and removed antd from chunk-result-bar page [#3221
](https://github.com/infiniflow/ragflow/issues/3221)

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
chanx
2025-07-11 11:34:36 +08:00
committed by GitHub
parent 07208e519b
commit 52dce4329d
23 changed files with 399 additions and 153 deletions

View File

@ -180,7 +180,9 @@ export const useCreateChunk = () => {
const { data } = await service(payload);
if (data.code === 0) {
message.success(t('message.created'));
queryClient.invalidateQueries({ queryKey: ['fetchChunkList'] });
setTimeout(() => {
queryClient.invalidateQueries({ queryKey: ['fetchChunkList'] });
}, 1000); // Delay to ensure the list is updated
}
return data?.code;
},

View File

@ -122,10 +122,11 @@ export const useSetNextDocumentStatus = () => {
documentId,
}: {
status: boolean;
documentId: string;
documentId: string | string[];
}) => {
const ids = Array.isArray(documentId) ? documentId : [documentId];
const { data } = await kbService.document_change_status({
doc_id: documentId,
doc_ids: ids,
status: Number(status),
});
if (data.code === 0) {

View File

@ -25,13 +25,14 @@ import {
import { useDebounce } from 'ahooks';
import { message } from 'antd';
import { useState } from 'react';
import { useSearchParams } from 'umi';
import { useParams, useSearchParams } from 'umi';
import { useHandleSearchChange } from './logic-hooks';
import { useSetPaginationParams } from './route-hook';
export const useKnowledgeBaseId = (): string => {
const [searchParams] = useSearchParams();
const knowledgeBaseId = searchParams.get('id');
const { id } = useParams();
const knowledgeBaseId = searchParams.get('id') || id;
return knowledgeBaseId || '';
};

View File

@ -37,20 +37,6 @@ export const useSetSelectedRecord = <T = IKnowledgeFile>() => {
return { currentRecord, setRecord };
};
export const useHandleSearchChange = () => {
const [searchString, setSearchString] = useState('');
const handleInputChange = useCallback(
(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
const value = e.target.value;
setSearchString(value);
},
[],
);
return { handleInputChange, searchString };
};
export const useChangeLanguage = () => {
const { i18n } = useTranslation();
const { saveSetting } = useSaveSetting();
@ -82,9 +68,12 @@ export const useGetPaginationWithRouter = () => {
const setCurrentPagination = useCallback(
(pagination: { page: number; pageSize?: number }) => {
if (pagination.pageSize !== pageSize) {
pagination.page = 1; // Reset to first page if pageSize changes
}
setPaginationParams(pagination.page, pagination.pageSize);
},
[setPaginationParams],
[setPaginationParams, pageSize],
);
const pagination: PaginationProps = useMemo(() => {
@ -106,6 +95,21 @@ export const useGetPaginationWithRouter = () => {
};
};
export const useHandleSearchChange = () => {
const [searchString, setSearchString] = useState('');
const { setPagination } = useGetPaginationWithRouter();
const handleInputChange = useCallback(
(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
const value = e.target.value;
setSearchString(value);
setPagination({ page: 1 });
},
[setPagination],
);
return { handleInputChange, searchString };
};
export const useGetPagination = () => {
const [pagination, setPagination] = useState({ page: 1, pageSize: 10 });
const { t } = useTranslate('common');

View File

@ -4,6 +4,7 @@ import { useNavigate, useParams, useSearchParams } from 'umi';
export enum QueryStringMap {
KnowledgeId = 'knowledgeId',
id = 'id',
}
export const useNavigatePage = () => {
@ -77,6 +78,7 @@ export const useNavigatePage = () => {
[QueryStringMap.KnowledgeId]: searchParams.get(
QueryStringMap.KnowledgeId,
),
[QueryStringMap.id]: searchParams.get(QueryStringMap.id),
};
if (queryStringKey) {
return allQueryString[queryStringKey];

View File

@ -204,10 +204,11 @@ export const useSetDocumentStatus = () => {
documentId,
}: {
status: boolean;
documentId: string;
documentId: string | string[];
}) => {
const ids = Array.isArray(documentId) ? documentId : [documentId];
const { data } = await kbService.document_change_status({
doc_id: documentId,
doc_ids: ids,
status: Number(status),
});
if (data.code === 0) {