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
IListRequestformatına taşır. - Sayfa ve satır bilgilerini işlemeye hazır hale getirir.
İş Mantığı
-
Query String Parse İşlemi:
- Query string,
queryString.parsekullanı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
IListRequestformatı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:
initialProcessvegetdatagibi 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:
updateQueryParamsve 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.