|
|
|
@@ -8,12 +8,13 @@ import Loading from '@/app/components/base/loading' |
|
|
|
import ProcessDocuments from './process-documents' |
|
|
|
import LeftHeader from './left-header' |
|
|
|
import { usePipelineExecutionLog, useRunPublishedPipeline } from '@/service/use-pipeline' |
|
|
|
import type { PublishedPipelineRunPreviewResponse } from '@/models/pipeline' |
|
|
|
import { DatasourceType } from '@/models/pipeline' |
|
|
|
import type { OnlineDriveFile, PublishedPipelineRunPreviewResponse } from '@/models/pipeline' |
|
|
|
import { DatasourceType, OnlineDriveFileType } from '@/models/pipeline' |
|
|
|
import { noop } from 'lodash-es' |
|
|
|
import { useDatasetDetailContextWithSelector } from '@/context/dataset-detail' |
|
|
|
import { useRouter } from 'next/navigation' |
|
|
|
import { useInvalidDocumentDetail, useInvalidDocumentList } from '@/service/knowledge/use-document' |
|
|
|
import { isFile } from '../../../create-from-pipeline/data-source/online-drive/utils' |
|
|
|
|
|
|
|
type PipelineSettingsProps = { |
|
|
|
datasetId: string |
|
|
|
@@ -76,6 +77,21 @@ const PipelineSettings = ({ |
|
|
|
return onlineDocuments |
|
|
|
}, [lastRunData]) |
|
|
|
|
|
|
|
const onlineDriveFiles = useMemo(() => { |
|
|
|
const onlineDriveFiles: OnlineDriveFile[] = [] |
|
|
|
if (lastRunData?.datasource_type === DatasourceType.onlineDrive) { |
|
|
|
const { key } = lastRunData.datasource_info |
|
|
|
const isFileType = isFile(key) |
|
|
|
const filePathList = key.split('/') |
|
|
|
onlineDriveFiles.push({ |
|
|
|
key, |
|
|
|
displayName: `${isFileType ? filePathList.pop() : filePathList[filePathList.length - 2]}${isFileType ? '' : '/'}`, |
|
|
|
type: isFileType ? OnlineDriveFileType.file : OnlineDriveFileType.folder, |
|
|
|
}) |
|
|
|
} |
|
|
|
return onlineDriveFiles |
|
|
|
}, [lastRunData]) |
|
|
|
|
|
|
|
const { mutateAsync: runPublishedPipeline, isIdle, isPending } = useRunPublishedPipeline() |
|
|
|
|
|
|
|
const handlePreviewChunks = useCallback(async (data: Record<string, any>) => { |
|
|
|
@@ -117,10 +133,10 @@ const PipelineSettings = ({ |
|
|
|
onSuccess: () => { |
|
|
|
invalidDocumentList() |
|
|
|
invalidDocumentDetail() |
|
|
|
push(`/datasets/${datasetId}/documents/${documentId}`) |
|
|
|
push(`/datasets/${datasetId}/documents`) |
|
|
|
}, |
|
|
|
}) |
|
|
|
}, [datasetId, documentId, invalidDocumentDetail, invalidDocumentList, lastRunData, pipelineId, push, runPublishedPipeline]) |
|
|
|
}, [datasetId, invalidDocumentDetail, invalidDocumentList, lastRunData, pipelineId, push, runPublishedPipeline]) |
|
|
|
|
|
|
|
const onClickProcess = useCallback(() => { |
|
|
|
isPreview.current = false |
|
|
|
@@ -160,6 +176,7 @@ const PipelineSettings = ({ |
|
|
|
onProcess={onClickProcess} |
|
|
|
onPreview={onClickPreview} |
|
|
|
onSubmit={handleSubmit} |
|
|
|
isRunning={isPending} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@@ -169,9 +186,10 @@ const PipelineSettings = ({ |
|
|
|
<div className='flex h-full flex-col pl-2 pt-2'> |
|
|
|
<ChunkPreview |
|
|
|
dataSourceType={lastRunData!.datasource_type} |
|
|
|
files={files} |
|
|
|
localFiles={files} |
|
|
|
onlineDocuments={onlineDocuments} |
|
|
|
websitePages={websitePages} |
|
|
|
onlineDriveFiles={onlineDriveFiles} |
|
|
|
isIdle={isIdle} |
|
|
|
isPending={isPending && isPreview.current} |
|
|
|
estimateData={estimateData} |
|
|
|
@@ -179,6 +197,7 @@ const PipelineSettings = ({ |
|
|
|
handlePreviewFileChange={noop} |
|
|
|
handlePreviewOnlineDocumentChange={noop} |
|
|
|
handlePreviewWebsitePageChange={noop} |
|
|
|
handlePreviewOnlineDriveFileChange={noop} |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |