diff --git a/web/app/components/datasets/documents/list.tsx b/web/app/components/datasets/documents/list.tsx index ff45a8ea83..7e11b7567e 100644 --- a/web/app/components/datasets/documents/list.tsx +++ b/web/app/components/datasets/documents/list.tsx @@ -88,7 +88,7 @@ const DocumentList: FC = ({ const { t } = useTranslation() const { formatTime } = useTimestamp() const router = useRouter() - const [datasetConfig] = useDatasetDetailContext(s => [s.dataset]) + const datasetConfig = useDatasetDetailContext(s => s.dataset) const chunkingMode = datasetConfig?.doc_form const isGeneralMode = chunkingMode !== ChunkingMode.parentChild const isQAMode = chunkingMode === ChunkingMode.qa @@ -261,35 +261,35 @@ const DocumentList: FC = ({ return parts[parts.length - 1].toLowerCase() }, []) - const isCreateFromRAGPipeline = useCallback((createFrom: string) => { - return createFrom === 'rag-pipeline' - }, []) + const isCreateFromRAGPipeline = useMemo(() => { + return datasetConfig?.runtime_mode === 'rag_pipeline' + }, [datasetConfig?.runtime_mode]) /** * Calculate the data source type * DataSourceType: FILE, NOTION, WEB (legacy) * DatasourceType: localFile, onlineDocument, websiteCrawl, onlineDrive (new) */ - const isLocalFile = useCallback((dataSourceType: DataSourceType | DatasourceType, createFrom: string) => { - if (createFrom === 'rag-pipeline') + const isLocalFile = useCallback((dataSourceType: DataSourceType | DatasourceType) => { + if (isCreateFromRAGPipeline) return dataSourceType === DatasourceType.localFile return dataSourceType === DataSourceType.FILE - }, []) - const isOnlineDocument = useCallback((dataSourceType: DataSourceType | DatasourceType, createFrom: string) => { - if (createFrom === 'rag-pipeline') + }, [isCreateFromRAGPipeline]) + const isOnlineDocument = useCallback((dataSourceType: DataSourceType | DatasourceType) => { + if (isCreateFromRAGPipeline) return dataSourceType === DatasourceType.onlineDocument return dataSourceType === DataSourceType.NOTION - }, []) - const isWebsiteCrawl = useCallback((dataSourceType: DataSourceType | DatasourceType, createFrom: string) => { - if (createFrom === 'rag-pipeline') + }, [isCreateFromRAGPipeline]) + const isWebsiteCrawl = useCallback((dataSourceType: DataSourceType | DatasourceType) => { + if (isCreateFromRAGPipeline) return dataSourceType === DatasourceType.websiteCrawl return dataSourceType === DataSourceType.WEB - }, []) - const isOnlineDrive = useCallback((dataSourceType: DataSourceType | DatasourceType, createFrom: string) => { - if (createFrom === 'rag-pipeline') + }, [isCreateFromRAGPipeline]) + const isOnlineDrive = useCallback((dataSourceType: DataSourceType | DatasourceType) => { + if (isCreateFromRAGPipeline) return dataSourceType === DatasourceType.onlineDrive return false - }, []) + }, [isCreateFromRAGPipeline]) return (
@@ -329,8 +329,7 @@ const DocumentList: FC = ({ {localDocs.map((doc, index) => { - const isFile = isLocalFile(doc.data_source_type, doc.created_from) - const createFromRAGPipeline = isCreateFromRAGPipeline(doc.created_from) + const isFile = isLocalFile(doc.data_source_type) const fileType = isFile ? doc.data_source_detail_dict?.upload_file?.extension : '' return = ({
- {isOnlineDocument(doc.data_source_type, doc.created_from) && ( + {isOnlineDocument(doc.data_source_type) && ( )} - {isLocalFile(doc.data_source_type, doc.created_from) && ( + {isLocalFile(doc.data_source_type) && ( = ({ className='mr-1.5' /> )} - {isOnlineDrive(doc.data_source_type, doc.created_from) && ( + {isOnlineDrive(doc.data_source_type) && ( = ({ className='mr-1.5' /> )} - {isWebsiteCrawl(doc.data_source_type, doc.created_from) && ( + {isWebsiteCrawl(doc.data_source_type) && ( )}
@@ -430,7 +429,7 @@ const DocumentList: FC = ({ { (['indexing', 'splitting', 'parsing', 'cleaning'].includes(doc.indexing_status) - && isOnlineDocument(doc.data_source_type, doc.created_from)) + && isOnlineDocument(doc.data_source_type)) ? : }