UNPKG

@mui/x-data-grid

Version:

The community edition of the data grid component (MUI X).

50 lines (49 loc) 2.41 kB
import { GridFilterItem } from '../../../models/gridFilterItem'; import { GridFilterModel } from '../../../models/gridFilterModel'; import { GridRowId } from '../../../models/gridRows'; export declare type GridFilterItemResult = { [key: Required<GridFilterItem>['id']]: boolean; }; export declare type GridQuickFilterValueResult = { [key: string]: boolean; }; export declare const getDefaultGridFilterModel: () => GridFilterModel; export interface GridFilterState { filterModel: GridFilterModel; /** * Filtering status for each row. * A row is filtered if it is passing the filters, whether its parents are expanded or not. * If a row is not registered in this lookup, it is filtered. * This is the equivalent of the `visibleRowsLookup` if all the groups were expanded. */ filteredRowsLookup: Record<GridRowId, boolean>; /** * Visibility status for each row. * A row is visible if it is passing the filters AND if its parents are expanded. * If a row is not registered in this lookup, it is visible. */ visibleRowsLookup: Record<GridRowId, boolean>; /** * Amount of descendants that are passing the filters. * For the Tree Data, it includes all the intermediate depth levels (= amount of children + amount of grand children + ...). * For the Row grouping by column, it does not include the intermediate depth levels (= amount of descendant of maximum depth). * If a row is not registered in this lookup, it is supposed to have no descendant passing the filters. */ filteredDescendantCountLookup: Record<GridRowId, number>; } export interface GridFilterInitialState { filterModel?: GridFilterModel; } /** * @param {GridRowId} rowId The id of the row we want to filter. * @param {(filterItem: GridFilterItem) => boolean} shouldApplyItem An optional callback to allow the filtering engine to only apply some items. */ export declare type GridAggregatedFilterItemApplier = (rowId: GridRowId, shouldApplyItem?: (columnField: string) => boolean) => { passingFilterItems: null | GridFilterItemResult; passingQuickFilterValues: null | GridQuickFilterValueResult; }; export interface GridFilteringMethodParams { isRowMatchingFilters: GridAggregatedFilterItemApplier | null; filterModel: GridFilterModel; } export declare type GridFilteringMethodValue = Omit<GridFilterState, 'filterModel'>;