Browse Source

Feat: If there is no result in the recall test, an empty data image will be displayed. #4182 (#4183)

### What problem does this PR solve?

Feat: If there is no result in the recall test, an empty data image will
be displayed. #4182
### Type of change


- [x] New Feature (non-breaking change which adds functionality)
tags/v0.15.1
balibabu 10 months ago
parent
commit
a4bccc1ae7
No account linked to committer's email address

+ 10
- 0
web/src/hooks/knowledge-hooks.ts View File

total: 0, total: 0,
}) as ITestingResult; }) as ITestingResult;
}; };

export const useSelectIsTestingSuccess = () => {
const status = useMutationState({
filters: { mutationKey: ['testChunk'] },
select: (mutation) => {
return mutation.state.status;
},
});
return status.at(-1) === 'success';
};
//#endregion //#endregion

+ 30
- 21
web/src/pages/add-knowledge/components/knowledge-testing/testing-result/index.tsx View File

import { import {
Card, Card,
Collapse, Collapse,
Empty,
Flex, Flex,
Pagination, Pagination,
PaginationProps, PaginationProps,
import camelCase from 'lodash/camelCase'; import camelCase from 'lodash/camelCase';
import SelectFiles from './select-files'; import SelectFiles from './select-files';


import { useSelectTestingResult } from '@/hooks/knowledge-hooks';
import {
useSelectIsTestingSuccess,
useSelectTestingResult,
} from '@/hooks/knowledge-hooks';
import { useGetPaginationWithRouter } from '@/hooks/logic-hooks'; import { useGetPaginationWithRouter } from '@/hooks/logic-hooks';
import { useCallback, useState } from 'react'; import { useCallback, useState } from 'react';
import styles from './index.less'; import styles from './index.less';
const { documents, chunks, total } = useSelectTestingResult(); const { documents, chunks, total } = useSelectTestingResult();
const { t } = useTranslate('knowledgeDetails'); const { t } = useTranslate('knowledgeDetails');
const { pagination, setPagination } = useGetPaginationWithRouter(); const { pagination, setPagination } = useGetPaginationWithRouter();
const isSuccess = useSelectIsTestingSuccess();


const onChange: PaginationProps['onChange'] = (pageNumber, pageSize) => { const onChange: PaginationProps['onChange'] = (pageNumber, pageSize) => {
pagination.onChange?.(pageNumber, pageSize); pagination.onChange?.(pageNumber, pageSize);
flex={1} flex={1}
className={styles.selectFilesCollapse} className={styles.selectFilesCollapse}
> >
{chunks?.map((x) => (
<Card key={x.chunk_id} title={<ChunkTitle item={x}></ChunkTitle>}>
<Flex gap={'middle'}>
{x.img_id && (
<Popover
placement="left"
content={
<Image
id={x.img_id}
className={styles.imagePreview}
></Image>
}
>
<Image id={x.img_id} className={styles.image}></Image>
</Popover>
)}
<div>{x.content_with_weight}</div>
</Flex>
</Card>
))}
{isSuccess && chunks.length > 0 ? (
chunks?.map((x) => (
<Card key={x.chunk_id} title={<ChunkTitle item={x}></ChunkTitle>}>
<Flex gap={'middle'}>
{x.img_id && (
<Popover
placement="left"
content={
<Image
id={x.img_id}
className={styles.imagePreview}
></Image>
}
>
<Image id={x.img_id} className={styles.image}></Image>
</Popover>
)}
<div>{x.content_with_weight}</div>
</Flex>
</Card>
))
) : isSuccess && chunks.length === 0 ? (
<Empty></Empty>
) : null}
</Flex> </Flex>
<Pagination <Pagination
{...pagination} {...pagination}

Loading…
Cancel
Save