fix: data source web & notion

pull/12097/head
AkaraChen 1 year ago
parent ac24163fb9
commit 3f1b92a23f

@ -174,7 +174,20 @@ const StepTwo = ({
) )
const [previewFile, setPreviewFile] = useState<DocumentItem>( const [previewFile, setPreviewFile] = useState<DocumentItem>(
(datasetId && documentDetail) ? documentDetail.file : files[0], (datasetId && documentDetail)
? documentDetail.file
: files[0],
)
const [previewNotionPage, setPreviewNotionPage] = useState<NotionPage>(
(datasetId && documentDetail)
? documentDetail.notion_page
: notionPages[0],
)
const [previewWebsitePage, setPreviewWebsitePage] = useState<CrawlResultItem>(
(datasetId && documentDetail)
? documentDetail.website_page
: websitePages[0],
) )
// QA Related // QA Related
@ -252,7 +265,7 @@ const StepTwo = ({
docForm, docForm,
docLanguage, docLanguage,
dataSourceType: DataSourceType.NOTION, dataSourceType: DataSourceType.NOTION,
notionPages, notionPages: [previewNotionPage],
indexingTechnique: getIndexing_technique() as any, indexingTechnique: getIndexing_technique() as any,
processRule: getProcessRule(), processRule: getProcessRule(),
dataset_id: datasetId || '', dataset_id: datasetId || '',
@ -262,7 +275,7 @@ const StepTwo = ({
docForm, docForm,
docLanguage, docLanguage,
dataSourceType: DataSourceType.WEB, dataSourceType: DataSourceType.WEB,
websitePages, websitePages: [previewWebsitePage],
crawlOptions, crawlOptions,
websiteCrawlProvider, websiteCrawlProvider,
websiteCrawlJobId, websiteCrawlJobId,
@ -992,21 +1005,67 @@ const StepTwo = ({
title='Preview' title='Preview'
> >
<div className='flex items-center gap-2'> <div className='flex items-center gap-2'>
{files.length && <> {dataSourceType === DataSourceType.FILE
<PreviewDocumentPicker && <PreviewDocumentPicker
files={files as Array<Required<CustomFile>>} files={files as Array<Required<CustomFile>>}
onChange={(selected) => { onChange={(selected) => {
currentEstimateMutation.reset() currentEstimateMutation.reset()
setPreviewFile(selected) setPreviewFile(selected)
currentEstimateMutation.mutate() currentEstimateMutation.mutate()
}} }}
value={previewFile!} value={previewFile}
/>
}
{dataSourceType === DataSourceType.NOTION
&& <PreviewDocumentPicker
files={
notionPages.map(page => ({
id: page.page_id,
name: page.page_name,
extension: 'md',
}))
}
onChange={(selected) => {
currentEstimateMutation.reset()
const selectedPage = notionPages.find(page => page.page_id === selected.id)
setPreviewNotionPage(selectedPage!)
currentEstimateMutation.mutate()
}}
value={{
id: previewNotionPage?.page_id || '',
name: previewNotionPage?.page_name || '',
extension: 'md',
}}
/>
}
{dataSourceType === DataSourceType.WEB
&& <PreviewDocumentPicker
files={
websitePages.map(page => ({
id: page.source_url,
name: page.title,
extension: 'md',
}))
}
onChange={(selected) => {
currentEstimateMutation.reset()
const selectedPage = websitePages.find(page => page.source_url === selected.id)
setPreviewWebsitePage(selectedPage!)
currentEstimateMutation.mutate()
}}
value={
{
id: previewWebsitePage?.source_url || '',
name: previewWebsitePage?.title || '',
extension: 'md',
}
}
/> />
}
<Badge text={t( <Badge text={t(
'datasetCreation.stepTwo.previewChunkCount', { 'datasetCreation.stepTwo.previewChunkCount', {
count: estimate?.preview.length || estimate?.qa_preview?.length || 0, count: estimate?.preview.length || estimate?.qa_preview?.length || 0,
}) as string} /> }) as string} />
</>}
</div> </div>
</PreviewHeader>} </PreviewHeader>}
className={cn(s.previewWrap, isMobile && s.isMobile, 'relative h-full overflow-y-scroll')} className={cn(s.previewWrap, isMobile && s.isMobile, 'relative h-full overflow-y-scroll')}

Loading…
Cancel
Save