| | |
| | | import ErrorMessage from '../base/error-message' |
| | | import Header from './header' |
| | | import Options from './options' |
| | | import cn from '@/utils/classnames' |
| | | import { useModalContext } from '@/context/modal-context' |
| | | import Toast from '@/app/components/base/toast' |
| | | import { checkJinaReaderTaskStatus, createJinaReaderTask } from '@/service/datasets' |
| | |
| | | isError: false, |
| | | data: { |
| | | ...res, |
| | | total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)), |
| | | total: Math.min(res.total, parseFloat(crawlOptions.limit as string)), |
| | | }, |
| | | } |
| | | } |
| | |
| | | // update the progress |
| | | setCrawlResult({ |
| | | ...res, |
| | | total: Math.min(res.total, Number.parseFloat(crawlOptions.limit as string)), |
| | | total: Math.min(res.total, parseFloat(crawlOptions.limit as string)), |
| | | }) |
| | | onCheckedCrawlResultChange(res.data || []) // default select the crawl result |
| | | await sleep(2500) |
| | |
| | | }, |
| | | } |
| | | } |
| | | }, [crawlOptions.limit, onCheckedCrawlResultChange]) |
| | | }, [crawlOptions.limit]) |
| | | |
| | | const handleRun = useCallback(async (url: string) => { |
| | | const { isValid, errorMsg } = checkValid(url) |
| | |
| | | finally { |
| | | setStep(Step.finished) |
| | | } |
| | | }, [checkValid, crawlOptions, onCheckedCrawlResultChange, onJobIdChange, t, waitForCrawlFinished]) |
| | | }, [checkValid, crawlOptions, onJobIdChange, t, waitForCrawlFinished]) |
| | | |
| | | return ( |
| | | <div> |
| | | <Header onSetting={handleSetting} /> |
| | | <div className='mt-2 rounded-xl border border-components-panel-border bg-background-default-subtle p-4 pb-0'> |
| | | <div className={cn('mt-2 p-4 pb-0 rounded-xl border border-gray-200')}> |
| | | <UrlInput onRun={handleRun} isRunning={isRunning} /> |
| | | <OptionsWrap |
| | | className='mt-4' |
| | | className={cn('mt-4')} |
| | | controlFoldOptions={controlFoldOptions} |
| | | > |
| | | <Options className='mt-2' payload={crawlOptions} onChange={onCrawlOptionsChange} /> |
| | | </OptionsWrap> |
| | | |
| | | {!isInit && ( |
| | | <div className='relative left-[-16px] mt-3 w-[calc(100%_+_32px)] rounded-b-xl'> |
| | | <div className='mt-3 relative left-[-16px] w-[calc(100%_+_32px)] rounded-b-xl'> |
| | | {isRunning |
| | | && <Crawling |
| | | className='mt-2' |
| | | crawledNum={crawlResult?.current || 0} |
| | | totalNum={crawlResult?.total || Number.parseFloat(crawlOptions.limit as string) || 0} |
| | | totalNum={crawlResult?.total || parseFloat(crawlOptions.limit as string) || 0} |
| | | />} |
| | | {showError && ( |
| | | <ErrorMessage className='rounded-b-xl' title={t(`${I18N_PREFIX}.exceptionErrorTitle`)} errorMsg={crawlErrorMessage} /> |
| | |
| | | checkedList={checkedCrawlResult} |
| | | onSelectedChange={onCheckedCrawlResultChange} |
| | | onPreview={onPreview} |
| | | usedTime={Number.parseFloat(crawlResult?.time_consuming as string) || 0} |
| | | usedTime={parseFloat(crawlResult?.time_consuming as string) || 0} |
| | | /> |
| | | } |
| | | </div> |