generateFilters
Açıklama: Bu fonksiyon, API'den gelen veya kullanıcı tarafından sağlanan filtreleme kriterlerini tabloya uygun bir formata dönüştürür. Tablonun filtreleme işlemleri için gerekli veri yapısını hazırlar.
Kod
generateFilters(criterias?: IFilterCriteria[]): ITableFilters[] {
const filters = criterias?.map((criteria) => {
return {
column: criteria?.filterBy as string,
operator: criteria?.type,
type: criteria?.filterType,
value: criteria?.value,
otherValue: criteria?.otherValue,
};
});
return filters || [];
}
Ne İşe Yarar?
- Filtreleme kriterlerini işler ve tablo filtreleme işlemleri için uygun hale getirir.
- Kullanıcının seçtiği filtrelerin işlenip API'ye gönderilmesini sağlar.
Parametreler
| Parametre | Tipi | Açıklama |
|---|---|---|
criterias | IFilterCriteria[] | API veya kullanıcı tarafından sağlanan filtreleme kriterleri. |
Dönüş Değeri
| Değer | Tipi | Açıklama |
|---|---|---|
filters | ITableFilters[] | Tablo filtreleme işlemleri için uygun formatta filtreler. |
Kullanım Alanları
1. prepareTableData
- Kullanım Amacı: Gelen filtreleme kriterlerini tablo durumuna entegre etmek için çağrılır.
- Kullanıldığı Fonksiyon:
prepareTableData
const filters = this.generateFilters(mergedRequest.filtering?.criterias);
2. FiltersPopover
- Kullanım Amacı: Kullanıcı tarafından seçilen filtreleme seçeneklerini işlemek için çağrılır.
- Kullanıldığı Yer:
FiltersPopoverbileşeninde.
İş Mantığı
- Filtre Kriterlerini İşleme: API'den gelen veya kullanıcı tarafından sağlanan kriterleri işler.
- Alan Adı Eşleme:
filterByalanını, tablo sütunlarıyla eşleştirir. - Operatör ve Değer Formatlama: Filtre türü (
filterType), operatörü (type) ve değerleri (value,otherValue) formatlar. - Varsayılan Değer Dönüşü: Eğer
criteriasboşsa, boş bir dizi döner.
Önemli İpuçları
filterType, filtre türünü tanımlar (Text,Number,Dategibi) ve bu tür tablo filtreleme mantığında kullanılmalıdır.valueveotherValue, filtreleme operatörüne bağlı olarak bir veya iki değer alabilir (Betweenoperatörü için iki değer gereklidir).- Boş veya hatalı kriterler için varsayılan olarak boş bir dizi döndürmek, hata durumlarını önler.