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:
generateColumnsfonksiyonunda ç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.