39 lines
1021 B
TypeScript
39 lines
1021 B
TypeScript
import get from "lodash.get";
|
|
import { generateQueryString } from "./generateQueryString";
|
|
import { empty } from "./isStringEmpty";
|
|
|
|
type EventActions = "before-onload" | "onload-param" | string;
|
|
export const events = async (action: EventActions, data: any, param?: any) => {
|
|
switch (action) {
|
|
case "onload-param":
|
|
let params = {
|
|
...data,
|
|
page: get(data, "paging"),
|
|
page_size: get(data, "take"),
|
|
search: get(data, "search"),
|
|
};
|
|
params = {
|
|
...params,
|
|
};
|
|
if (params?.sort) {
|
|
params = {
|
|
...params,
|
|
...params?.sort,
|
|
};
|
|
}
|
|
delete params["sort"];
|
|
delete params["paging"];
|
|
delete params["take"];
|
|
const result = generateQueryString(params);
|
|
const parameter2 =
|
|
typeof param === "string" && param ? param?.replace(/^\?/, "") : "";
|
|
return `${result}${!empty(parameter2) ? `&${parameter2}` : ``}`;
|
|
return;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
return "";
|
|
};
|