fix: Add waiting state to document embedding process

This commit is contained in:
twwu 2025-09-10 15:59:13 +08:00
parent bb6b663ef4
commit 4559d19d46
22 changed files with 31 additions and 3 deletions

View File

@ -73,7 +73,6 @@ const EmbeddingProcess = ({
return () => { return () => {
clearTimeout(timeoutId) clearTimeout(timeoutId)
} }
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [shouldPoll]) }, [shouldPoll])
// get rule // get rule
@ -89,10 +88,16 @@ const EmbeddingProcess = ({
router.push('/datasets?category=api') router.push('/datasets?category=api')
} }
const isEmbedingWaiting = useMemo(() => {
if (!indexingStatusBatchDetail.length) return false
return indexingStatusBatchDetail.every(indexingStatusDetail => ['waiting'].includes(indexingStatusDetail?.indexing_status || ''))
}, [indexingStatusBatchDetail])
const isEmbedding = useMemo(() => { const isEmbedding = useMemo(() => {
if (!indexingStatusBatchDetail.length) return false
return indexingStatusBatchDetail.some(indexingStatusDetail => ['indexing', 'splitting', 'parsing', 'cleaning'].includes(indexingStatusDetail?.indexing_status || '')) return indexingStatusBatchDetail.some(indexingStatusDetail => ['indexing', 'splitting', 'parsing', 'cleaning'].includes(indexingStatusDetail?.indexing_status || ''))
}, [indexingStatusBatchDetail]) }, [indexingStatusBatchDetail])
const isEmbeddingCompleted = useMemo(() => { const isEmbeddingCompleted = useMemo(() => {
if (!indexingStatusBatchDetail.length) return false
return indexingStatusBatchDetail.every(indexingStatusDetail => ['completed', 'error', 'paused'].includes(indexingStatusDetail?.indexing_status || '')) return indexingStatusBatchDetail.every(indexingStatusDetail => ['completed', 'error', 'paused'].includes(indexingStatusDetail?.indexing_status || ''))
}, [indexingStatusBatchDetail]) }, [indexingStatusBatchDetail])
@ -125,10 +130,12 @@ const EmbeddingProcess = ({
<> <>
<div className='flex flex-col gap-y-3'> <div className='flex flex-col gap-y-3'>
<div className='system-md-semibold-uppercase flex items-center gap-x-1 text-text-secondary'> <div className='system-md-semibold-uppercase flex items-center gap-x-1 text-text-secondary'>
{isEmbedding && ( {(isEmbedingWaiting || isEmbedding) && (
<> <>
<RiLoader2Fill className='size-4 animate-spin' /> <RiLoader2Fill className='size-4 animate-spin' />
<span>{t('datasetDocuments.embedding.processing')}</span> <span>
{isEmbedingWaiting ? t('datasetDocuments.embedding.waiting') : t('datasetDocuments.embedding.processing')}
</span>
</> </>
)} )}
{isEmbeddingCompleted && t('datasetDocuments.embedding.completed')} {isEmbeddingCompleted && t('datasetDocuments.embedding.completed')}

View File

@ -339,6 +339,7 @@ const translation = {
childMaxTokens: 'Kind', childMaxTokens: 'Kind',
hierarchical: 'Eltern-Kind', hierarchical: 'Eltern-Kind',
pause: 'Pause', pause: 'Pause',
waiting: 'Einbettung wartet...',
}, },
segment: { segment: {
paragraphs: 'Absätze', paragraphs: 'Absätze',

View File

@ -318,6 +318,7 @@ const translation = {
}, },
}, },
embedding: { embedding: {
waiting: 'Embedding waiting...',
processing: 'Embedding processing...', processing: 'Embedding processing...',
paused: 'Embedding paused', paused: 'Embedding paused',
completed: 'Embedding completed', completed: 'Embedding completed',

View File

@ -339,6 +339,7 @@ const translation = {
childMaxTokens: 'Niño', childMaxTokens: 'Niño',
hierarchical: 'Padre-hijo', hierarchical: 'Padre-hijo',
parentMaxTokens: 'Padre', parentMaxTokens: 'Padre',
waiting: 'Esperando incrustación...',
}, },
segment: { segment: {
paragraphs: 'Párrafos', paragraphs: 'Párrafos',

View File

@ -338,6 +338,7 @@ const translation = {
pause: 'مکث', pause: 'مکث',
childMaxTokens: 'کودک', childMaxTokens: 'کودک',
hierarchical: 'پدر و مادر و فرزند', hierarchical: 'پدر و مادر و فرزند',
waiting: 'در حال انتظار برای جاسازی...',
}, },
segment: { segment: {
paragraphs: 'پاراگراف‌ها', paragraphs: 'پاراگراف‌ها',

View File

@ -340,6 +340,7 @@ const translation = {
hierarchical: 'Parent-enfant', hierarchical: 'Parent-enfant',
pause: 'Pause', pause: 'Pause',
parentMaxTokens: 'Parent', parentMaxTokens: 'Parent',
waiting: 'En attente d\'incorporation...',
}, },
segment: { segment: {
paragraphs: 'Paragraphes', paragraphs: 'Paragraphes',

View File

@ -340,6 +340,7 @@ const translation = {
pause: 'रुकना', pause: 'रुकना',
hierarchical: 'माता-पिता का बच्चा', hierarchical: 'माता-पिता का बच्चा',
childMaxTokens: 'बच्चा', childMaxTokens: 'बच्चा',
waiting: 'इनपुट की प्रतीक्षा कर रहा हूं...',
}, },
segment: { segment: {
paragraphs: 'पैराग्राफ', paragraphs: 'पैराग्राफ',

View File

@ -338,6 +338,7 @@ const translation = {
stop: 'Hentikan pemrosesan', stop: 'Hentikan pemrosesan',
custom: 'Adat', custom: 'Adat',
resume: 'Melanjutkan', resume: 'Melanjutkan',
waiting: 'Menunggu embedding...',
}, },
segment: { segment: {
searchResults_one: 'HASIL', searchResults_one: 'HASIL',

View File

@ -341,6 +341,7 @@ const translation = {
pause: 'Pausa', pause: 'Pausa',
hierarchical: 'Genitore-figlio', hierarchical: 'Genitore-figlio',
parentMaxTokens: 'Genitore', parentMaxTokens: 'Genitore',
waiting: 'Attesa dell\'incorporamento...',
}, },
segment: { segment: {
paragraphs: 'Paragrafi', paragraphs: 'Paragrafi',

View File

@ -339,6 +339,7 @@ const translation = {
previewTip: '埋め込みが完了した後、段落のプレビューが利用可能になります', previewTip: '埋め込みが完了した後、段落のプレビューが利用可能になります',
parentMaxTokens: '親', parentMaxTokens: '親',
childMaxTokens: '子', childMaxTokens: '子',
waiting: '埋め込み待機中...',
}, },
segment: { segment: {
paragraphs: '段落', paragraphs: '段落',

View File

@ -338,6 +338,7 @@ const translation = {
parentMaxTokens: '부모', parentMaxTokens: '부모',
pause: '일시 중지', pause: '일시 중지',
hierarchical: '부모 - 자식', hierarchical: '부모 - 자식',
waiting: '임베딩 대기 중...',
}, },
segment: { segment: {
paragraphs: '단락', paragraphs: '단락',

View File

@ -340,6 +340,7 @@ const translation = {
hierarchical: 'Rodzic-dziecko', hierarchical: 'Rodzic-dziecko',
childMaxTokens: 'Dziecko', childMaxTokens: 'Dziecko',
pause: 'Pauza', pause: 'Pauza',
waiting: 'Oczekiwanie na osadzenie...',
}, },
segment: { segment: {
paragraphs: 'Akapity', paragraphs: 'Akapity',

View File

@ -339,6 +339,7 @@ const translation = {
hierarchical: 'Pai-filho', hierarchical: 'Pai-filho',
parentMaxTokens: 'Pai', parentMaxTokens: 'Pai',
childMaxTokens: 'Criança', childMaxTokens: 'Criança',
waiting: 'Aguarde a incorporação...',
}, },
segment: { segment: {
paragraphs: 'Parágrafos', paragraphs: 'Parágrafos',

View File

@ -339,6 +339,7 @@ const translation = {
childMaxTokens: 'Copil', childMaxTokens: 'Copil',
parentMaxTokens: 'Părinte', parentMaxTokens: 'Părinte',
pause: 'Pauză', pause: 'Pauză',
waiting: 'Așteptând încorporarea...',
}, },
segment: { segment: {
paragraphs: 'Paragrafe', paragraphs: 'Paragrafe',

View File

@ -339,6 +339,7 @@ const translation = {
childMaxTokens: 'Ребёнок', childMaxTokens: 'Ребёнок',
hierarchical: 'Родитель-дочерний', hierarchical: 'Родитель-дочерний',
pause: 'Пауза', pause: 'Пауза',
waiting: 'Ожидание встраивания...',
}, },
segment: { segment: {
paragraphs: 'Абзацы', paragraphs: 'Абзацы',

View File

@ -339,6 +339,7 @@ const translation = {
childMaxTokens: 'Otrok', childMaxTokens: 'Otrok',
pause: 'Zaustavi', pause: 'Zaustavi',
parentMaxTokens: 'Starš', parentMaxTokens: 'Starš',
waiting: 'Čakanje na zajemanje...',
}, },
segment: { segment: {
paragraphs: 'Odstavki', paragraphs: 'Odstavki',

View File

@ -338,6 +338,7 @@ const translation = {
parentMaxTokens: 'พ่อแม่', parentMaxTokens: 'พ่อแม่',
pause: 'หยุด', pause: 'หยุด',
hierarchical: 'พ่อแม่ลูก', hierarchical: 'พ่อแม่ลูก',
waiting: 'กำลังรอสัญญาณ...',
}, },
segment: { segment: {
paragraphs: 'ย่อหน้า', paragraphs: 'ย่อหน้า',

View File

@ -338,6 +338,7 @@ const translation = {
parentMaxTokens: 'Ebeveyn', parentMaxTokens: 'Ebeveyn',
hierarchical: 'Ebeveyn-çocuk', hierarchical: 'Ebeveyn-çocuk',
pause: 'Duraklat', pause: 'Duraklat',
waiting: 'Gömme bekleniyor...',
}, },
segment: { segment: {
paragraphs: 'Paragraflar', paragraphs: 'Paragraflar',

View File

@ -338,6 +338,7 @@ const translation = {
pause: 'Пауза', pause: 'Пауза',
parentMaxTokens: 'Родитель', parentMaxTokens: 'Родитель',
hierarchical: 'Батьки-діти', hierarchical: 'Батьки-діти',
waiting: 'Виконання очікує...',
}, },
segment: { segment: {
paragraphs: 'Параграфи', paragraphs: 'Параграфи',

View File

@ -338,6 +338,7 @@ const translation = {
pause: 'Tạm dừng', pause: 'Tạm dừng',
childMaxTokens: 'Con', childMaxTokens: 'Con',
hierarchical: 'Cha mẹ-con cái', hierarchical: 'Cha mẹ-con cái',
waiting: 'Đang chờ nhúng...',
}, },
segment: { segment: {
paragraphs: 'Đoạn văn', paragraphs: 'Đoạn văn',

View File

@ -317,6 +317,7 @@ const translation = {
}, },
}, },
embedding: { embedding: {
waiting: '嵌入等待中...',
processing: '嵌入处理中...', processing: '嵌入处理中...',
paused: '嵌入已停止', paused: '嵌入已停止',
completed: '嵌入已完成', completed: '嵌入已完成',

View File

@ -338,6 +338,7 @@ const translation = {
parentMaxTokens: '父母', parentMaxTokens: '父母',
childMaxTokens: '孩子', childMaxTokens: '孩子',
pause: '暫停', pause: '暫停',
waiting: '嵌入等待中...',
}, },
segment: { segment: {
paragraphs: '段落', paragraphs: '段落',