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ığı
-
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.
- Query string,
-
Varsayılan Değerler:
- Query string eksik veya boşsa, varsayılan değerler (
pageNumber: 1
,rowCount: 10
) atanır.
- Query string eksik veya boşsa, varsayılan değerler (
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
Parametre | Tipi | Açıklama |
---|---|---|
query | string | Parse 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
vegetdata
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.
- Kullanım Yeri:
-
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.
- Kullanım Yeri:
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.