UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

20 lines (19 loc) 1.32 kB
import { mapAdaptablePredicateDefToQlPredicateDef, mapColumnFilterToQlPredicate, qlPredicateToString, } from '../../..//View/Components/ColumnFilter/utils'; import { mapColumnDataTypeToExpressionFunctionType } from '../../../Utilities/adaptableQlUtils'; export const getFilterPreview = (columnFilter, api) => { const columnId = columnFilter.ColumnId; const column = api.columnApi.getColumnWithColumnId(columnId); const columnFilterOptions = api.optionsApi.getFilterOptions().columnFilterOptions; const predicateDefs = api.filterApi.columnFilterApi.getFilterPredicateDefsForColumn(column); const columnType = api.columnApi.getColumnDataTypeForColumnId(columnId); const qlDataType = mapColumnDataTypeToExpressionFunctionType(columnType); const qlPredicateDefs = predicateDefs.map((pd) => mapAdaptablePredicateDefToQlPredicateDef(pd, qlDataType)); const qlPredicate = mapColumnFilterToQlPredicate(columnFilter, column, qlPredicateDefs, columnFilterOptions, 'FilterForm', api); return `${column.friendlyName} ${qlPredicateToString(qlPredicate, qlPredicateDefs)}`; }; export const getLayoutFilterViewItems = (layout, api) => { return { name: 'Column Filters', values: (layout.ColumnFilters ?? []).map((columnFilter) => getFilterPreview(columnFilter, api)), }; };