diff --git a/web/app/components/base/progress-bar/index.tsx b/web/app/components/base/progress-bar/index.tsx
deleted file mode 100644
index 759c9ea846..0000000000
--- a/web/app/components/base/progress-bar/index.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-type ProgressBarProps = {
- percent: number
-}
-const ProgressBar = ({
- percent = 0,
-}: ProgressBarProps) => {
- return (
-
- )
-}
-
-export default ProgressBar
diff --git a/web/app/components/datasets/documents/index.tsx b/web/app/components/datasets/documents/index.tsx
index 6da5ba2e0e..7f690aae25 100644
--- a/web/app/components/datasets/documents/index.tsx
+++ b/web/app/components/datasets/documents/index.tsx
@@ -154,14 +154,14 @@ const Documents: FC = ({ datasetId }) => {
}
}, [debouncedSearchValue, query.keyword, updateQuery])
- const { data: documentsRes, isFetching: isListLoading } = useDocumentList({
+ const { data: documentsRes, isLoading: isListLoading } = useDocumentList({
datasetId,
query: {
page: currPage + 1,
limit,
keyword: debouncedSearchValue,
},
- refetchInterval: (isDataSourceNotion && timerCanRun) ? 2500 : 0,
+ refetchInterval: timerCanRun ? 2500 : 0,
})
const invalidDocumentList = useInvalidDocumentList(datasetId)
@@ -187,10 +187,10 @@ const Documents: FC = ({ datasetId }) => {
}, 5000)
}, [])
- const documentsWithProgress = useMemo(() => {
+ useEffect(() => {
let completedNum = 0
let percent = 0
- const documentsData = documentsRes?.data?.map((documentItem) => {
+ documentsRes?.data?.forEach((documentItem) => {
const { indexing_status, completed_segments, total_segments } = documentItem
const isEmbedded = indexing_status === 'completed' || indexing_status === 'paused' || indexing_status === 'error'
@@ -211,12 +211,7 @@ const Documents: FC = ({ datasetId }) => {
percent,
}
})
- if (completedNum === documentsRes?.data?.length)
- setTimerCanRun(false)
- return {
- ...documentsRes,
- data: documentsData,
- }
+ setTimerCanRun(completedNum !== documentsRes?.data?.length)
}, [documentsRes])
const total = documentsRes?.total || 0
@@ -229,7 +224,7 @@ const Documents: FC = ({ datasetId }) => {
router.push(`/datasets/${datasetId}/documents/create`)
}
- const documentsList = isDataSourceNotion ? documentsWithProgress?.data : documentsRes?.data
+ const documentsList = documentsRes?.data
const [selectedIds, setSelectedIds] = useState([])
// Clear selection when search changes to avoid confusion
diff --git a/web/app/components/datasets/documents/list.tsx b/web/app/components/datasets/documents/list.tsx
index cc3842ed94..60e4a02a75 100644
--- a/web/app/components/datasets/documents/list.tsx
+++ b/web/app/components/datasets/documents/list.tsx
@@ -1,6 +1,6 @@
'use client'
import type { FC } from 'react'
-import React, { useCallback, useEffect, useMemo, useState } from 'react'
+import React, { useCallback, useMemo, useState } from 'react'
import { useBoolean } from 'ahooks'
import { ArrowDownIcon } from '@heroicons/react/24/outline'
import { pick, uniq } from 'lodash-es'
@@ -22,7 +22,6 @@ import type { Item } from '@/app/components/base/select'
import { asyncRunSafe } from '@/utils'
import { formatNumber } from '@/utils/format'
import NotionIcon from '@/app/components/base/notion-icon'
-import ProgressBar from '@/app/components/base/progress-bar'
import type { LegacyDataSourceInfo, LocalFileInfo, OnlineDocumentInfo, OnlineDriveInfo } from '@/models/datasets'
import { ChunkingMode, DataSourceType, DocumentActionType, type SimpleDocumentDetail } from '@/models/datasets'
import type { CommonResponse } from '@/models/common'
@@ -91,7 +90,6 @@ const DocumentList: FC = ({
const chunkingMode = datasetConfig?.doc_form
const isGeneralMode = chunkingMode !== ChunkingMode.parentChild
const isQAMode = chunkingMode === ChunkingMode.qa
- const [localDocs, setLocalDocs] = useState(documents)
const [sortField, setSortField] = useState<'name' | 'word_count' | 'hit_count' | 'created_at' | null>('created_at')
const [sortOrder, setSortOrder] = useState<'asc' | 'desc'>('desc')
@@ -108,7 +106,7 @@ const DocumentList: FC = ({
onUpdate,
})
- useEffect(() => {
+ const localDocs = useMemo(() => {
let filteredDocs = documents
if (statusFilter.value !== 'all') {
@@ -119,10 +117,8 @@ const DocumentList: FC = ({
)
}
- if (!sortField) {
- setLocalDocs(filteredDocs)
- return
- }
+ if (!sortField)
+ return filteredDocs
const sortedDocs = [...filteredDocs].sort((a, b) => {
let aValue: any
@@ -159,7 +155,7 @@ const DocumentList: FC = ({
}
})
- setLocalDocs(sortedDocs)
+ return sortedDocs
}, [documents, sortField, sortOrder, statusFilter])
const handleSort = (field: 'name' | 'word_count' | 'hit_count' | 'created_at') => {
@@ -418,12 +414,7 @@ const DocumentList: FC = ({
{formatTime(doc.created_at, t('datasetHitTesting.dateTimeFormat') as string)}
- {
- (['indexing', 'splitting', 'parsing', 'cleaning'].includes(doc.indexing_status)
- && isOnlineDocument(doc.data_source_type))
- ?
- :
- }
+
|
|