gitscope
← marzneshin / v0.6.5 / dashboard/src/libs/entity-table/contexts/entity-table-provider.tsx
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/libs/entity-table/contexts/entity-table-provider.tsx · TypeScript
Blame Raw
 1import { createContext, useContext } from "react";
 2import { UseFiltersReturn, UsePrimaryFilterReturn } from "../hooks";
 3import { Table } from "@tanstack/react-table";
 4
 5interface EntityTableContextProps<TData> {
 6    table: Table<TData>
 7    data: TData[]
 8    primaryFilter: UsePrimaryFilterReturn
 9    filters: UseFiltersReturn
10    isLoading: boolean
11}
12
13export const EntityTableContext = createContext<EntityTableContextProps<any> | null>(null);
14
15export const useEntityTableContext = () => {
16    const ctx = useContext(EntityTableContext);
17    if (!ctx)
18        throw new Error('EntityTable.* component must be rendered as child of EntityTable');
19    return ctx;
20}