From 051b296e7f10f0b9859bc2996694add6179efd4e Mon Sep 17 00:00:00 2001 From: balibabu Date: Wed, 12 Aug 2026 15:35:09 +0800 Subject: [PATCH] Fix: Deleting a record from the knowledge base table should remove the corresponding selected record. (#18142) --- .../dataset/dataset/dataset-action-cell.tsx | 15 ++++++-- .../pages/dataset/dataset/dataset-table.tsx | 16 +------- .../dataset/use-dataset-table-columns.tsx | 38 +++---------------- 3 files changed, 17 insertions(+), 52 deletions(-) diff --git a/web/src/pages/dataset/dataset/dataset-action-cell.tsx b/web/src/pages/dataset/dataset/dataset-action-cell.tsx index 296b519ba5..8761d7bce4 100644 --- a/web/src/pages/dataset/dataset/dataset-action-cell.tsx +++ b/web/src/pages/dataset/dataset/dataset-action-cell.tsx @@ -6,6 +6,7 @@ import { HoverCardTrigger, } from '@/components/ui/hover-card'; import { DocumentType } from '@/constants/knowledge'; +import { UseRowSelectionType } from '@/hooks/logic-hooks/use-row-selection'; import { useRemoveDocument } from '@/hooks/use-document-request'; import { IDocumentInfo } from '@/interfaces/database/document'; import { downloadDatasetDocument } from '@/services/file-manager-service'; @@ -13,6 +14,7 @@ import { formatFileSize } from '@/utils/common-util'; import { formatDate } from '@/utils/date'; import { downloadFileFromBlob } from '@/utils/file-util'; import { Download, Eye, PenLine, Trash2 } from 'lucide-react'; +import { omit } from 'lodash'; import { useCallback } from 'react'; import { UseRenameDocumentShowType } from './use-rename-document'; import { isParserRunning } from './utils'; @@ -28,7 +30,9 @@ const FunctionMap = { export function DatasetActionCell({ record, showRenameModal, -}: { record: IDocumentInfo } & UseRenameDocumentShowType) { + setRowSelection, +}: { record: IDocumentInfo } & UseRenameDocumentShowType & + Pick) { const { id, run, type } = record; const isRunning = isParserRunning(run); const isVirtualDocument = type === DocumentType.Virtual; @@ -52,9 +56,12 @@ export function DatasetActionCell({ } }, [id, record.dataset_id, record.name]); - const handleRemove = useCallback(() => { - removeDocument(id); - }, [id, removeDocument]); + const handleRemove = useCallback(async () => { + const code = await removeDocument(id); + if (code === 0) { + setRowSelection((prev) => omit(prev, [id])); + } + }, [id, removeDocument, setRowSelection]); const handleRename = useCallback(() => { showRenameModal(record); diff --git a/web/src/pages/dataset/dataset/dataset-table.tsx b/web/src/pages/dataset/dataset/dataset-table.tsx index 2969b34e64..42b2d60c18 100644 --- a/web/src/pages/dataset/dataset/dataset-table.tsx +++ b/web/src/pages/dataset/dataset/dataset-table.tsx @@ -84,13 +84,6 @@ export function DatasetTable({ initialName, } = useRenameDocument(); - // const { - // hideSetMetaModal, - // setMetaVisible, - // setMetaLoading, - // onSetMetaModalOk, - // metaRecord, - // } = useSaveMeta(); const { showLog, logInfo, logVisible, hideLog } = useShowLog(documents); const columns = useDatasetTableColumns({ @@ -98,6 +91,7 @@ export function DatasetTable({ showRenameModal, showManageMetadataModal, showLog, + setRowSelection, }); const currentPagination = useMemo(() => { @@ -231,14 +225,6 @@ export function DatasetTable({ > )} - {/* {setMetaVisible && ( - - )} */} {logVisible && ( & { showLog: (record: IDocumentInfo) => void; showManageMetadataModal: (config: ShowManageMetadataModalProps) => void; }; @@ -34,6 +36,7 @@ export function useDatasetTableColumns({ showRenameModal, showManageMetadataModal, showLog, + setRowSelection, }: UseDatasetTableColumnsType) { const { t } = useTranslation('translation', { keyPrefix: 'knowledgeDetails', @@ -138,30 +141,6 @@ export function useDatasetTableColumns({ ), }, - /* - { - accessorKey: 'source_from', - header: t('source'), - cell: ({ row }) => ( -
- {row.original.source_type === 'local' || - row.original.source_type === '' ? ( -
- -
- ) : ( -
- { - dataSourceInfo[ - row.original.source_type as keyof typeof dataSourceInfo - ]?.icon - } -
- )} -
- ), - }, - */ { accessorKey: 'status', header: t('enabled'), @@ -199,9 +178,6 @@ export function useDatasetTableColumns({ size="auto" onClick={() => { showManageMetadataModal({ - // metadata: util.JSONToMetaDataTableData( - // row.original.meta_fields || {}, - // ), isEditField: false, isCanAdd: true, isAddValue: true, @@ -212,10 +188,6 @@ export function useDatasetTableColumns({
{t('metadata.editMetadata')}
- {/*
- {t('metadata.editMetadataForDataset')} - {row.original.name} -
*/} ), secondTitle: ( @@ -237,7 +209,6 @@ export function useDatasetTableColumns({ { accessorKey: 'run', header: t('Parse'), - // meta: { cellClassName: 'min-w-[20vw]' }, cell: ({ row }) => { return ( ); },