@topgrid/grid-pro-filter
Pro: Multi-condition (AND/OR) column filtering — compound FilterFn + 2-condition builder UI · 상용 (EULA)
자동 생성
이 페이지는 소스 코드의 TSDoc 주석에서 자동 생성됩니다(내부 표식 정제). 큐레이트된 시작용 요약은 API 레퍼런스 참고.
총 16개 public export — 함수 8 · 훅 0 · 컴포넌트 1 · 타입 7 · 상수 0.
컴포넌트
MultiFilter
컬럼당 복합(AND/OR) 필터 빌더 — 2 조건 행.
MultiFilter(variant: { … }): Element
| 파라미터 | 타입 | 설명 |
|---|---|---|
variant | { … } | 'text'(contains 등) | 'number'(=,>,… ). column.filterFn 은 각각 multiTextFilterFn / multiNumberFilterFn 으로 등록되어야 한다. |
함수
advancedGlobalFilterFn
: TanStack globalFilterFn 어댑터 — global filter 값을 AdvancedFilterExpr 로 보고
행 단위로 평가한다(columnId 무시 = 행-레벨). null/undefined 식 → 무제약(true).
이것이 차트 cross-filter 의 실 setFilter 배선이다: setGlobalFilter(selectionsToFilter(selections))
로 차트 선택을 그리드의 getFilteredRowModel 에 흘려보내면 그리드가 내부적으로 필터한다(필터 상태가
data prop 가 아니라 테이블에 산다 — global search ✅ 와 동일 구조의 raw-table 배선).
advancedGlobalFilterFn(row: { … }, _columnId: string, filterValue: undefined | null | AdvancedFilterExpr): boolean
예시
const table = useReactTable({ data, columns, state: { globalFilter },
onGlobalFilterChange: setGlobalFilter, globalFilterFn: advancedGlobalFilterFn,
getColumnCanGlobalFilter: () => true, getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel() });
// chart: onSelectCategory={(i) => table.setGlobalFilter(selectionsToFilter([{ field, type, value: cats[i] }]))}
evaluateAdvancedFilter
: 고급 필터 식을 행에 평가(순수, 재귀). group=inert 자식 제거 후 reduce(빈/all-inert→true=무제약).
evaluateAdvancedFilter(expr: AdvancedFilterExpr, row: Record<string, unknown>): boolean
| 파라미터 |
|---|