SelectionBar

Bar mengapung yang muncul begitu ada baris terpilih, berisi jumlahnya dan aksi yang bisa dijalankan atas semuanya sekaligus.

Dasar

Hubungkan count ke panjang pilihan yang sudah dipegang tabelnya. Barnya muncul sendiri ketika angkanya lebih dari nol dan hilang ketika kembali nol — tidak ada prop untuk membuka-tutupnya, karena jumlah terpilih itu sendiri sudah menjawabnya.

Pilih satu atau dua baris pada tabel di bawah ini.

KodePelangganKotaBerat
PK-1041Kantor Pusat SudirmanJakarta1.240 kg
PK-1042Gudang CakungJakarta860 kg
PK-1043Pabrik Karawang 2Karawang2.310 kg
PK-1044Hotel Kuta SelatanBadung540 kg

Belum ada aksi yang dijalankan.

Yang sudah diurus sendiri

  • Jumlahnya dibacakan saat berubah. Teks jumlah itu live region (role="status"), karena memilih baris ketiga tidak mengubah apa pun selain angka itu — tanpa ini, pembaca layar tidak mendapat kabar apa-apa.
  • Gerakan masuknya mengikuti tepinya. Dari bawah ia naik, dari atas ia turun, jadi arahnya menyatakan dari mana ia datang. Mati sendiri ketika sistem meminta prefers-reduced-motion; barnya tetap muncul, hanya tanpa geseran.
  • Escape membersihkan, tetapi hanya selama fokus ada di dalam barnya. Escape global akan berebut dengan apa pun yang halaman lakukan dengan tombol itu.
  • Aksinya yang memutuskan apakah pilihannya ikut dibersihkan. "Unduh manifest" wajar meninggalkan pilihannya; "Batalkan" wajar mengosongkannya.

Batas yang perlu diketahui

  • Barnya mengapung di atas isi halaman pada z-40 — di atas header tabel yang sticky, di bawah Toast, supaya notifikasi tetap terbaca di atasnya. Sisakan ruang di dasar halaman kalau di sana ada hal penting.
  • Satu bar untuk satu halaman. Dua bar sekaligus akan saling menutupi di tempat yang sama; kalau ada dua tabel, jadikan satu pilihan aktif.
  • Aksi yang merusak sebaiknya lewat ConfirmDialog. Bar ini membuat aksi massal jadi satu klik, dan itu berlaku juga untuk penghapusan.

API

Props

PropTipeDefaultKeterangan
countnumber0Jumlah yang sedang dipilih. Nol berarti tidak ada yang bisa dikerjakan, jadi barnya tidak ditampilkan — ia bukan perabot tetap halaman.
labelstring'baris dipilih'Yang dihitung, dibacakan setelah angkanya: "3 baris dipilih". Ganti sesuai isinya — "dokumen dipilih", "armada dipilih".
actionsW4cSelectionBarAction[][]Aksi massal yang tersedia. Tiap aksi punya label, icon, color, variant, disabled, loading, dan onSelect.
dismissiblebooleantrueMenampilkan tombol bersihkan, dan mengizinkan Escape membersihkan selama fokus ada di dalam barnya.
clearLabelstring'Bersihkan pilihan'Nama tombol bersihkan untuk pembaca layar.
position'bottom' | 'top''bottom'Tepi tempat barnya menempel. Arah datangnya mengikuti tepi itu, jadi gerakannya menunjukkan dari mana ia muncul.
regionLabelstring'Aksi untuk baris terpilih'Nama region-nya, supaya pembaca yang berpindah antar region tahu ini apa.

Events

EventTipeDefaultKeterangan
clear[]—Tombol bersihkan ditekan, atau Escape saat fokus di dalam barnya. Pemanggilnya yang mengosongkan pilihannya.

Slots

SlotTipeDefaultKeterangan
default{ count: number }—Mengganti seluruh aksi, untuk kontrol yang tidak bisa diwakili daftar actions.
count{ count: number }—Mengganti teks jumlahnya.
trailing{ count: number }—Kontrol tambahan setelah aksi, sebelum tombol bersihkan.