fix: fetch file list by react-query #1306 (#1640)

### What problem does this PR solve?

fix: fetch file list by react-query #1306 

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu
2024-07-22 19:29:20 +08:00
committed by GitHub
parent ac7a0d4fbf
commit bf2ea04d02
4 changed files with 134 additions and 15 deletions

View File

@ -71,6 +71,20 @@ 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();
@ -85,6 +99,46 @@ export const useChangeLanguage = () => {
return changeLanguage;
};
export const useGetNextPagination = () => {
const { t } = useTranslate('common');
const [{ page, pageSize }, setPagination] = useState({
page: 1,
pageSize: 10,
});
const onPageChange: PaginationProps['onChange'] = useCallback(
(pageNumber: number, pageSize: number) => {
setPagination({ page: pageNumber, pageSize });
},
[setPagination],
);
const setCurrentPagination = useCallback(
(pagination: { page: number; pageSize?: number }) => {
setPagination((p) => ({ ...p, ...pagination }));
},
[setPagination],
);
const pagination: PaginationProps = useMemo(() => {
return {
showQuickJumper: true,
total: 0,
showSizeChanger: true,
current: page,
pageSize: pageSize,
pageSizeOptions: [1, 2, 10, 20, 50, 100],
onChange: onPageChange,
showTotal: (total) => `${t('total')} ${total}`,
};
}, [t, onPageChange, page, pageSize]);
return {
pagination,
setPagination: setCurrentPagination,
};
};
export const useGetPagination = (
total: number,
page: number,