refactor: update local file and online drive state management in create-from-pipeline components

This commit is contained in:
twwu 2025-08-28 13:47:20 +08:00
parent 843b14ccc6
commit 048feb4165
11 changed files with 65 additions and 60 deletions

View File

@ -32,7 +32,6 @@ const DataSourceOptions = ({
useEffect(() => { useEffect(() => {
if (options.length > 0 && !datasourceNodeId) if (options.length > 0 && !datasourceNodeId)
handelSelect(options[0].value) handelSelect(options[0].value)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []) }, [])
return ( return (

View File

@ -32,7 +32,7 @@ const LocalFile = ({
const { t } = useTranslation() const { t } = useTranslation()
const { notify } = useContext(ToastContext) const { notify } = useContext(ToastContext)
const { locale } = useContext(I18n) const { locale } = useContext(I18n)
const fileList = useDataSourceStoreWithSelector(state => state.localFileList) const localFileList = useDataSourceStoreWithSelector(state => state.localFileList)
const dataSourceStore = useDataSourceStore() const dataSourceStore = useDataSourceStore()
const [dragging, setDragging] = useState(false) const [dragging, setDragging] = useState(false)
@ -41,7 +41,7 @@ const LocalFile = ({
const fileUploader = useRef<HTMLInputElement>(null) const fileUploader = useRef<HTMLInputElement>(null)
const fileListRef = useRef<FileItem[]>([]) const fileListRef = useRef<FileItem[]>([])
const hideUpload = notSupportBatchUpload && fileList.length > 0 const hideUpload = notSupportBatchUpload && localFileList.length > 0
const { data: fileUploadConfigResponse } = useFileUploadConfig() const { data: fileUploadConfigResponse } = useFileUploadConfig()
const supportTypesShowNames = useMemo(() => { const supportTypesShowNames = useMemo(() => {
@ -179,7 +179,7 @@ const LocalFile = ({
if (!files.length) if (!files.length)
return false return false
if (files.length + fileList.length > FILES_NUMBER_LIMIT && !IS_CE_EDITION) { if (files.length + localFileList.length > FILES_NUMBER_LIMIT && !IS_CE_EDITION) {
notify({ type: 'error', message: t('datasetCreation.stepOne.uploader.validation.filesNumber', { filesNumber: FILES_NUMBER_LIMIT }) }) notify({ type: 'error', message: t('datasetCreation.stepOne.uploader.validation.filesNumber', { filesNumber: FILES_NUMBER_LIMIT }) })
return false return false
} }
@ -193,7 +193,7 @@ const LocalFile = ({
updateFileList(newFiles) updateFileList(newFiles)
fileListRef.current = newFiles fileListRef.current = newFiles
uploadMultipleFiles(preparedFiles) uploadMultipleFiles(preparedFiles)
}, [updateFileList, uploadMultipleFiles, notify, t, fileList]) }, [updateFileList, uploadMultipleFiles, notify, t, localFileList])
const handleDragEnter = (e: DragEvent) => { const handleDragEnter = (e: DragEvent) => {
e.preventDefault() e.preventDefault()
@ -297,9 +297,9 @@ const LocalFile = ({
{dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />} {dragging && <div ref={dragRef} className='absolute left-0 top-0 h-full w-full' />}
</div> </div>
)} )}
{fileList.length > 0 && ( {localFileList.length > 0 && (
<div className='mt-1 flex flex-col gap-y-1'> <div className='mt-1 flex flex-col gap-y-1'>
{fileList.map((fileItem, index) => { {localFileList.map((fileItem, index) => {
const isUploading = fileItem.progress >= 0 && fileItem.progress < 100 const isUploading = fileItem.progress >= 0 && fileItem.progress < 100
const isError = fileItem.progress === -2 const isError = fileItem.progress === -2
return ( return (

View File

@ -17,6 +17,7 @@ const Menu = ({
{breadcrumbs.map((breadcrumb, index) => { {breadcrumbs.map((breadcrumb, index) => {
return ( return (
<Item <Item
key={`${breadcrumb}-${index}`}
name={breadcrumb} name={breadcrumb}
index={startIndex + index} index={startIndex + index}
onBreadcrumbClick={onBreadcrumbClick} onBreadcrumbClick={onBreadcrumbClick}

View File

@ -45,8 +45,8 @@ const Breadcrumbs = ({
}, [displayBreadcrumbNum, breadcrumbs]) }, [displayBreadcrumbNum, breadcrumbs])
const handleBackToBucketList = useCallback(() => { const handleBackToBucketList = useCallback(() => {
const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix, setBucket } = dataSourceStore.getState() const { setOnlineDriveFileList, setSelectedFileIds, setBreadcrumbs, setPrefix, setBucket } = dataSourceStore.getState()
setFileList([]) setOnlineDriveFileList([])
setSelectedFileIds([]) setSelectedFileIds([])
setBucket('') setBucket('')
setBreadcrumbs([]) setBreadcrumbs([])
@ -54,26 +54,26 @@ const Breadcrumbs = ({
}, [dataSourceStore]) }, [dataSourceStore])
const handleClickBucketName = useCallback(() => { const handleClickBucketName = useCallback(() => {
const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() const { setOnlineDriveFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState()
setFileList([]) setOnlineDriveFileList([])
setSelectedFileIds([]) setSelectedFileIds([])
setBreadcrumbs([]) setBreadcrumbs([])
setPrefix([]) setPrefix([])
}, [dataSourceStore]) }, [dataSourceStore])
const handleBackToRoot = useCallback(() => { const handleBackToRoot = useCallback(() => {
const { setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() const { setOnlineDriveFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState()
setFileList([]) setOnlineDriveFileList([])
setSelectedFileIds([]) setSelectedFileIds([])
setBreadcrumbs([]) setBreadcrumbs([])
setPrefix([]) setPrefix([])
}, [dataSourceStore]) }, [dataSourceStore])
const handleClickBreadcrumb = useCallback((index: number) => { const handleClickBreadcrumb = useCallback((index: number) => {
const { breadcrumbs, prefix, setFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState() const { breadcrumbs, prefix, setOnlineDriveFileList, setSelectedFileIds, setBreadcrumbs, setPrefix } = dataSourceStore.getState()
const newBreadcrumbs = breadcrumbs.slice(0, index + 1) const newBreadcrumbs = breadcrumbs.slice(0, index + 1)
const newPrefix = prefix.slice(0, index + 1) const newPrefix = prefix.slice(0, index + 1)
setFileList([]) setOnlineDriveFileList([])
setSelectedFileIds([]) setSelectedFileIds([])
setBreadcrumbs(newBreadcrumbs) setBreadcrumbs(newBreadcrumbs)
setPrefix(newPrefix) setPrefix(newPrefix)

View File

@ -1,6 +1,6 @@
import type { DataSourceNodeType } from '@/app/components/workflow/nodes/data-source/types' import type { DataSourceNodeType } from '@/app/components/workflow/nodes/data-source/types'
import Header from '../base/header' import Header from '../base/header'
import { useCallback, useEffect, useMemo, useState } from 'react' import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import FileList from './file-list' import FileList from './file-list'
import type { OnlineDriveFile } from '@/models/pipeline' import type { OnlineDriveFile } from '@/models/pipeline'
import { DatasourceType, OnlineDriveFileType } from '@/models/pipeline' import { DatasourceType, OnlineDriveFileType } from '@/models/pipeline'
@ -38,7 +38,7 @@ const OnlineDrive = ({
keywords, keywords,
bucket, bucket,
selectedFileIds, selectedFileIds,
fileList, onlineDriveFileList,
currentCredentialId, currentCredentialId,
} = useDataSourceStoreWithSelector(useShallow(state => ({ } = useDataSourceStoreWithSelector(useShallow(state => ({
nextPageParameters: state.nextPageParameters, nextPageParameters: state.nextPageParameters,
@ -47,11 +47,12 @@ const OnlineDrive = ({
keywords: state.keywords, keywords: state.keywords,
bucket: state.bucket, bucket: state.bucket,
selectedFileIds: state.selectedFileIds, selectedFileIds: state.selectedFileIds,
fileList: state.fileList, onlineDriveFileList: state.onlineDriveFileList,
currentCredentialId: state.currentCredentialId, currentCredentialId: state.currentCredentialId,
}))) })))
const dataSourceStore = useDataSourceStore() const dataSourceStore = useDataSourceStore()
const [isLoading, setIsLoading] = useState(false) const [isLoading, setIsLoading] = useState(false)
const isLoadingRef = useRef(false)
const { data: dataSourceAuth } = useGetDataSourceAuth({ const { data: dataSourceAuth } = useGetDataSourceAuth({
pluginId: nodeData.plugin_id, pluginId: nodeData.plugin_id,
@ -63,8 +64,10 @@ const OnlineDrive = ({
: `/rag/pipelines/${pipelineId}/workflows/draft/datasource/nodes/${nodeId}/run` : `/rag/pipelines/${pipelineId}/workflows/draft/datasource/nodes/${nodeId}/run`
const getOnlineDriveFiles = useCallback(async () => { const getOnlineDriveFiles = useCallback(async () => {
const { nextPageParameters, prefix, bucket, fileList, currentCredentialId } = dataSourceStore.getState() if (isLoadingRef.current) return
const { nextPageParameters, prefix, bucket, onlineDriveFileList, currentCredentialId } = dataSourceStore.getState()
setIsLoading(true) setIsLoading(true)
isLoadingRef.current = true
ssePost( ssePost(
datasourceNodeRunURL, datasourceNodeRunURL,
{ {
@ -81,18 +84,19 @@ const OnlineDrive = ({
}, },
{ {
onDataSourceNodeCompleted: (documentsData: DataSourceNodeCompletedResponse) => { onDataSourceNodeCompleted: (documentsData: DataSourceNodeCompletedResponse) => {
const { setFileList, isTruncated, currentNextPageParametersRef, setHasBucket } = dataSourceStore.getState() const { setOnlineDriveFileList, isTruncated, currentNextPageParametersRef, setHasBucket } = dataSourceStore.getState()
const { const {
fileList: newFileList, fileList: newFileList,
isTruncated: newIsTruncated, isTruncated: newIsTruncated,
nextPageParameters: newNextPageParameters, nextPageParameters: newNextPageParameters,
hasBucket: newHasBucket, hasBucket: newHasBucket,
} = convertOnlineDriveData(documentsData.data, breadcrumbs, bucket) } = convertOnlineDriveData(documentsData.data, breadcrumbs, bucket)
setFileList([...fileList, ...newFileList]) setOnlineDriveFileList([...onlineDriveFileList, ...newFileList])
isTruncated.current = newIsTruncated isTruncated.current = newIsTruncated
currentNextPageParametersRef.current = newNextPageParameters currentNextPageParametersRef.current = newNextPageParameters
setHasBucket(newHasBucket) setHasBucket(newHasBucket)
setIsLoading(false) setIsLoading(false)
isLoadingRef.current = false
}, },
onDataSourceNodeError: (error: DataSourceNodeErrorResponse) => { onDataSourceNodeError: (error: DataSourceNodeErrorResponse) => {
Toast.notify({ Toast.notify({
@ -100,6 +104,7 @@ const OnlineDrive = ({
message: error.error, message: error.error,
}) })
setIsLoading(false) setIsLoading(false)
isLoadingRef.current = false
}, },
}, },
) )
@ -109,7 +114,7 @@ const OnlineDrive = ({
if (!currentCredentialId) return if (!currentCredentialId) return
if (isInitialMount) { if (isInitialMount) {
// Only fetch files on initial mount if fileList is empty // Only fetch files on initial mount if fileList is empty
if (fileList.length === 0) if (onlineDriveFileList.length === 0)
getOnlineDriveFiles() getOnlineDriveFiles()
setIsInitialMount(false) setIsInitialMount(false)
} }
@ -118,11 +123,11 @@ const OnlineDrive = ({
} }
}, [nextPageParameters, prefix, bucket, currentCredentialId]) }, [nextPageParameters, prefix, bucket, currentCredentialId])
const onlineDriveFileList = useMemo(() => { const filteredOnlineDriveFileList = useMemo(() => {
if (keywords) if (keywords)
return fileList.filter(file => file.name.toLowerCase().includes(keywords.toLowerCase())) return onlineDriveFileList.filter(file => file.name.toLowerCase().includes(keywords.toLowerCase()))
return fileList return onlineDriveFileList
}, [fileList, keywords]) }, [onlineDriveFileList, keywords])
const updateKeywords = useCallback((keywords: string) => { const updateKeywords = useCallback((keywords: string) => {
const { setKeywords } = dataSourceStore.getState() const { setKeywords } = dataSourceStore.getState()
@ -152,9 +157,9 @@ const OnlineDrive = ({
}, [dataSourceStore, isInPipeline]) }, [dataSourceStore, isInPipeline])
const handleOpenFolder = useCallback((file: OnlineDriveFile) => { const handleOpenFolder = useCallback((file: OnlineDriveFile) => {
const { breadcrumbs, setBreadcrumbs, setPrefix, setBucket, setFileList, setSelectedFileIds } = dataSourceStore.getState() const { breadcrumbs, prefix, setBreadcrumbs, setPrefix, setBucket, setOnlineDriveFileList, setSelectedFileIds } = dataSourceStore.getState()
if (file.type === OnlineDriveFileType.file) return if (file.type === OnlineDriveFileType.file) return
setFileList([]) setOnlineDriveFileList([])
if (file.type === OnlineDriveFileType.bucket) { if (file.type === OnlineDriveFileType.bucket) {
setBucket(file.name) setBucket(file.name)
} }
@ -189,14 +194,14 @@ const OnlineDrive = ({
credentials={dataSourceAuth?.result || []} credentials={dataSourceAuth?.result || []}
/> />
<FileList <FileList
fileList={onlineDriveFileList} fileList={filteredOnlineDriveFileList}
selectedFileIds={selectedFileIds} selectedFileIds={selectedFileIds}
breadcrumbs={breadcrumbs} breadcrumbs={breadcrumbs}
keywords={keywords} keywords={keywords}
bucket={bucket} bucket={bucket}
resetKeywords={resetKeywords} resetKeywords={resetKeywords}
updateKeywords={updateKeywords} updateKeywords={updateKeywords}
searchResultsLength={onlineDriveFileList.length} searchResultsLength={filteredOnlineDriveFileList.length}
handleSelectFile={handleSelectFile} handleSelectFile={handleSelectFile}
handleOpenFolder={handleOpenFolder} handleOpenFolder={handleOpenFolder}
isInPipeline={isInPipeline} isInPipeline={isInPipeline}

View File

@ -10,8 +10,8 @@ export type OnlineDriveSliceShape = {
setKeywords: (keywords: string) => void setKeywords: (keywords: string) => void
selectedFileIds: string[] selectedFileIds: string[]
setSelectedFileIds: (selectedFileIds: string[]) => void setSelectedFileIds: (selectedFileIds: string[]) => void
fileList: OnlineDriveFile[] onlineDriveFileList: OnlineDriveFile[]
setFileList: (fileList: OnlineDriveFile[]) => void setOnlineDriveFileList: (onlineDriveFileList: OnlineDriveFile[]) => void
bucket: string bucket: string
setBucket: (bucket: string) => void setBucket: (bucket: string) => void
nextPageParameters: Record<string, any> nextPageParameters: Record<string, any>
@ -43,12 +43,12 @@ export const createOnlineDriveSlice: StateCreator<OnlineDriveSliceShape> = (set,
selectedFileIds, selectedFileIds,
})) }))
const id = selectedFileIds[0] const id = selectedFileIds[0]
const { fileList, previewOnlineDriveFileRef } = get() const { onlineDriveFileList, previewOnlineDriveFileRef } = get()
previewOnlineDriveFileRef.current = fileList.find(file => file.id === id) previewOnlineDriveFileRef.current = onlineDriveFileList.find(file => file.id === id)
}, },
fileList: [], onlineDriveFileList: [],
setFileList: (fileList: OnlineDriveFile[]) => set(() => ({ setOnlineDriveFileList: (onlineDriveFileList: OnlineDriveFile[]) => set(() => ({
fileList, onlineDriveFileList,
})), })),
bucket: '', bucket: '',
setBucket: (bucket: string) => set(() => ({ setBucket: (bucket: string) => set(() => ({

View File

@ -65,7 +65,7 @@ export const useDatasourceOptions = (pipelineNodes: Node<DataSourceNodeType>[])
export const useLocalFile = () => { export const useLocalFile = () => {
const { const {
localFileList: fileList, localFileList,
currentLocalFile, currentLocalFile,
} = useDataSourceStoreWithSelector(useShallow(state => ({ } = useDataSourceStoreWithSelector(useShallow(state => ({
localFileList: state.localFileList, localFileList: state.localFileList,
@ -73,7 +73,7 @@ export const useLocalFile = () => {
}))) })))
const dataSourceStore = useDataSourceStore() const dataSourceStore = useDataSourceStore()
const allFileLoaded = useMemo(() => (fileList.length > 0 && fileList.every(file => file.file.id)), [fileList]) const allFileLoaded = useMemo(() => (localFileList.length > 0 && localFileList.every(file => file.file.id)), [localFileList])
const hidePreviewLocalFile = useCallback(() => { const hidePreviewLocalFile = useCallback(() => {
const { setCurrentLocalFile } = dataSourceStore.getState() const { setCurrentLocalFile } = dataSourceStore.getState()
@ -81,7 +81,7 @@ export const useLocalFile = () => {
}, [dataSourceStore]) }, [dataSourceStore])
return { return {
fileList, localFileList,
allFileLoaded, allFileLoaded,
currentLocalFile, currentLocalFile,
hidePreviewLocalFile, hidePreviewLocalFile,
@ -187,27 +187,27 @@ export const useWebsiteCrawl = () => {
export const useOnlineDrive = () => { export const useOnlineDrive = () => {
const { const {
fileList, onlineDriveFileList,
selectedFileIds, selectedFileIds,
} = useDataSourceStoreWithSelector(useShallow(state => ({ } = useDataSourceStoreWithSelector(useShallow(state => ({
fileList: state.fileList, onlineDriveFileList: state.onlineDriveFileList,
selectedFileIds: state.selectedFileIds, selectedFileIds: state.selectedFileIds,
}))) })))
const dataSourceStore = useDataSourceStore() const dataSourceStore = useDataSourceStore()
const selectedOnlineDriveFileList = useMemo(() => { const selectedOnlineDriveFileList = useMemo(() => {
return selectedFileIds.map(key => fileList.find(item => item.id === key)!) return selectedFileIds.map(key => onlineDriveFileList.find(item => item.id === key)!)
}, [fileList, selectedFileIds]) }, [onlineDriveFileList, selectedFileIds])
const clearOnlineDriveData = useCallback(() => { const clearOnlineDriveData = useCallback(() => {
const { const {
setFileList, setOnlineDriveFileList,
setBucket, setBucket,
setPrefix, setPrefix,
setKeywords, setKeywords,
setSelectedFileIds, setSelectedFileIds,
} = dataSourceStore.getState() } = dataSourceStore.getState()
setFileList([]) setOnlineDriveFileList([])
setBucket('') setBucket('')
setPrefix([]) setPrefix([])
setKeywords('') setKeywords('')
@ -215,7 +215,7 @@ export const useOnlineDrive = () => {
}, [dataSourceStore]) }, [dataSourceStore])
return { return {
fileList, onlineDriveFileList,
selectedFileIds, selectedFileIds,
selectedOnlineDriveFileList, selectedOnlineDriveFileList,
clearOnlineDriveData, clearOnlineDriveData,

View File

@ -61,7 +61,7 @@ const CreateFormPipeline = () => {
handleBackStep, handleBackStep,
} = useAddDocumentsSteps() } = useAddDocumentsSteps()
const { const {
fileList, localFileList,
allFileLoaded, allFileLoaded,
currentLocalFile, currentLocalFile,
hidePreviewLocalFile, hidePreviewLocalFile,
@ -81,7 +81,7 @@ const CreateFormPipeline = () => {
clearWebsiteCrawlData, clearWebsiteCrawlData,
} = useWebsiteCrawl() } = useWebsiteCrawl()
const { const {
fileList: onlineDriveFileList, onlineDriveFileList,
selectedFileIds, selectedFileIds,
selectedOnlineDriveFileList, selectedOnlineDriveFileList,
clearOnlineDriveData, clearOnlineDriveData,
@ -107,7 +107,7 @@ const CreateFormPipeline = () => {
const nextBtnDisabled = useMemo(() => { const nextBtnDisabled = useMemo(() => {
if (!datasource) return true if (!datasource) return true
if (datasourceType === DatasourceType.localFile) if (datasourceType === DatasourceType.localFile)
return isShowVectorSpaceFull || !fileList.length || !allFileLoaded return isShowVectorSpaceFull || !localFileList.length || !allFileLoaded
if (datasourceType === DatasourceType.onlineDocument) if (datasourceType === DatasourceType.onlineDocument)
return isShowVectorSpaceFull || !onlineDocuments.length return isShowVectorSpaceFull || !onlineDocuments.length
if (datasourceType === DatasourceType.websiteCrawl) if (datasourceType === DatasourceType.websiteCrawl)
@ -115,7 +115,7 @@ const CreateFormPipeline = () => {
if (datasourceType === DatasourceType.onlineDrive) if (datasourceType === DatasourceType.onlineDrive)
return isShowVectorSpaceFull || !selectedFileIds.length return isShowVectorSpaceFull || !selectedFileIds.length
return false return false
}, [datasource, datasourceType, isShowVectorSpaceFull, fileList.length, allFileLoaded, onlineDocuments.length, websitePages.length, selectedFileIds.length]) }, [datasource, datasourceType, isShowVectorSpaceFull, localFileList.length, allFileLoaded, onlineDocuments.length, websitePages.length, selectedFileIds.length])
const fileUploadConfig = useMemo(() => fileUploadConfigResponse ?? { const fileUploadConfig = useMemo(() => fileUploadConfigResponse ?? {
file_size_limit: 15, file_size_limit: 15,
@ -285,7 +285,7 @@ const CreateFormPipeline = () => {
const { const {
bucket, bucket,
selectedFileIds, selectedFileIds,
fileList: onlineDriveFileList, onlineDriveFileList,
} = dataSourceStore.getState() } = dataSourceStore.getState()
selectedFileIds.forEach((id) => { selectedFileIds.forEach((id) => {
const file = onlineDriveFileList.find(file => file.id === id) const file = onlineDriveFileList.find(file => file.id === id)
@ -354,7 +354,7 @@ const CreateFormPipeline = () => {
const handleSelectAll = useCallback(() => { const handleSelectAll = useCallback(() => {
const { const {
onlineDocuments, onlineDocuments,
fileList: onlineDriveFileList, onlineDriveFileList,
selectedFileIds, selectedFileIds,
setOnlineDocuments, setOnlineDocuments,
setSelectedFileIds, setSelectedFileIds,
@ -535,7 +535,7 @@ const CreateFormPipeline = () => {
<div className='flex h-full flex-col pl-2 pt-2'> <div className='flex h-full flex-col pl-2 pt-2'>
<ChunkPreview <ChunkPreview
dataSourceType={datasourceType as DatasourceType} dataSourceType={datasourceType as DatasourceType}
localFiles={fileList.map(file => file.file)} localFiles={localFileList.map(file => file.file)}
onlineDocuments={onlineDocuments} onlineDocuments={onlineDocuments}
websitePages={websitePages} websitePages={websitePages}
onlineDriveFiles={selectedOnlineDriveFileList} onlineDriveFiles={selectedOnlineDriveFileList}

View File

@ -110,13 +110,13 @@ export const useOnlineDrive = () => {
const clearOnlineDriveData = useCallback(() => { const clearOnlineDriveData = useCallback(() => {
const { const {
setFileList, setOnlineDriveFileList,
setBucket, setBucket,
setPrefix, setPrefix,
setKeywords, setKeywords,
setSelectedFileIds, setSelectedFileIds,
} = dataSourceStore.getState() } = dataSourceStore.getState()
setFileList([]) setOnlineDriveFileList([])
setBucket('') setBucket('')
setPrefix([]) setPrefix([])
setKeywords('') setKeywords('')

View File

@ -104,8 +104,8 @@ const Preparation = () => {
}) })
} }
if (datasourceType === DatasourceType.onlineDrive) { if (datasourceType === DatasourceType.onlineDrive) {
const { bucket, fileList, selectedFileIds } = dataSourceStore.getState() const { bucket, onlineDriveFileList, selectedFileIds } = dataSourceStore.getState()
const file = fileList.find(file => file.id === selectedFileIds[0]) const file = onlineDriveFileList.find(file => file.id === selectedFileIds[0])
datasourceInfoList.push({ datasourceInfoList.push({
bucket, bucket,
id: file?.id, id: file?.id,

View File

@ -110,8 +110,8 @@ const useBeforeRunForm = ({
} }
} }
if (datasourceType === DatasourceType.onlineDrive) { if (datasourceType === DatasourceType.onlineDrive) {
const { bucket, fileList, selectedFileIds } = dataSourceStore.getState() const { bucket, onlineDriveFileList, selectedFileIds } = dataSourceStore.getState()
const file = fileList.find(file => file.id === selectedFileIds[0]) const file = onlineDriveFileList.find(file => file.id === selectedFileIds[0])
datasourceInfo = { datasourceInfo = {
bucket, bucket,
id: file?.id, id: file?.id,