UNPKG

rez-table-listing-mui

Version:

A rez table listing component built on TanStack Table

161 lines (143 loc) 4.2 kB
import { api } from "./common"; import { createSavedFilterPayload, deleteSavedFilterPayload, updateSavedFilterPayload, } from "../../types/filter"; import { viewSettingsDropDownAPIProps } from "../../types/common"; export const entityTableMetaMaster = async (entity_type: string) => { try { const response = await api.post( `/meta/get-table-data?entity_type=${entity_type}&list_type=${entity_type}` ); const rawColumns = response.data?.data?.column_list || []; const res = rawColumns.map((item: any) => ({ id: item.attribute_key, accessorKey: item.attribute_key, header: item.name, })); return { res }; } catch (error) { console.error("Failed to fetch table meta:", error); return { res: [] }; } }; export const entityTableFilterMaster = async (entity_type: string) => { try { const response = await api.post( `/meta/get-table-data?entity_type=${entity_type}&list_type=${entity_type}` ); // const filteredData = { // ...response.data.data, // column_list: response.data.data.column_list.filter( // (item: any) => item.attribute_key !== "action" // ), // }; // return response.data.data; // return filteredData; // FOR ACTION COLUMN REMOVE return response.data.data; } catch (error) { console.error("Failed to fetch filter operation list meta:", error); } }; export const fetchDetailsByFilterId = async (filterId: string) => { const response = await api.get(`/filter/${filterId}`); return response.data; }; export const commonGetDropdownDataAPI = async ( entity_type: string, // organization_id?: string | null, data?: any ) => { try { const requestBody = { status: "ACTIVE", organization_id: 1, ...data, }; const response = await api.post( `/list-master/getDropdownData/${entity_type}`, requestBody ); return response.data; } catch (error) { console.error("Failed to fetch dropdown data:", error); throw error; } }; export const createSavedFilter = async ( entity_type: string, payload: createSavedFilterPayload ) => { try { const response = await api.post( `/entity/create?entity_type=${entity_type}`, payload ); return response.data; } catch (error) { console.error("Failed to fetch saved filter list:", error); throw error; } }; export const deleteSavedFilter = async ( entity_type: string, payload: deleteSavedFilterPayload ) => { try { const response = await api.post( `/entity/update/${payload?.id}?entity_type=${entity_type}`, payload ); return response.data; } catch (error) { console.error("Failed to delete saved filter:", error); throw error; } }; export const updateSavedFilter = async ( entity_type: string, payload: updateSavedFilterPayload ) => { try { const response = await api.post( `/entity/update/${payload?.id}?entity_type=${entity_type}`, payload ); return response.data; } catch (error) { console.error("Failed to update saved filter:", error); throw error; } }; // ALL View Settings API export const saveSettingsData = async (payload: any) => { try { const response = await api.post(`/entity/create?entity_type=LAP`, payload); return response.data; } catch (error) { console.error("Failed to save settings data:", error); throw error; } }; export const getSettingsData = async (entity_type: any) => { try { const response = await api.get( `layout-preference?entity_type=${entity_type}` ); return response.data; } catch (error) { console.error("Failed to fetch settings data:", error); throw error; } }; export const viewSettingsDropDown = async ({ entity_type, column, sort_by, }: viewSettingsDropDownAPIProps): Promise<Array<string>> => { const response = await api.get( `/layout-preference/column?entity_type=${entity_type}&column=${column}&sort_by=${sort_by}` ); return response.data; };