پاورقی اقدام (ActionFooter)

پاورقی یکسان همهٔ دیالوگ‌ها و شیت‌ها — «انصراف» بدون variant و یک اقدام اصلی که با اثرش نام‌گذاری شده؛ با aside، حالت در حال اجرا و میان‌بر Mod+Enter.

معرفی

هر دیالوگ و شیت یک پاورقی دارد و تا امروز هر صفحه آن را جور دیگری می‌ساخت: «انصراف» گاهی ghost بود، گاهی outline، و اقدام اصلی گاهی «تأیید» با دکمهٔ سیاه. ActionFooter همان یک الگو را می‌کشد: [aside] [انصراف] [اقدام].

  • «انصراف» همیشه یک دکمهٔ بدون variant (پیش‌فرض خنثی) است و قبل از اقدام می‌آید؛ بدون onClick، دیالوگ یا شیتِ دور خودش را می‌بندد.
  • اقدام با فعل و شیء نام‌گذاری می‌شود و اگر چند مورد را در بر می‌گیرد با شمارش («ورود مجدد برای 4 اکانت»)، نه «تأیید». primary است؛ برای اقدام برگشت‌ناپذیر destructive (همان قرمز یکدست ConfirmDialog).
  • aside در ابتدای سطر یک خط متن ساده است («3 اکانت تغییر یافته»)؛ دکمه نیست، چون پاورقی دو دکمه دارد و بیشتر نه.
  • در حال اجرا: اقدام چرخان می‌شود (با loadingLabel مثل «12 از 40»)، «انصراف» قفل می‌شود.
  • میان‌بر: Mod+Enter (Ctrl در ویندوز و لینوکس) از هر جای دیالوگ، حتی داخل textarea، اقدام را اجرا می‌کند؛ همان ActionBar شیت‌های Supabase.

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

  • پاورقی فرم یا دیالوگ ویرایش گروهی که ConfirmDialog نیست
  • پاورقی Sheetی که فرم دارد

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

  • تأیید ساده («حذف شود؟») → ConfirmDialog، که پاورقی خودش را دارد
  • انتخاب بین دو تصمیم هم‌ارز → DecisionActions
تغییر دستهٔ 3 اکانت به «ورزش». اکانت‌هایی که دسته‌شان همین است تغییری نمی‌کنند.
3 اکانت تغییر یافته

استفاده

import { ActionFooter } from '@partodata/ui'
;<Dialog>
  <DialogContent sectioned>
    <DialogHeader>…</DialogHeader>
    <DialogSection>…</DialogSection>
    <ActionFooter
      aside="3 اکانت تغییر یافته"
      action={{ label: 'اعمال برای 3 اکانت', loading, loadingLabel: `${done} از ${total}`, onClick: apply }}
    />
  </DialogContent>
</Dialog>

برای فرمی که دکمهٔ ثبتش بیرون از <form> است (پاورقی شیت)، action.type = 'submit' و action.form = 'form-id'.

قاعده

قاعدهٔ ESLint parto/footer-button-variants دکمهٔ ghost، outline، secondary، link یا text را داخل DialogFooter، SheetFooter و AlertDialogFooter گزارش می‌کند.

Props

Prop

Type

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

  • Mod+Enter وقتی اقدام غیرفعال یا در حال اجراست کاری نمی‌کند و هنگام ترکیب‌نویسی (IME) فعال نمی‌شود.
  • اقدام غیرفعال با disabledReason دلیلش را در tooltip (hover و فوکوس صفحه‌کلید) و برای صفحه‌خوان می‌گوید.
  • ترتیب تب: انصراف، سپس اقدام.

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

  • ConfirmDialog — تأیید با پاورقی خودش
  • Dialog و Sheet — ظرف این پاورقی
  • BulkResultList — نتیجهٔ اقدامی که چند مورد را در بر گرفته