prepareTableData
Açıklama: Bu fonksiyon, API'den gelen yanıt verilerini ve mevcut istek parametrelerini kullanarak tablo durumunu hazırlar. Tablonun başlangıç durumunu, toplama verilerini ve filtrelerini düzenler.
Kod
prepareTableData(data: ITableResponse<T>, mergedRequest: IListRequest) {
const initialTableState = this.generateInitiaTableState(data);
const aggregations =
this.generateAggregations(data?.aggregationResults) || [];
const filters = this.generateFilters(mergedRequest?.filtering?.criterias);
const newData: IOpsTableReducer = {
initialTableState,
aggregations,
filters,
tableResponse: data,
tableLoading: false,
tableRequest: mergedRequest,
};
return newData;
}
Ne İşe Yarar?
- Tablonun durumunu API yanıtına göre hazırlar.
- Toplama ve filtreleme işlemleri için gerekli verileri işler.
- Redux Store'a tablo durumunu göndermek için kullanılır.
Parametreler
Parametre | Tipi | Açıklama |
---|---|---|
data | ITableResponse<T> | API'den gelen tablo yanıtı. |
mergedRequest | IListRequest | Mevcut ve yeni istek parametrelerinin birleştirilmiş hali. |
Dönüş Değeri
Değer | Tipi | Açıklama |
---|---|---|
newData | IOpsTableReducer | Redux Store'a kaydedilecek tablo durum nesnesi. |
Kullanım Alanları
1. initialProcess
- Kullanım Amacı: Tablonun ilk yükleme durumunu oluşturmak için çağrılır.
- Kullanıldığı Fonksiyon:
initialProcess
const tableState = this.prepareTableData(response?.data, currentRequest);
2. getdata
- Kullanım Amacı: Veri alma işlemleri sırasında tablo durumunu güncellemek için çağrılır.
- Kullanıldığı Fonksiyon:
getdata
const tableState = this.prepareTableData(response?.data, mergedRequest);
İş Mantığı
- Başlangıç Durumunu Oluşturma:
generateInitiaTableState
fonksiyonunu çağırarak başlangıç durumu oluşturulur.
- Toplama Verilerini İşleme:
generateAggregations
fonksiyonu kullanılarak API yanıtından toplama verileri işlenir.
- Filtreleri İşleme:
generateFilters
fonksiyonu çağrılarak filtreleme kriterleri tabloya uygun hale getirilir.
- Durum Nesnesi Hazırlama:
- Tüm veriler birleştirilerek tablo durum nesnesi oluşturulur ve döndürülür.
Önemli İpuçları
data
parametresi API'den gelen yanıtın tamamını içermelidir. Eksik veya hatalı veri durumunda tablo durumunu doğru oluşturamaz.mergedRequest
, kullanıcı etkileşimlerinden kaynaklanan güncellemeleri içermelidir. Bu, filtreleme, sıralama ve sayfalama gibi işlemleri kapsar.- Bu fonksiyonun döndürdüğü nesne, Redux Store'da tablo durumunu güncellemek için kullanılır.