Ops Table Toolbar
Ops Table Toolbar, Ops Table bileşeninin üst kısmında bulunan ve filtreler, aksiyonlar ve diğer kontroller için özelleştirilebilir bir araç çubuğu sunar.
Ne İşe Yarar?
Ops Table Toolbar:
- Kullanıcıların tabloya filtre eklemesine veya mevcut filtreleri düzenlemesine olanak tanır.
- Seçilen satırlara toplu işlem yapılmasını sağlar.
- Tablonun genel görünümünü ve işlevselliğini özelleştirmek için araçlar içerir.
İş Mantığı
- Filtre Görüntüleme ve Yönetimi:
- Aktif filtreler, araç çubuğunda etiket olarak görüntülenir.
- Kullanıcı bir etiketi kaldırdığında
handleFilterDeletefonksiyonu çağrılır ve ilgili filtre silinir.
- Toplu İşlem Yönetimi:
- Kullanıcılar, seçilen satırlara toplu işlem uygulamak için
toolBarButtonsüzerinden tanımlanmış butonları kullanabilir.
- Kullanıcılar, seçilen satırlara toplu işlem uygulamak için
- Popover Tetikleme:
- Kullanıcı, popover tetikleme butonlarına tıkladığında (örneğin, filtreleme veya kolon görünürlüğü), ilgili popover açılır ve ayar yapılmasına olanak tanır.
Aldığı Propslar
ITableToolbarProps 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ı. |
toolBarButtons | IToolBarButtonProps[] | Araç çubuğuna eklenmiş özel butonlar. |
tableVisibility | ITableVisibilityProps | Tablonun görünürlük ayarlarını yapılandırır. |
Yönetilen Olaylar
-
Filtre Silme:
- Kullanıcı Etkileşimi: Kullanıcı, filtre etiketinin üzerindeki çarpı ikonuna tıkladığında
handleFilterDeletefonksiyonu çalışır. - İşleyiş:
filtersstate'i güncellenir ve ilgili filtre listeden kaldırılır.- Filtrelerin güncellenmesi sonrası
opsService.handleFilterçağrılarak tablo yeniden yüklenir. - Bu işlem, kullanıcının tablo görünümünü filtrelerden arındırmasını sağlar.
- Kullanıcı Etkileşimi: Kullanıcı, filtre etiketinin üzerindeki çarpı ikonuna tıkladığında
-
Toplu İşlemler:
- Kullanıcı Etkileşimi: Kullanıcı toplu işlem butonlarından birine tıkladığında
handleButtonClickçalışır. - İşleyiş:
- Seçilen satırlar
table.getSelectedRowModel().rowsüzerinden alınır. toolBarButtonsiçerisindeki ilgili butonunonClickfonksiyonu tetiklenir ve seçilen satırlar argüman olarak bu fonksiyona iletilir.- Örnek: Seçilen satırlarla bir toplu silme işlemi yapılabilir.
- Seçilen satırlar
- Kullanıcı Etkileşimi: Kullanıcı toplu işlem butonlarından birine tıkladığında
-
Popover Tetikleme:
- Kullanıcı Etkileşimi: Kullanıcı araç çubuğundaki popover tetikleme butonlarından birine tıkladığında ilgili popover aktif hale gelir.
- İşleyiş:
OpsTablePopoversbileşeni çağrılır ve tetiklenen popover tipi (ToolBarEnums.Filters,ToolBarEnums.Density, vb.) gösterilir.- Kullanıcı, burada gerekli ayarları yaparak tabloyu özelleştirebilir.
Değişkenler ve Fonksiyonlar
-
filters
- Tanım: Mevcut tablo filtrelerini temsil eder.
- Kullanım: Araç çubuğunda etiket olarak görüntülenir ve kullanıcı tarafından düzenlenebilir.
-
handleFilterDelete
- Tanım: Kullanıcının bir filtreyi silmesini sağlayan fonksiyon.
- İşleyiş:
- Filtre,
filterslistesinden kaldırılır. - Tablonun yeni filtrelerle yeniden yüklenmesini sağlar.
- Filtre,
-
toolBarButtons
- Tanım: Kullanıcının toplu işlem yapmasını sağlayan butonların listesidir.
- Kullanım: Her buton
label,onClick,startIcon,endIcongibi özelliklerle özelleştirilebilir.
-
handleButtonClick
- Tanım: Kullanıcının toplu işlem butonuna tıklamasını işleyen fonksiyon.
- İşleyiş:
- Seçilen satırları
table.getSelectedRowModel().rowsüzerinden alır. - İlgili butonun
onClickfonksiyonunu tetikleyerek işlemi gerçekleştirir.
- Seçilen satırları
-
OpsTablePopovers
- Tanım: Popover bileşenlerini yöneten yardımcı bir bileşen.
- İşleyiş:
- Kullanıcının seçimine göre (
Columns,Filters,Export, vb.) ilgili popover içeriğini gösterir.
- Kullanıcının seçimine göre (
-
tableVisibility
- Tanım: Tablo sütunlarının ve diğer görünürlük ayarlarının kontrolünü sağlayan prop.
- Kullanım: Kullanıcı, belirli sütunların görünürlük durumunu bu ayar üzerinden değiştirebilir.
-
Filtre Silme:
- Kullanıcı bir filtreyi kaldırmak için etiket üzerindeki çarpı ikonuna tıkladığında
handleFilterDeleteçalışır. - İlgili filtre
filtersstate'inden kaldırılır ve tablo yeniden yüklenir.
- Kullanıcı bir filtreyi kaldırmak için etiket üzerindeki çarpı ikonuna tıkladığında
-
Toplu İşlemler:
- Kullanıcı toplu işlem butonuna tıkladığında,
handleButtonClickçalışır. - Bu işlem, seçilen satırları argüman olarak alır ve
toolBarButtonsiçerisindeki fonksiyonu tetikler.
- Kullanıcı toplu işlem butonuna tıkladığında,
-
Popover Tetikleme:
- Kullanıcı bir popover tetikleme butonuna tıkladığında,
OpsTablePopoversbileşeni uygun ayarları gösterir.
- Kullanıcı bir popover tetikleme butonuna tıkladığında,
İlgili Bileşenler
- OpsTablePopovers: Araç çubuğundaki popover tetikleyicilerini yönetir.
- OpsTable: Araç çubuğunun bağlı olduğu ana tablo bileşeni.
Burada Yapılan Ana İşlemler
Ops Table Toolbar bileşeninde aşağıdaki işlemler anahtar rol oynar ve bu olaylara müdahale etmek için ilgili bölümlere odaklanabilirsiniz:
- Filtre Yönetimi: Aktif filtreler araç çubuğunda etiket olarak görüntülenir ve
handleFilterDeleteile yönetilir. - Toplu İşlem Yönetimi: Kullanıcıların toplu işlem yapmasına olanak tanır. İşlemler
toolBarButtonsüzerinden özelleştirilebilir. - Popover Kontrolü:
OpsTablePopoversbileşeni aracılığıyla filtreleme, yoğunluk ayarları gibi işlevler yönetilir.
Örnek Kullanım
import React from "react";
import OpsTableToolbar from "./OpsTableToolbar";
export default function ExampleToolbar({
table,
opsService,
toolBarButtons,
tableVisibility,
}) {
return (
<OpsTableToolbar
table={table}
opsService={opsService}
toolBarButtons={toolBarButtons}
tableVisibility={tableVisibility}
/>
);
}