Aggregation Type Enum
Açıklama: Bu dosya, Ops Table bileşeninde desteklenen toplama türlerini tanımlar. Kullanıcıların tabloda veri toplama işlemleri yapabilmesi için kullanılabilecek toplama türlerini standart hale getirir.
Kod
export enum AggregationTypeEnum {
Avg,
Sum,
Min,
Max,
Count,
}
Ne İşe Yarar?
- Ops Table'da toplama işlemleri için standart toplama türlerini sağlar.
- Tablodaki veriler üzerinde belirli işlemleri yaparken kullanılabilecek türleri belirtir.
Anahtar Değerler
Enum Değeri | Açıklama |
---|---|
Avg | Ortalama hesaplaması yapar. |
Sum | Toplama işlemi yapar. |
Min | Minimum değeri bulur. |
Max | Maksimum değeri bulur. |
Count | Satır sayısını hesaplar. |
Kullanım Alanları
1. AggregationPopover
- Kullanım Amacı: Kullanıcı, toplama türünü seçtiğinde bu enum değerlerinden birini kullanır.
- Kullanıldığı Yer:
AggregationPopover
bileşeninde.
<Select
value={aggregation.type}
onChange={(e) => handleAggregationChange(index, "type", e.target.value)}
>
{Object.keys(AggregationTypeEnum).map((key) => (
<MenuItem key={key} value={AggregationTypeEnum[key]}>
{t(key)}
</MenuItem>
))}
</Select>
2. handleAggregation
- Kullanım Amacı: Toplama işlemleri API'ye gönderilirken toplama türünü belirlemek için kullanılır.
- Kullanıldığı Fonksiyon:
handleAggregation
const requestData: IListRequest = {
aggregation: {
criterias: aggregations.map((agg) => ({
aggregateBy: agg.column,
type: AggregationTypeEnum[agg.type],
})),
},
};
İş Mantığı
-
Toplama Türlerini Tanımlama:
- Kullanıcı arayüzü ve API çağrıları için kullanılabilecek toplama türlerini standart hale getirir.
-
Dinamik Seçim:
- Kullanıcı, arayüzde bir toplama türü seçtiğinde ilgili enum değeri belirlenir ve işlem yapılır.
-
Veri İşleme:
- Toplama türü, ilgili sütunda istenilen işlemi gerçekleştirmek için kullanılır.
Önemli İpuçları
- Enum değerlerini API'nin beklediği toplama türleriyle eşleştirmek önemlidir.
- Yeni bir toplama türü eklenmesi gerektiğinde, bu enum'a ekleme yapılmalıdır.
- Kullanıcı arayüzünde bu değerlerin doğru bir şekilde görüntülenmesi için çeviri (localization) desteği kullanılabilir.