import NewDocumentLink from '@/components/new-document-link'; import SvgIcon from '@/components/svg-icon'; import { useTranslate } from '@/hooks/common-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { api_host } from '@/utils/api'; import { getExtension, isSupportedPreviewDocumentType, } from '@/utils/document-util'; import { downloadFile } from '@/utils/file-util'; import { DeleteOutlined, DownloadOutlined, EditOutlined, EyeOutlined, LinkOutlined, } from '@ant-design/icons'; import { Button, Space, Tooltip } from 'antd'; import { useHandleDeleteFile } from '../hooks'; import styles from './index.less'; interface IProps { record: IFile; setCurrentRecord: (record: any) => void; showRenameModal: (record: IFile) => void; showMoveFileModal: (ids: string[]) => void; showConnectToKnowledgeModal: (record: IFile) => void; setSelectedRowKeys(keys: string[]): void; } const ActionCell = ({ record, setCurrentRecord, showRenameModal, showConnectToKnowledgeModal, setSelectedRowKeys, showMoveFileModal, }: IProps) => { const documentId = record.id; const beingUsed = false; const { t } = useTranslate('fileManager'); const { handleRemoveFile } = useHandleDeleteFile( [documentId], setSelectedRowKeys, ); const extension = getExtension(record.name); const isKnowledgeBase = record.source_type === 'knowledgebase'; const onDownloadDocument = () => { downloadFile({ url: `${api_host}/file/get/${documentId}`, filename: record.name, }); }; const setRecord = () => { setCurrentRecord(record); }; const onShowRenameModal = () => { setRecord(); showRenameModal(record); }; const onShowConnectToKnowledgeModal = () => { showConnectToKnowledgeModal(record); }; const onShowMoveFileModal = () => { showMoveFileModal([documentId]); }; return ( {isKnowledgeBase || ( )} {isKnowledgeBase || ( )} {isKnowledgeBase || ( )} {isKnowledgeBase || ( )} {record.type !== 'folder' && ( )} {isSupportedPreviewDocumentType(extension) && ( )} ); }; export default ActionCell;