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:
generateInitiaTableStatefonksiyonunu çağırarak başlangıç durumu oluşturulur.
- Toplama Verilerini İşleme:
generateAggregationsfonksiyonu kullanılarak API yanıtından toplama verileri işlenir.
- Filtreleri İşleme:
generateFiltersfonksiyonu ç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ı
dataparametresi 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.