پیشرفت کار (TaskProgress)

وضعیت یک کار طولانی مثل ورود داده یا خروجی‌گرفتن، با لغو و تلاش دوباره.

معرفی

TaskProgress یک کار طولانی را نشان می‌دهد: نامش، یک نوار پیشرفت و تنها اکشنی که با وضعیتش جور است. در حال اجرا «لغو» و بعد از خطا «تلاش دوباره». برای وضعیت خروجی‌گرفتن (اکسل، PDF) هم همین کامپوننت به کار می‌رود.

چه زمانی استفاده نکنیم:

  • برای بارگذاری صفحه یا مسیر — از PageLoader یا RouteProgress استفاده کنید
  • برای یک مقدار ثابت (مثل سهمیه) — از Progress استفاده کنید
خروجی اکسل کامنت‌های کمپین پاییزی35٪
ورود فایل CSV مشتریان
انجام شد
خروجی PDF گزارش هفتگی
ناموفق بود
اتصال به سرور قطع شد.

زمین بازی

با تغییر تنظیمات زیر، پیش‌نمایش زنده را مشاهده کنید.

زمین بازی
خروجی اکسل کامنت‌های کمپین پاییزی45٪
تنظیمات
محتوا
حالت
داده
45%
import { TaskProgress } from '@partodata/ui'

<TaskProgress
  label="خروجی اکسل کامنت‌های کمپین پاییزی"
  status="running"
  value={45}
  onCancel={cancel}
  onRetry={retry}
/>

استفاده

import { TaskProgress } from '@partodata/ui/task-progress'

export function ExportStatus({ job }) {
  return (
    <TaskProgress
      label="خروجی اکسل کامنت‌ها"
      value={job.percent}
      status={job.status}
      onCancel={job.cancel}
      onRetry={job.retry}
      description={job.status === 'error' ? job.reason : undefined}
    />
  )
}

Props

TaskProgressProps

Prop

Type

دسترسی‌پذیری

  • نوار پیشرفت با نام کار برچسب می‌خورد (aria-labelledby)
  • درصد و نتیجه در یک role="status" اعلام می‌شوند

کامپوننت‌های مرتبط

  • FileDropzone — آپلود فایلی که این کار از آن شروع می‌شود
  • Progress — نوار پیشرفت ساده