diff --git a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-documents/index.tsx b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-documents/index.tsx index 944752fc04..92fe6f2e19 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-documents/index.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-documents/index.tsx @@ -70,7 +70,6 @@ const OnlineDocuments = ({ const getOnlineDocuments = useCallback(async () => { const { currentCredentialId } = dataSourceStore.getState() - if (!currentCredentialId) return ssePost( datasourceNodeRunURL, { @@ -96,6 +95,7 @@ const OnlineDocuments = ({ }, [dataSourceStore, datasourceNodeRunURL]) useEffect(() => { + if (!currentCredentialId) return getOnlineDocuments() }, [currentCredentialId]) diff --git a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/drive.tsx b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/drive.tsx index b7115616bb..096dc5c232 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/drive.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/drive.tsx @@ -3,12 +3,12 @@ import cn from '@/utils/classnames' import { useTranslation } from 'react-i18next' type DriveProps = { - prefix: string[] + breadcrumbs: string[] handleBackToRoot: () => void } const Drive = ({ - prefix, + breadcrumbs, handleBackToRoot, }: DriveProps) => { const { t } = useTranslation() @@ -19,15 +19,15 @@ const Drive = ({ type='button' className={cn( 'max-w-full shrink truncate rounded-md px-[5px] py-1', - prefix.length > 0 && 'system-sm-regular text-text-tertiary hover:bg-state-base-hover', - prefix.length === 0 && 'system-sm-medium text-text-secondary', + breadcrumbs.length > 0 && 'system-sm-regular text-text-tertiary hover:bg-state-base-hover', + breadcrumbs.length === 0 && 'system-sm-medium text-text-secondary', )} onClick={handleBackToRoot} - disabled={prefix.length === 0} + disabled={breadcrumbs.length === 0} > {t('datasetPipeline.onlineDrive.breadcrumbs.allFiles')} - {prefix.length > 0 && /} + {breadcrumbs.length > 0 && /} > ) } diff --git a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/index.tsx b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/index.tsx index 52d9846617..0b017bb992 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/index.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/index.tsx @@ -7,7 +7,7 @@ import Dropdown from './dropdown' import Drive from './drive' type BreadcrumbsProps = { - prefix: string[] + breadcrumbs: string[] keywords: string bucket: string searchResultsLength: number @@ -15,7 +15,7 @@ type BreadcrumbsProps = { } const Breadcrumbs = ({ - prefix, + breadcrumbs, keywords, bucket, searchResultsLength, @@ -25,52 +25,57 @@ const Breadcrumbs = ({ const dataSourceStore = useDataSourceStore() const hasBucket = useDataSourceStoreWithSelector(s => s.hasBucket) const showSearchResult = !!keywords && searchResultsLength > 0 - const showBucketListTitle = prefix.length === 0 && hasBucket && bucket === '' + const showBucketListTitle = breadcrumbs.length === 0 && hasBucket && bucket === '' const displayBreadcrumbNum = useMemo(() => { const num = isInPipeline ? 2 : 3 return bucket ? num - 1 : num }, [isInPipeline, bucket]) - const breadcrumbs = useMemo(() => { - const prefixToDisplay = prefix.slice(0, displayBreadcrumbNum - 1) - const collapsedBreadcrumbs = prefix.slice(displayBreadcrumbNum - 1, prefix.length - 1) + const breadcrumbsConfig = useMemo(() => { + const prefixToDisplay = breadcrumbs.slice(0, displayBreadcrumbNum - 1) + const collapsedBreadcrumbs = breadcrumbs.slice(displayBreadcrumbNum - 1, breadcrumbs.length - 1) return { - original: prefix, - needCollapsed: prefix.length > displayBreadcrumbNum, + original: breadcrumbs, + needCollapsed: breadcrumbs.length > displayBreadcrumbNum, prefixBreadcrumbs: prefixToDisplay, collapsedBreadcrumbs, - lastBreadcrumb: prefix[prefix.length - 1], + lastBreadcrumb: breadcrumbs[breadcrumbs.length - 1], } - }, [displayBreadcrumbNum, prefix]) + }, [displayBreadcrumbNum, breadcrumbs]) const handleBackToBucketList = useCallback(() => { - const { setFileList, setSelectedFileIds, setPrefix, setBucket } = dataSourceStore.getState() + const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix, setBucket } = dataSourceStore.getState() setFileList([]) setSelectedFileIds([]) setBucket('') + setBreadcrumbs([]) setPrefix([]) }, [dataSourceStore]) const handleClickBucketName = useCallback(() => { - const { setFileList, setSelectedFileIds, setPrefix } = dataSourceStore.getState() + const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() setFileList([]) setSelectedFileIds([]) + setBreadcrumbs([]) setPrefix([]) }, [dataSourceStore]) const handleBackToRoot = useCallback(() => { - const { setFileList, setSelectedFileIds, setPrefix } = dataSourceStore.getState() + const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() setFileList([]) setSelectedFileIds([]) + setBreadcrumbs([]) setPrefix([]) }, [dataSourceStore]) const handleClickBreadcrumb = useCallback((index: number) => { - const { prefix, setFileList, setSelectedFileIds, setPrefix } = dataSourceStore.getState() + const { breadcrumbs, prefix, setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() + const newBreadcrumbs = breadcrumbs.slice(0, index + 1) const newPrefix = prefix.slice(0, index + 1) setFileList([]) setSelectedFileIds([]) + setBreadcrumbs(newBreadcrumbs) setPrefix(newPrefix) }, [dataSourceStore]) @@ -80,7 +85,7 @@ const Breadcrumbs = ({