import Modal from './common/ResizableDraggableModal'; import React from 'react'; import { Button, Typography } from 'antd'; import { formatExportProgressRows, } from '../utils/exportProgress'; import ExportProgressBar from './ExportProgressBar'; import { useExportProgressRunner } from './useExportProgressRunner'; const { Text, Paragraph } = Typography; export function useExportProgressDialog() { const { state, reset, runExportWithProgress } = useExportProgressRunner(); const canClose = state.status === 'done' || state.status === 'error'; const modalNode = ( 关闭, ] : null} >
任务 {state.title || state.targetName || '导出任务'} 对象 {state.targetName || '未命名对象'} 格式 {state.format || '-'} 状态 {state.stage || '准备中'} {state.filePath ? ( <> 文件 {state.filePath} ) : null}
{formatExportProgressRows(state.current, state.total, state.totalRowsKnown)} {!state.totalRowsKnown && state.status !== 'done' && state.status !== 'error' ? ( 当前未预先统计总行数,暂不显示百分比,写入行数为实时值。 ) : null} {state.message ? ( {state.message} ) : null}
); return { exportProgressModal: modalNode, runExportWithProgress, }; }