پاورقی اقدام (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
استفاده
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
دسترسیپذیری
Mod+Enterوقتی اقدام غیرفعال یا در حال اجراست کاری نمیکند و هنگام ترکیبنویسی (IME) فعال نمیشود.- اقدام غیرفعال با
disabledReasonدلیلش را در tooltip (hover و فوکوس صفحهکلید) و برای صفحهخوان میگوید. - ترتیب تب: انصراف، سپس اقدام.
کامپوننتهای مرتبط
ConfirmDialog— تأیید با پاورقی خودشDialogوSheet— ظرف این پاورقیBulkResultList— نتیجهٔ اقدامی که چند مورد را در بر گرفته
دیالوگ تأیید (ConfirmDialog)
دیالوگ ساده برای تأیید اعمال مهم یا مخرب با پشتیبانی از چند زبان.
فهرست هدف و نتیجه (TargetList و BulkResultList)
نامبردن از هدفهای یک اقدام گروهی پیش از اجرا و نمایش نتیجهٔ هر مورد پس از آن — انجام شد، کنار گذاشته شد، نتیجه نامشخص یا ناموفق؛ نتیجهٔ نامشخص هرگز موفقیت نیست.