Fix: Hide the download button if it is an empty file #3762 (#3853)

### What problem does this PR solve?

Fix: Hide the download button if it is an empty file #3762

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu 2024-12-04 15:09:41 +08:00 committed by GitHub
parent cf37e2ef1a
commit 289f4f1916
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 32 additions and 21 deletions

View File

@ -57,3 +57,8 @@ export enum KnowledgeSearchParams {
DocumentId = 'doc_id', DocumentId = 'doc_id',
KnowledgeId = 'id', KnowledgeId = 'id',
} }
export enum DocumentType {
Virtual = 'virtual',
Visual = 'visual',
}

View File

@ -11,6 +11,7 @@ import {
import { Button, Dropdown, MenuProps, Space, Tooltip } from 'antd'; import { Button, Dropdown, MenuProps, Space, Tooltip } from 'antd';
import { isParserRunning } from '../utils'; import { isParserRunning } from '../utils';
import { DocumentType } from '../constant';
import styles from './index.less'; import styles from './index.less';
interface IProps { interface IProps {
@ -31,6 +32,7 @@ const ParsingActionCell = ({
const { t } = useTranslate('knowledgeDetails'); const { t } = useTranslate('knowledgeDetails');
const { removeDocument } = useRemoveNextDocument(); const { removeDocument } = useRemoveNextDocument();
const showDeleteConfirm = useShowDeleteConfirm(); const showDeleteConfirm = useShowDeleteConfirm();
const isVirtualDocument = record.type === DocumentType.Virtual;
const onRmDocument = () => { const onRmDocument = () => {
if (!isRunning) { if (!isRunning) {
@ -73,15 +75,17 @@ const ParsingActionCell = ({
return ( return (
<Space size={0}> <Space size={0}>
<Dropdown {isVirtualDocument || (
menu={{ items: chunkItems }} <Dropdown
trigger={['click']} menu={{ items: chunkItems }}
disabled={isRunning} trigger={['click']}
> disabled={isRunning}
<Button type="text" className={styles.iconButton}> >
<ToolOutlined size={20} /> <Button type="text" className={styles.iconButton}>
</Button> <ToolOutlined size={20} />
</Dropdown> </Button>
</Dropdown>
)}
<Tooltip title={t('rename', { keyPrefix: 'common' })}> <Tooltip title={t('rename', { keyPrefix: 'common' })}>
<Button <Button
type="text" type="text"
@ -102,16 +106,18 @@ const ParsingActionCell = ({
<DeleteOutlined size={20} /> <DeleteOutlined size={20} />
</Button> </Button>
</Tooltip> </Tooltip>
<Tooltip title={t('download', { keyPrefix: 'common' })}> {isVirtualDocument || (
<Button <Tooltip title={t('download', { keyPrefix: 'common' })}>
type="text" <Button
disabled={isRunning} type="text"
onClick={onDownloadDocument} disabled={isRunning}
className={styles.iconButton} onClick={onDownloadDocument}
> className={styles.iconButton}
<DownloadOutlined size={20} /> >
</Button> <DownloadOutlined size={20} />
</Tooltip> </Button>
</Tooltip>
)}
</Space> </Space>
); );
}; };

View File

@ -7,7 +7,7 @@ import { Badge, DescriptionsProps, Flex, Popover, Space, Tag } from 'antd';
import classNames from 'classnames'; import classNames from 'classnames';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import reactStringReplace from 'react-string-replace'; import reactStringReplace from 'react-string-replace';
import { RunningStatus, RunningStatusMap } from '../constant'; import { DocumentType, RunningStatus, RunningStatusMap } from '../constant';
import { useHandleRunDocumentByIds } from '../hooks'; import { useHandleRunDocumentByIds } from '../hooks';
import { isParserRunning } from '../utils'; import { isParserRunning } from '../utils';
import styles from './index.less'; import styles from './index.less';
@ -96,7 +96,7 @@ export const ParsingStatusCell = ({ record }: IProps) => {
handleRunDocumentByIds(record.id, isRunning); handleRunDocumentByIds(record.id, isRunning);
}; };
return ( return record.type === DocumentType.Virtual ? null : (
<Flex justify={'space-between'} align="center"> <Flex justify={'space-between'} align="center">
<Popover content={<PopoverContent record={record}></PopoverContent>}> <Popover content={<PopoverContent record={record}></PopoverContent>}>
<Tag color={runningStatus.color}> <Tag color={runningStatus.color}>