Actions Cell
Actions Cell, Ops Table bileşeninde satır seviyesindeki düzenleme ve silme gibi işlemleri yönetmek için kullanılan bir hücre bileşenidir. Kullanıcılar, her satırda bulunan aksiyon butonları aracılığıyla işlem yapabilir.
Ne İşe Yarar?
Actions Cell:
- Satır seviyesindeki düzenleme ve silme işlemlerini yönetir.
- Kullanıcıya özel aksiyon butonları ekleme imkanı tanır.
İş Mantığı
-
Düzenleme İşlemi:
- Kullanıcı düzenleme ikonuna tıkladığında
handleEditIconClickfonksiyonu çağrılır. - Eğer
tableProps.handleEditIconClicktanımlıysa bu fonksiyon çalıştırılır, aksi takdirde varsayılanhandleEditIconClickişlevi çağrılır.
- Kullanıcı düzenleme ikonuna tıkladığında
-
Silme İşlemi:
- Kullanıcı silme ikonuna tıkladığında
handleDeleteIconClickfonksiyonu çağrılır. - Eğer
tableProps.handleDeleteIconClicktanımlıysa bu fonksiyon çalıştırılır, aksi takdirde varsayılanhandleDeleteIconClickişlevi çağrılır.
- Kullanıcı silme ikonuna tıkladığında
-
Özel Aksiyonlar:
actionIconsdizisi üzerinden her satır için özelleştirilmiş aksiyonlar eklenebilir.
Aldığı Propslar
IActionsCellProps arayüzünden alınan propslar şunlardır:
| Prop | Tipi | Açıklama |
|---|---|---|
row | Row<unknown> | Aksiyonların uygulanacağı satırın verisini içerir. |
actionIcons | Array<(row) => ReactNode> | Her satır için özel aksiyon ikonları eklemek için kullanılan bir dizi. |
handleDeleteIconClick | () => void | Silme ikonuna tıklama olayını yönetmek için kullanılan bir fonksiyon. |
handleEditIconClick | (row: Row<unknown>) => void | Düzenleme ikonuna tıklama olayını yönetmek için kullanılan bir fonksiyon. |
tableProps | ITableProps | Tablonun genel özelliklerini içerir. |
Yönetilen Olaylar
-
Düzenleme:
- Kullanıcı Etkileşimi: Kullanıcı düzenleme ikonuna tıkladığında
handleEditIconClickçalışır. - İşleyiş:
- Eğer
tableProps.handleEditIconClicktanımlıysa bu fonksiyon çalıştırılır. Bu, özel bir düzenleme işlevi tanımlanmasını sağlar. - Varsayılan işlev olarak
opsService.handleEditkullanılabilir. Bu, ilgili satırın düzenleme formunu açabilir veya başka bir API çağrısı yapabilir. rowparametresi, düzenleme işleminde kullanılacak tüm satır verilerini içerir.
- Eğer
- Kullanıcı Etkileşimi: Kullanıcı düzenleme ikonuna tıkladığında
-
Silme:
- Kullanıcı Etkileşimi: Kullanıcı silme ikonuna tıkladığında
handleDeleteIconClickçalışır. - İşleyiş:
- Eğer
tableProps.handleDeleteIconClicktanımlıysa bu fonksiyon çalıştırılır. Bu, özel bir silme işlevi tanımlanmasını sağlar. - Varsayılan işlev olarak
opsService.handleDeletekullanılabilir. Bu, ilgili satırın silinmesini sağlayan bir API çağrısı yapabilir. - Silme işleminden sonra, tablo durumu güncellenebilir veya bir geri bildirim mesajı gösterilebilir.
- Eğer
- Kullanıcı Etkileşimi: Kullanıcı silme ikonuna tıkladığında
-
Özel Aksiyonlar:
- Kullanıcı Etkileşimi:
actionIconsdizisi üzerinden eklenen aksiyon ikonlarına tıklanarak kullanıcı tanımlı işlemler gerçekleştirilir. - İşleyiş:
actionIconsiçerisindeki her bir ikon, bir fonksiyon döner. Bu fonksiyon,rowparametresiyle çalışır ve ilgili satır verilerini kullanır.- Örneğin, "Görüntüle" veya "Paylaş" gibi özel aksiyonlar burada tanımlanabilir.
- Kullanıcı Etkileşimi:
Değişkenler ve Fonksiyonlar
-
row
- Tanım: Aksiyon hücresinin bağlı olduğu satırın tüm verilerini içerir.
- Kullanım: Tüm aksiyon işlemlerinde, ilgili satırın verilerine erişmek için kullanılır.
-
actionIcons
- Tanım: Her satır için eklenebilen özel aksiyon ikonlarını içerir.
- Kullanım: Her ikon, bir
ReactNodedöner ve kullanıcı etkileşimiyle çalışır. - Örnek:
actionIcons = [
(row) => <button onClick={() => console.log(row)}>Custom Action</button>,
];
-
handleEditIconClick
- Tanım: Düzenleme ikonuna tıklama olayını yöneten fonksiyon.
- Kullanım: Düzenleme işlemine özel bir işlev tanımlamak veya varsayılan düzenleme davranışını çalıştırmak için kullanılır.
-
handleDeleteIconClick
- Tanım: Silme ikonuna tıklama olayını yöneten fonksiyon.
- Kullanım: Silme işlemine özel bir işlev tanımlamak veya varsayılan silme davranışını çalıştırmak için kullanılır.
-
tableProps
- Tanım: Tablo özelliklerini içerir ve düzenleme/silme işlemleri için özel işlevler tanımlanmasına olanak tanır.
- Kullanım:
showEditIconveyashowDeleteIcongibi özellikleri kontrol etmek için kullanılır.
-
opsService.handleEdit (Varsayılan)
- Tanım: Satır düzenleme işlemini gerçekleştiren varsayılan bir servis fonksiyonu.
- Kullanım: Kullanıcının tıkladığı satırın düzenleme işlemini başlatır.
-
opsService.handleDelete (Varsayılan)
- Tanım: Satır silme işlemini gerçekleştiren varsayılan bir servis fonksiyonu.
- Kullanım: Kullanıcının tıkladığı satırı veritabanından siler ve tabloyu günceller.
-
Düzenleme:
- Kullanıcı Etkileşimi: Kullanıcı düzenleme ikonuna tıkladığında
handleEditIconClickçalışır. - İşleyiş:
- Eğer
tableProps.handleEditIconClicktanımlıysa bu fonksiyon çağrılır. - Varsayılan işlev olarak
opsService.handleEditkullanılabilir.
- Eğer
- Kullanıcı Etkileşimi: Kullanıcı düzenleme ikonuna tıkladığında
-
Silme:
- Kullanıcı Etkileşimi: Kullanıcı silme ikonuna tıkladığında
handleDeleteIconClickçalışır. - İşleyiş:
- Eğer
tableProps.handleDeleteIconClicktanımlıysa bu fonksiyon çağrılır. - Varsayılan işlev olarak
opsService.handleDeletekullanılabilir.
- Eğer
- Kullanıcı Etkileşimi: Kullanıcı silme ikonuna tıkladığında
-
Özel Aksiyonlar:
actionIconsdizisi, her satır için özelleştirilmiş aksiyonlar eklemek için kullanılır.- Kullanıcı tanımlı bu aksiyonlar, her bir satırda bağımsız olarak çalışır.
İlgili Bileşenler
- OpsTable: Aksiyon hücresinin bulunduğu ana tablo bileşeni.
- OpsTableProvider: Tablonun genel yapılandırmasının sağlandığı üst bileşen.
Burada Yapılan Ana İşlemler
Actions Cell bileşeninde aşağıdaki işlemler anahtar rol oynar ve bu olaylara müdahale etmek için ilgili bölümlere odaklanabilirsiniz:
- Düzenleme ve Silme Yönetimi: Satır seviyesinde düzenleme ve silme işlemleri
handleEditIconClickvehandleDeleteIconClickile yönetilir. - Özel Aksiyonlar: Kullanıcıların ihtiyaçlarına göre aksiyon ikonları
actionIconsile özelleştirilebilir.
Örnek Kullanım
import React from "react";
import ActionsCell from "./ActionsCell";
export default function ExampleActionsCell({ row, actionIcons, tableProps }) {
return (
<ActionsCell
row={row}
actionIcons={actionIcons}
handleEditIconClick={(row) => console.log("Edit clicked", row)}
handleDeleteIconClick={() => console.log("Delete clicked")}
tableProps={tableProps}
/>
);
}