|
@@ -107,6 +107,7 @@ const StepTwo = ({
|
|
|
const fileIndexingEstimate = (() => {
|
|
|
return segmentationType === SegmentType.AUTO ? automaticFileIndexingEstimate : customFileIndexingEstimate
|
|
|
})()
|
|
|
+ const [isCreating, setIsCreating] = useState(false)
|
|
|
|
|
|
const scrollHandle = (e: Event) => {
|
|
|
if ((e.target as HTMLDivElement).scrollTop > 0)
|
|
@@ -277,7 +278,7 @@ const StepTwo = ({
|
|
|
} as CreateDocumentReq
|
|
|
if (dataSourceType === DataSourceType.FILE) {
|
|
|
params.data_source.info_list.file_info_list = {
|
|
|
- file_ids: files.map(file => file.id),
|
|
|
+ file_ids: files.map(file => file.id || '').filter(Boolean),
|
|
|
}
|
|
|
}
|
|
|
if (dataSourceType === DataSourceType.NOTION)
|
|
@@ -321,6 +322,7 @@ const StepTwo = ({
|
|
|
try {
|
|
|
let res
|
|
|
const params = getCreationParams()
|
|
|
+ setIsCreating(true)
|
|
|
if (!datasetId) {
|
|
|
res = await createFirstDocument({
|
|
|
body: params,
|
|
@@ -347,6 +349,9 @@ const StepTwo = ({
|
|
|
message: `${err}`,
|
|
|
})
|
|
|
}
|
|
|
+ finally {
|
|
|
+ setIsCreating(false)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const handleSwitch = (state: boolean) => {
|
|
@@ -622,7 +627,7 @@ const StepTwo = ({
|
|
|
<>
|
|
|
<div className='mb-2 text-xs font-medium text-gray-500'>{t('datasetCreation.stepTwo.fileSource')}</div>
|
|
|
<div className='flex items-center text-sm leading-6 font-medium text-gray-800'>
|
|
|
- <span className={cn(s.fileIcon, files.length && s[files[0].extension])} />
|
|
|
+ <span className={cn(s.fileIcon, files.length && s[files[0].extension || ''])} />
|
|
|
{getFileName(files[0].name || '')}
|
|
|
{files.length > 1 && (
|
|
|
<span className={s.sourceCount}>
|
|
@@ -676,12 +681,12 @@ const StepTwo = ({
|
|
|
<div className='flex items-center mt-8 py-2'>
|
|
|
<Button onClick={() => onStepChange && onStepChange(-1)}>{t('datasetCreation.stepTwo.lastStep')}</Button>
|
|
|
<div className={s.divider} />
|
|
|
- <Button type='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.nextStep')}</Button>
|
|
|
+ <Button loading={isCreating} type='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.nextStep')}</Button>
|
|
|
</div>
|
|
|
)
|
|
|
: (
|
|
|
<div className='flex items-center mt-8 py-2'>
|
|
|
- <Button type='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.save')}</Button>
|
|
|
+ <Button loading={isCreating} type='primary' onClick={createHandle}>{t('datasetCreation.stepTwo.save')}</Button>
|
|
|
<Button className='ml-2' onClick={onCancel}>{t('datasetCreation.stepTwo.cancel')}</Button>
|
|
|
</div>
|
|
|
)}
|