Skip to content

Commit 56ad615

Browse files
authored
Add table parameter to custom filter (#78)
1 parent 2a30729 commit 56ad615

4 files changed

Lines changed: 21 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- `table` as `customFilter` parameter.
13+
- export for `getModelFromColumnFilter` and `getColumnFilterFromModel` utility functions.
14+
1015
## [5.9.1] - 2024-12-19
1116

1217
### Fixed

src/index.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
export * from "./lib/translations/translations";
2-
export * from "./lib/useReactDataTableState/useReactDataTableState";
3-
export * from "./lib/useReactDataTable/useReactDataTable";
4-
export * from "./lib/ReactDataTable/ReactDataTable";
5-
export * from "./lib/utils/getStronglyTypedColumnFilter";
6-
export * from "./lib/useFullyControlledReactDataTable/useFullyControlledReactDataTable";
7-
export * from "./lib/utils/createReactDataTableColumnHelper";
1+
export * from "./lib/translations/translations";
2+
export * from "./lib/useReactDataTableState/useReactDataTableState";
3+
export * from "./lib/useReactDataTable/useReactDataTable";
4+
export * from "./lib/ReactDataTable/ReactDataTable";
5+
export * from "./lib/utils/getStronglyTypedColumnFilter";
6+
export * from "./lib/useFullyControlledReactDataTable/useFullyControlledReactDataTable";
7+
export * from "./lib/utils/createReactDataTableColumnHelper";
8+
export * from "./lib/utils/getColumnFilterFromModel";
9+
export * from "./lib/utils/getModelFromColumnFilter";

src/lib/ReactDataTable/ReactDataTable.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,10 @@ const ReactDataTable = <TData, TFilter extends FilterModel = Record<string, neve
215215
{header.column.getCanFilter() && (
216216
<>
217217
{meta?.customFilter ? (
218-
meta?.customFilter(getFilterValue(header.column, table), (value) =>
219-
setFilterValue(header.column, table, value),
218+
meta?.customFilter(
219+
getFilterValue(header.column, table),
220+
(value) => setFilterValue(header.column, table, value),
221+
table,
220222
)
221223
) : meta?.dropdownFilter ? (
222224
<Input

src/react-table.d.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable @typescript-eslint/no-unused-vars */
22
import "@tanstack/react-table";
3-
import { RowData } from "@tanstack/react-table";
3+
import { RowData, Table } from "@tanstack/react-table";
44
import { CSSProperties } from "react";
55

66
interface DropdownColumnFilterOption {
@@ -54,9 +54,10 @@ declare module "@tanstack/table-core" {
5454
* Define a custom filter
5555
* @param filterValue The current value of the filter
5656
* @param setFilterValue The callback to update the filter state
57+
* @param table The table object
5758
* @returns The custom filter component
5859
*/
59-
customFilter?: <T>(filterValue: T, setFilterValue: (filterValue: T) => void) => JSX.Element;
60+
customFilter?: <T>(filterValue: T, setFilterValue: (filterValue: T) => void, table: Table<TData>) => JSX.Element;
6061

6162
/**
6263
* Prevents the column from being drawn

0 commit comments

Comments
 (0)