Ana içeriğe geç
Version: 1.0.1

Query String to List Request

queryStringToListRequest yardımcı fonksiyonu, bir URL query string'ini listeleme isteği nesnesine (IListRequest) dönüştürerek Ops Table bileşeninde kullanılmasını sağlar. Bu, tarayıcı URL'sindeki filtre, sıralama ve sayfa bilgilerini tekrar kullanılabilir hale getirir.

Ne İşe Yarar?

Query String to List Request:

  • URL query string'ini parse ederek bir nesneye dönüştürür.
  • Query string'deki filtreleme, sıralama ve toplama bilgilerini IListRequest formatına taşır.
  • Sayfa ve satır bilgilerini işlemeye hazır hale getirir.

İş Mantığı

  1. Query String Parse İşlemi:

    • Query string, queryString.parse kullanılarak bir nesneye dönüştürülür.
    • Parse edilen veriler, JSON formatından geri çevrilerek nesne yapısına dahil edilir.
  2. Varsayılan Değerler:

    • Query string eksik veya boşsa, varsayılan değerler (pageNumber: 1, rowCount: 10) atanır.

Fonksiyon Tanımı

import queryString from "query-string";

export function queryStringToListRequest(query: string): IListRequest {
if (!query) {
return {
pageNumber: 1,
rowCount: 10,
};
}

const parsed = queryString.parse(query);

return {
pageNumber: parseInt(parsed.pageNumber as string, 10),
rowCount: parseInt(parsed.rowCount as string, 10),
filtering: parsed.filtering
? JSON.parse(parsed.filtering as string)
: undefined,
sorting: parsed.sorting ? JSON.parse(parsed.sorting as string) : undefined,
aggregation: parsed.aggregation
? JSON.parse(parsed.aggregation as string)
: undefined,
};
}

Parametreler

ParametreTipiAçıklama
querystringParse edilecek URL query string.

Dönüş Değeri

  • IListRequest formatında bir nesne.

Kullanım Örneği

Girdi Verisi

const queryString =
'pageNumber=1&rowCount=10&filtering={"criterias":[{"field":"name","operator":"contains","value":"John"}]}&sorting={"field":"date","order":"asc"}&aggregation={"criterias":[{"field":"amount","type":"sum"}]}';

Çağrı

const listRequest = queryStringToListRequest(queryString);
console.log(listRequest);

Çıktı

{
pageNumber: 1,
rowCount: 10,
filtering: {
criterias: [
{ field: "name", operator: "contains", value: "John" }
]
},
sorting: { field: "date", order: "asc" },
aggregation: {
criterias: [
{ field: "amount", type: "sum" }
]
}
}

Kullanım Alanları

Query String to List Request, Ops Table ekosisteminde aşağıdaki alanlarda ve fonksiyonlarda kullanılır:

  • Ops Table Service (TableService.ts):

    • Kullanım Yeri: initialProcess ve getdata gibi veri işleme fonksiyonlarında query string'i listeleme isteğine dönüştürmek için çağrılır.
    • Amaç: Backend'den alınan veya URL'den gelen query string'in tablo filtreleme ve sıralama ayarlarına dönüştürülmesi.
  • URL Yönetimi:

    • Kullanım Yeri: updateQueryParams ve tarayıcı URL'sine bağlı tablo ayarlarının yönetiminde kullanılır.
    • Amaç: Kullanıcının tarayıcı URL'sine yazdığı filtre ve sıralama ayarlarını tabloya dinamik olarak uygulamak.

Query String to List Request, Ops Table ekosisteminde aşağıdaki alanlarda kullanılır:

  • Ops Table Service (TableService.ts):

    • Backend'den dönen query string'i tablo filtreleme ve sıralama ayarlarına dönüştürmek için kullanılır.
  • URL Yönetimi:

    • Kullanıcının tarayıcı URL'sine yazdığı filtre ve sıralama ayarlarını tabloya uygulamak için kullanılır.

Burada Yapılan Ana İşlemler

Query String to List Request fonksiyonu, aşağıdaki işlemleri gerçekleştirir ve bu noktalarda özelleştirilebilir:

  • Query String Parse: URL'deki query string'i parse ederek JSON nesnesine dönüştürür.
  • Varsayılan Değerler: Eksik veya yanlış query string durumunda varsayılan sayfa ve satır bilgilerini döner.
  • JSON Nesne Dönüşümü: Parse edilen verileri listeleme isteği formatına dönüştürür.