Skip to main content
Version: 1.0.1

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ığı

  1. 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.
  2. 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

ParametreTipiAçıklama
dataany[]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.
  • 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.