@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
51 lines • 2.89 kB
TypeScript
import type { RefObject } from '@mui/x-internals/types';
import type { GridRowTreeConfig, GridFilterState, GridFilterModel, GridRowModel, GridColDef, GridKeyValue, GridDataSource } from '@mui/x-data-grid-pro';
import { type GridAggregatedFilterItemApplier, type GridColumnRawLookup, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
import type { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
import type { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from "./gridRowGroupingInterfaces.js";
import type { GridStatePremium } from "../../../models/gridStatePremium.js";
import type { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn };
export declare const getRowGroupingFieldFromGroupingCriteria: (groupingCriteria: string | null) => string;
interface FilterRowTreeFromTreeDataParams {
rowTree: GridRowTreeConfig;
isRowMatchingFilters: GridAggregatedFilterItemApplier | null;
filterModel: GridFilterModel;
filterValueGetter: (row: GridRowModel, column: GridColDef) => any;
apiRef: RefObject<GridPrivateApiPremium>;
}
/**
* A leaf is visible if it passed the filter
* A group is visible if all the following criteria are met:
* - One of its children is passing the filter
* - It is passing the filter
*/
export declare const filterRowTreeFromGroupingColumns: (params: FilterRowTreeFromTreeDataParams) => Omit<GridFilterState, "filterModel">;
export declare const getColDefOverrides: (groupingColDefProp: DataGridPremiumProcessedProps["groupingColDef"], fields: string[], strategy?: RowGroupingStrategy) => import("@mui/x-data-grid-pro").GridGroupingColDefOverride<any> | null | undefined;
export declare const mergeStateWithRowGroupingModel: (rowGroupingModel: GridRowGroupingModel) => (state: GridStatePremium) => GridStatePremium;
export declare const setStrategyAvailability: (privateApiRef: RefObject<GridPrivateApiPremium>, disableRowGrouping: boolean, dataSource?: GridDataSource) => void;
export declare const getCellGroupingCriteria: ({
row,
colDef,
groupingRule,
apiRef
}: {
row: GridRowModel;
colDef: GridColDef;
groupingRule: GridGroupingRule;
apiRef: RefObject<GridPrivateApiPremium>;
}) => {
key: GridKeyValue | null | undefined;
field: string;
};
export declare const getGroupingRules: ({
sanitizedRowGroupingModel,
columnsLookup
}: {
sanitizedRowGroupingModel: GridRowGroupingModel;
columnsLookup: GridColumnRawLookup;
}) => GridGroupingRules;
/**
* Compares two sets of grouping rules to determine if they are equal or not.
*/
export declare const areGroupingRulesEqual: (newValue: GridGroupingRules, previousValue: GridGroupingRules) => boolean;