mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-12 04:49:05 +08:00
### What problem does this PR solve? feat: When the mindmap data is empty, it will not be displayed on the search page #2247 ### Type of change - [ ] Bug Fix (non-breaking change which fixes an issue) - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
parent
2bd71d722b
commit
ec4def9a44
@ -101,6 +101,7 @@ export interface ITestingChunk {
|
|||||||
vector_similarity: number;
|
vector_similarity: number;
|
||||||
highlight: string;
|
highlight: string;
|
||||||
positions: number[][];
|
positions: number[][];
|
||||||
|
docnm_kwd: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ITestingDocument {
|
export interface ITestingDocument {
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
background-size: cover;
|
background-size: cover;
|
||||||
.card {
|
.card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
cursor: pointer;
|
|
||||||
:global(.ant-card-body) {
|
:global(.ant-card-body) {
|
||||||
padding: 14px;
|
padding: 14px;
|
||||||
}
|
}
|
||||||
@ -101,6 +100,9 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.documentReference {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.answerWrapper {
|
.answerWrapper {
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import FileIcon from '@/components/file-icon';
|
||||||
import HightLightMarkdown from '@/components/highlight-markdown';
|
import HightLightMarkdown from '@/components/highlight-markdown';
|
||||||
import { ImageWithPopover } from '@/components/image';
|
import { ImageWithPopover } from '@/components/image';
|
||||||
import IndentedTree from '@/components/indented-tree/indented-tree';
|
import IndentedTree from '@/components/indented-tree/indented-tree';
|
||||||
@ -56,7 +57,6 @@ const SearchPage = () => {
|
|||||||
sendingLoading,
|
sendingLoading,
|
||||||
relatedQuestions,
|
relatedQuestions,
|
||||||
mindMap,
|
mindMap,
|
||||||
mindMapLoading,
|
|
||||||
searchStr,
|
searchStr,
|
||||||
loading,
|
loading,
|
||||||
isFirstRender,
|
isFirstRender,
|
||||||
@ -74,11 +74,10 @@ const SearchPage = () => {
|
|||||||
|
|
||||||
const isMindMapEmpty = useMemo(() => {
|
const isMindMapEmpty = useMemo(() => {
|
||||||
return (
|
return (
|
||||||
!mindMapLoading &&
|
(Array.isArray(mindMap?.children) && mindMap.children.length === 0) ||
|
||||||
((Array.isArray(mindMap?.children) && mindMap.children.length === 0) ||
|
!Array.isArray(mindMap?.children)
|
||||||
!Array.isArray(mindMap?.children))
|
|
||||||
);
|
);
|
||||||
}, [mindMap, mindMapLoading]);
|
}, [mindMap]);
|
||||||
|
|
||||||
const InputSearch = (
|
const InputSearch = (
|
||||||
<Search
|
<Search
|
||||||
@ -160,16 +159,12 @@ const SearchPage = () => {
|
|||||||
className={styles.chunks}
|
className={styles.chunks}
|
||||||
renderItem={(item) => (
|
renderItem={(item) => (
|
||||||
<List.Item>
|
<List.Item>
|
||||||
<Card
|
<Card className={styles.card}>
|
||||||
className={styles.card}
|
|
||||||
onClick={() =>
|
|
||||||
clickDocumentButton(item.doc_id, item as any)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<Space>
|
<Space>
|
||||||
<ImageWithPopover
|
<ImageWithPopover
|
||||||
id={item.img_id}
|
id={item.img_id}
|
||||||
></ImageWithPopover>
|
></ImageWithPopover>
|
||||||
|
<Flex vertical gap={10}>
|
||||||
<Popover
|
<Popover
|
||||||
content={
|
content={
|
||||||
<div className={styles.popupMarkdown}>
|
<div className={styles.popupMarkdown}>
|
||||||
@ -182,12 +177,28 @@ const SearchPage = () => {
|
|||||||
<div
|
<div
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: DOMPurify.sanitize(
|
__html: DOMPurify.sanitize(
|
||||||
item.highlight,
|
`${item.highlight}...`,
|
||||||
),
|
),
|
||||||
}}
|
}}
|
||||||
className={styles.highlightContent}
|
className={styles.highlightContent}
|
||||||
></div>
|
></div>
|
||||||
</Popover>
|
</Popover>
|
||||||
|
<Space
|
||||||
|
className={styles.documentReference}
|
||||||
|
onClick={() =>
|
||||||
|
clickDocumentButton(
|
||||||
|
item.doc_id,
|
||||||
|
item as any,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<FileIcon
|
||||||
|
id={item.img_id}
|
||||||
|
name={item.docnm_kwd}
|
||||||
|
></FileIcon>
|
||||||
|
{item.docnm_kwd}
|
||||||
|
</Space>
|
||||||
|
</Flex>
|
||||||
</Space>
|
</Space>
|
||||||
</Card>
|
</Card>
|
||||||
</List.Item>
|
</List.Item>
|
||||||
@ -220,15 +231,11 @@ const SearchPage = () => {
|
|||||||
<section
|
<section
|
||||||
className={isMindMapEmpty ? styles.hide : styles.graph}
|
className={isMindMapEmpty ? styles.hide : styles.graph}
|
||||||
>
|
>
|
||||||
{mindMapLoading ? (
|
|
||||||
<Skeleton active />
|
|
||||||
) : (
|
|
||||||
<IndentedTree
|
<IndentedTree
|
||||||
data={mindMap}
|
data={mindMap}
|
||||||
show
|
show
|
||||||
style={{ width: '100%', height: '100%' }}
|
style={{ width: '100%', height: '100%' }}
|
||||||
></IndentedTree>
|
></IndentedTree>
|
||||||
)}
|
|
||||||
</section>
|
</section>
|
||||||
</Flex>
|
</Flex>
|
||||||
)}
|
)}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user