diff --git a/web/src/pages/files/action-cell.tsx b/web/src/pages/files/action-cell.tsx index b50140edd..e477ed198 100644 --- a/web/src/pages/files/action-cell.tsx +++ b/web/src/pages/files/action-cell.tsx @@ -21,8 +21,9 @@ import { UseHandleConnectToKnowledgeReturnType, UseRenameCurrentFileReturnType, } from './hooks'; +import { useHandleDeleteFile } from './use-delete-file'; import { UseMoveDocumentShowType } from './use-move-file'; -import { isFolderType } from './util'; +import { isFolderType, isKnowledgeBaseType } from './util'; type IProps = Pick, 'row'> & Pick & @@ -40,6 +41,7 @@ export function ActionCell({ const { downloadFile } = useDownloadFile(); const isFolder = isFolderType(record.type); const extension = getExtension(record.name); + const isKnowledgeBase = isKnowledgeBaseType(record.source_type); const handleShowConnectToKnowledgeModal = useCallback(() => { showConnectToKnowledgeModal(record); @@ -60,34 +62,44 @@ export function ActionCell({ showMoveFileModal([record.id]); }, [record, showMoveFileModal]); + const { handleRemoveFile } = useHandleDeleteFile(); + + const onRemoveFile = useCallback(() => { + handleRemoveFile([documentId]); + }, [handleRemoveFile, documentId]); + return (
- - - - - + {isKnowledgeBase || ( + + )} + {isKnowledgeBase || ( + + )} + {isKnowledgeBase || ( + + )} {isFolder || ( - + {isKnowledgeBase || ( + + + + )}
); } diff --git a/web/src/pages/files/files-table.tsx b/web/src/pages/files/files-table.tsx index 5ea00dab9..e40d87fed 100644 --- a/web/src/pages/files/files-table.tsx +++ b/web/src/pages/files/files-table.tsx @@ -48,7 +48,7 @@ import { KnowledgeCell } from './knowledge-cell'; import { LinkToDatasetDialog } from './link-to-dataset-dialog'; import { UseMoveDocumentShowType } from './use-move-file'; import { useNavigateToOtherFolder } from './use-navigate-to-folder'; -import { isFolderType } from './util'; +import { isFolderType, isKnowledgeBaseType } from './util'; type FilesTableProps = Pick< ReturnType, @@ -112,6 +112,7 @@ export function FilesTable({ checked={row.getIsSelected()} onCheckedChange={(value) => row.toggleSelected(!!value)} aria-label="Select row" + disabled={!row.getCanSelect()} /> ), enableSorting: false, @@ -247,7 +248,9 @@ export function FilesTable({ onRowSelectionChange: setRowSelection, manualPagination: true, //we're doing manual "server-side" pagination - + enableRowSelection(row) { + return !isKnowledgeBaseType(row.original.source_type); + }, state: { sorting, columnFilters, diff --git a/web/src/pages/files/util.ts b/web/src/pages/files/util.ts index 3ae478a11..2bd9575ee 100644 --- a/web/src/pages/files/util.ts +++ b/web/src/pages/files/util.ts @@ -1,3 +1,7 @@ export function isFolderType(type: string) { return type === 'folder'; } + +export function isKnowledgeBaseType(sourceType: string) { + return sourceType === 'knowledgebase'; +}