Sort By Pinned
sortByPinned
yardımcı fonksiyonu, bir veri dizisini pinned
özelliğine göre sıralar. Bu fonksiyon, Ops Table bileşeninde sabitlenmiş (pinned) verilerin üst sıralarda görüntülenmesini sağlar.
Ne İşe Yarar?
Sort By Pinned:
- Verileri
pinned
özelliğine göre sıralar. - Sabitlenmiş verileri (pinned: true) dizinin başına yerleştirir.
- Veri sıralaması sırasında sabitlenmeyen öğelerin sırasını bozmadan tutar.
İş Mantığı
-
Pinned Kontrolü:
- Veriler,
pinned
özelliğine bakılarak sıralanır. - Eğer bir veri sabitlenmişse (
pinned: true
), üst sıralara taşınır.
- Veriler,
-
Orijinal Sıralama Koruması:
- Sabitlenmeyen veriler, dizideki orijinal sıralarını korur.
Fonksiyon Tanımı
export function sortByPinned(data: any[]) {
const dataCopy = [...data];
return dataCopy?.sort((a, b) => {
if (a.pinned && !b.pinned) {
return -1; // a üstte olsun
} else if (!a.pinned && b.pinned) {
return 1; // b üstte olsun
} else {
return 0; // sıralama değişmesin
}
});
}
Parametreler
Parametre | Tipi | Açıklama |
---|---|---|
data | any[] | Sıralanacak veri dizisi. |
Dönüş Değeri
any[]
:pinned
özelliğine göre sıralanmış bir veri dizisi.
Kullanım Örneği
Girdi Verisi
const data = [
{ id: 1, name: "Item 1", pinned: false },
{ id: 2, name: "Item 2", pinned: true },
{ id: 3, name: "Item 3", pinned: false },
{ id: 4, name: "Item 4", pinned: true },
];
Çağrı
const sortedData = sortByPinned(data);
console.log(sortedData);
Çıktı
[
{ id: 2, name: "Item 2", pinned: true },
{ id: 4, name: "Item 4", pinned: true },
{ id: 1, name: "Item 1", pinned: false },
{ id: 3, name: "Item 3", pinned: false },
];
Kullanım Alanları
Sort By Pinned, Ops Table ekosisteminde aşağıdaki alanlarda ve fonksiyonlarda kullanılır:
-
Ops Table Service (
TableService.ts
):- Kullanım Yeri:
generateColumns
fonksiyonunda çağrılır. - Amaç: Sütunların sabitlenmiş olanlarını (
pinned: true
) üst sıralarda göstermek.
- Kullanım Yeri:
-
Custom Table Headers:
- Kullanım Yeri: Tablo başlıklarının sırasını belirlerken çağrılır.
- Amaç: Kullanıcının sabitlediği başlıkları öne çıkarmak.
Burada Yapılan Ana İşlemler
Sort By Pinned fonksiyonu, aşağıdaki işlemleri gerçekleştirir ve bu noktalarda özelleştirilebilir:
- Pinned Durumu Kontrolü: Veriler,
pinned
özelliğine göre sıralanır. - Sıralama Koruması: Sabitlenmeyen öğelerin orijinal sırası korunur.
- Performans Optimizasyonu: Dizinin bir kopyası oluşturularak orijinal veri değiştirilmez.