Table Header
Table Header, Ops Table bileşeninin başlık kısmını yönetir. Kullanıcıların tabloyu sıralayabilmesi ve başlık üzerinde ek bilgi alabilmesi için tasarlanmıştır.
Ne İşe Yarar?
Table Header:
- Tablonun tüm sütun başlıklarını render eder.
- Sıralama işlemleri için kullanıcı etkileşimlerini yönetir.
- Görünür sütunları dinamik olarak ayarlar.
- Tablonun üst kısmında seçim sütunu veya aksiyon sütunlarını dinamik olarak ekler.
İş Mantığı
- Sıralama Yönetimi:
handleSortfonksiyonu ile kullanıcı tıklamaları sıralama olaylarına dönüştürülür.- Sıralama durumu
sortingValueile kontrol edilir veopsService.handleSortaracılığıyla backend'e iletilir.
- Kolon Görünürlüğü:
- Sadece görünür olan sütunlar (
columnVisibility) render edilir. - Sütun meta bilgileri kullanılarak başlık ve tooltip içerikleri oluşturulur.
- Sadece görünür olan sütunlar (
- Seçim Sütunu Yönetimi:
useShowSelectionColumnhook'u ile seçim sütunu eklenir ve yönetilir.showSelectionColumndurumu ile başlık kısmında seçim sütunu dinamik olarak gösterilir.
- Arka Plan Rengi:
headerBackgroundColorprop'u üzerinden başlıkların arka plan rengi özelleştirilebilir.
- Aksiyon Sütunları:
- Eğer
actionIconstanımlandıysa, başlık kısmında aksiyon sütunları da dinamik olarak eklenir.
- Eğer
Aldığı Propslar
ITableHeaderProps 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ı. |
tableProps | ITableProps | Tablonun genel özelliklerini içerir. |
actionIcons | Array<(row) => ReactNode> | Her satır için özel aksiyon ikonları eklemek için kullanılır. |
Yönetilen Olaylar
- Sıralama:
- Kullanıcı bir sütun başlığına tıkladığında
handleSortçalışır ve sıralama türü (AscveyaDesc) değiştirilir.
- Kullanıcı bir sütun başlığına tıkladığında
- Görünürlük Yönetimi:
- Sütunlar
columnVisibilitydurumuna göre dinamik olarak render edilir.
- Sütunlar
- Tooltip Bilgisi:
- Sütun başlıkları üzerinde ek bilgi göstermek için
meta.infokullanılır.
- Sütun başlıkları üzerinde ek bilgi göstermek için
- Seçim ve Aksiyon Sütunları:
showSelectionColumndurumu aktifse seçim sütunu başlık kısmında gösterilir.- Eğer
actionIconstanımlıysa, başlık kısmında aksiyon sütunu oluşturulur.
- Arka Plan Rengi:
headerBackgroundColorile başlıkların arka plan rengi özelleştirilir.
İlgili Bileşenler
- OpsTable: Tablonun ana bileşeni.
- OpsTablePopovers: Kolon görünürlüğü ve filtreler gibi ayarları yönetir.
Burada Yapılan Ana İşlemler
Table Header bileşeninde aşağıdaki işlemler anahtar rol oynar ve bu olaylara müdahale etmek için ilgili bölümlere odaklanabilirsiniz:
- Sıralama Yönetimi: Kullanıcı etkileşimleri
handleSortfonksiyonu ile sıralama işlemlerine dönüştürülür. - Kolon Meta Verileri: Tooltip ve görünürlük gibi özellikler sütun meta bilgilerinden alınır.
- Seçim Sütunu: Seçim sütunu durumu
useShowSelectionColumnile yönetilir. - Arka Plan Rengi:
headerBackgroundColorile başlıkların görsel tasarımı özelleştirilir. - Aksiyon Sütunları:
actionIconsprop'u tanımlıysa başlık kısmına aksiyon sütunları eklenir.
Örnek Kullanım
import React from "react";
import TableHeader from "./TableHeader";
export default function ExampleHeader({ table, opsService, tableProps }) {
return (
<TableHeader
table={table}
opsService={opsService}
tableProps={tableProps}
/>
);
}