Table Body Component
Table Body Component, Ops Table bileşeninin gövde kısmını yönetir. Tablo satırlarını ve her satırdaki hücreleri render eder, aynı zamanda satır seviyesindeki kullanıcı etkileşimlerini kontrol eder.
Ne İşe Yarar?
Table Body Component:
- Tablo satırlarını ve hücrelerini dinamik olarak render eder.
- Seçim, silme ve düzenleme gibi satır seviyesindeki işlemleri yönetir.
- Yüklenme durumunda iskelet yapısı gösterebilir.
İş Mantığı
- Satır Yükseklik Yönetimi:
rowHeighve yoğunluk (density) durumuna göre satır yüksekliği ayarlanır.DensityEnumskullanılarak Compact, Standard ve Comfortable modları desteklenir.
- Satır Etkileşimleri:
- Kullanıcı satıra tıkladığında
onRowClickcallback'i tetiklenir. - Silme işlemleri için
handleDeleteIconClickvehandleCancelDeletemetotları yönetilir.
- Kullanıcı satıra tıkladığında
- Seçim Yönetimi:
useShowSelectionColumnhook'u kullanılarak seçim sütunu durumu yönetilir.
- Filtrelenmiş veya Boş Veri Durumu:
- Eğer tablo verisi boşsa,
NotFoundComponentgösterilir.
- Eğer tablo verisi boşsa,
Aldığı Propslar
ITableBodyProps arayüzünden alınan propslar şunlardır:
| Prop | Tipi | Açıklama |
|---|---|---|
table | Table<unknown> | Tablonun genel durumunu ve modellerini içerir. |
opsService | IOpsTableService<any> | Tablonun veri işlemlerini yöneten servis sınıfı. |
actionIcons | Array<(row) => ReactNode> | Her satır için özel aksiyon ikonları eklemek için kullanılır. |
tableProps | ITableProps | Tablonun genel özelliklerini içerir. |
onRowClick | (row: Row<unknown>) => void | Satıra tıklama olayını yönetmek için bir callback fonksiyonu. |
Yönetilen Olaylar
- Seçim ve Silme İşlemleri:
- Satır Seçimi: Kullanıcı bir satırı seçtiğinde seçim sütunu aktif hale gelir ve ilgili checkbox işaretlenir.
- Satır Silme:
handleDeleteIconClickmetodu, kullanıcı silme ikonuna tıkladığında tetiklenir ve seçilen satır silinmeye hazır duruma gelir. - Silme İşlemi İptali:
handleCancelDeletemetodu, kullanıcı silme işlemini iptal etmek istediğinde çalışır ve satır eski haline döner.
- Satır Tıklama:
- Kullanıcı herhangi bir satıra tıkladığında
onRowClickcallback'i çalışır. Bu, kullanıcı tarafından yapılan seçimlerin veya işlemlerin uygulama tarafında işlenmesini sağlar.
- Kullanıcı herhangi bir satıra tıkladığında
- Veri Durumu Kontrolü:
- Tablo verisi boş olduğunda
table.getRowModel().rowskontrol edilir ve veri bulunmadığındaNotFoundComponentgösterilir. Bu, kullanıcıya uygun bir mesaj sunar.
- Tablo verisi boş olduğunda
İlgili Bileşenler
- ActionsCell: Satır seviyesinde aksiyon butonlarını yönetir.
- BodyDeleteElement: Silme işlemleri için kullanılan özel bir satır bileşeni.
- CustomTableCells: Hücre içeriğini dinamik olarak render eder.
- NotFoundComponent: Tabloda veri bulunmadığında gösterilen bileşen.