julong-lib/utils/event.ts

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 "";
};