refactor: update CrawledResult and WebsiteCrawl components to handle showPreview prop and adjust previewIndex logic

This commit is contained in:
twwu
2025-07-10 15:43:36 +08:00
parent c39746181d
commit de6867f875
3 changed files with 14 additions and 4 deletions

View File

@ -15,6 +15,7 @@ type CrawledResultProps = {
checkedList: CrawlResultItem[] checkedList: CrawlResultItem[]
onSelectedChange: (selected: CrawlResultItem[]) => void onSelectedChange: (selected: CrawlResultItem[]) => void
onPreview?: (payload: CrawlResultItem, index: number) => void onPreview?: (payload: CrawlResultItem, index: number) => void
showPreview?: boolean
usedTime: number usedTime: number
isMultipleChoice?: boolean isMultipleChoice?: boolean
} }
@ -27,6 +28,7 @@ const CrawledResult = ({
onSelectedChange, onSelectedChange,
usedTime, usedTime,
onPreview, onPreview,
showPreview = false,
isMultipleChoice = true, isMultipleChoice = true,
}: CrawledResultProps) => { }: CrawledResultProps) => {
const { t } = useTranslation() const { t } = useTranslation()
@ -81,7 +83,7 @@ const CrawledResult = ({
onCheckChange={handleItemCheckChange(item)} onCheckChange={handleItemCheckChange(item)}
isPreview={index === previewIndex} isPreview={index === previewIndex}
onPreview={handlePreview.bind(null, index)} onPreview={handlePreview.bind(null, index)}
showPreview={!!onPreview} showPreview={showPreview}
isMultipleChoice={isMultipleChoice} isMultipleChoice={isMultipleChoice}
/> />
))} ))}

View File

@ -73,7 +73,7 @@ const WebsiteCrawl = ({
setCrawlResult(undefined) setCrawlResult(undefined)
setCurrentWebsite(undefined) setCurrentWebsite(undefined)
setWebsitePages([]) setWebsitePages([])
setPreviewIndex(0) setPreviewIndex(-1)
setCrawledNum(0) setCrawledNum(0)
setTotalNum(0) setTotalNum(0)
setCrawlErrorMessage('') setCrawlErrorMessage('')
@ -195,6 +195,7 @@ const WebsiteCrawl = ({
usedTime={Number.parseFloat(crawlResult?.time_consuming as string) || 0} usedTime={Number.parseFloat(crawlResult?.time_consuming as string) || 0}
previewIndex={previewIndex} previewIndex={previewIndex}
onPreview={handlePreview} onPreview={handlePreview}
showPreview={!isInPipeline}
isMultipleChoice={!isInPipeline} // only support single choice in test run isMultipleChoice={!isInPipeline} // only support single choice in test run
/> />
)} )}

View File

@ -315,7 +315,14 @@ const CreateFormPipeline = () => {
}, [dataSourceStore, onClickPreview]) }, [dataSourceStore, onClickPreview])
const handleSelectAll = useCallback(() => { const handleSelectAll = useCallback(() => {
const { setOnlineDocuments, setSelectedFileKeys, setSelectedPagesId } = dataSourceStore.getState() const {
onlineDocuments,
fileList: onlineDriveFileList,
selectedFileKeys,
setOnlineDocuments,
setSelectedFileKeys,
setSelectedPagesId,
} = dataSourceStore.getState()
if (datasourceType === DatasourceType.onlineDocument) { if (datasourceType === DatasourceType.onlineDocument) {
const allIds = currentWorkspace?.pages.map(page => page.page_id) || [] const allIds = currentWorkspace?.pages.map(page => page.page_id) || []
if (onlineDocuments.length < allIds.length) { if (onlineDocuments.length < allIds.length) {
@ -337,7 +344,7 @@ const CreateFormPipeline = () => {
else else
setSelectedFileKeys([]) setSelectedFileKeys([])
} }
}, [PagesMapAndSelectedPagesId, currentWorkspace?.pages, dataSourceStore, datasourceType, onlineDocuments.length, onlineDriveFileList, selectedFileKeys.length]) }, [PagesMapAndSelectedPagesId, currentWorkspace?.pages, dataSourceStore, datasourceType])
if (isFetchingPipelineInfo) { if (isFetchingPipelineInfo) {
return ( return (