MCPcopy Index your code
hub / github.com/OpenPipe/OpenPipe / useFilters

Function useFilters

app/src/components/Filters/useFilters.ts:8–39  ·  view source on GitHub ↗
(options?: { defaultShown?: boolean; urlKey?: string })

Source from the content-addressed store, hash-verified

6const DEFAULT_URL_KEY = "filterData";
7
8export const useFilters = (options?: { defaultShown?: boolean; urlKey?: string }) => {
9 const [filterData, setFilterData] = useQueryParam<{ shown: boolean; filters: FilterData[] }>(
10 options?.urlKey ?? DEFAULT_URL_KEY,
11 withDefault(JsonParam, { shown: !!options?.defaultShown, filters: [] }),
12 );
13
14 const setFiltersShown = (shown: boolean) => setFilterData({ ...filterData, shown });
15
16 const addFilter = (filter: FilterData) => {
17 setFilterData({ shown: true, filters: [...filterData.filters, filter] });
18 };
19 const updateFilter = (filter: FilterData) =>
20 setFilterData({
21 shown: true,
22 filters: filterData.filters.map((f) => (f.id === filter.id ? filter : f)),
23 });
24
25 const removeFilter = (filter: FilterData) =>
26 setFilterData({ ...filterData, filters: filterData.filters.filter((f) => f.id !== filter.id) });
27
28 const setFilters = (filters: FilterData[]) => setFilterData({ shown: true, filters });
29
30 return {
31 filters: filterData.filters,
32 filtersShown: filterData.shown,
33 addFilter,
34 updateFilter,
35 removeFilter,
36 setFiltersShown,
37 setFilters,
38 };
39};
40
41export const constructFiltersQueryParams = ({
42 filters,

Callers 15

ToggleFiltersButtonFunction · 0.90
InitialFiltersFunction · 0.90
SecondaryFiltersFunction · 0.90
InitialResultsFunction · 0.90
EmptyTableRowFunction · 0.90
AddToDatasetModalFunction · 0.90
ExportLogsModalFunction · 0.90
SettingsFunction · 0.90
EmptyTableRowFunction · 0.90
FineTuneModalFunction · 0.90
GeneralFunction · 0.90
AddEvalModalFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected