Column Filters Technical Reference

Summary

  • The Column Filter Applied Event fires whenever a Column Filter is applied in AdapTable
  • Column Filter API Section of Adaptable API contains functions that manage AdapTable Column Filters
  • Column Filter Options provide many functions to run Column Filters
  • AdapTable supplies a large number of System Predicates that can be used in Column Filters

Column Filter State

There is no separate Column Filter State section in Initial Adaptable State.

Instead Column Filters are defined as a property of a Layout as part of Layout Initial State.


Filter Options

There are many filtering options in Filter Options section of AdapTable Options.

PropertyDescriptionDefault
clearFiltersOnStartUpClear Grid and Column Filters when AdapTable loadstrue
columnFilterOptionsOptions for managing Column Filters
customInFilterValuesProvide custom values (or sorting / count info) when using In Predicate in Column or Grid Filter
enableFilterOnSpecialColumnsAllow filtering on Calculated & FreeText columnstrue
filterActionOnDataChangeWhen to re-filter grid after data changes: 'Always', 'Never' or 'Throttle' (with a delay value)'Always'
gridFilterOptionsOptions for managing the Grid Filter
isRowFilterableConfigures whether Rows will be evaluated when filtering
showDatePickerShow Date Picker (or Date Input) in Filter controlstrue
useAdaptableFilteringUse Adaptable's Column & Grid Filters in preference to AG Grid's filteringtrue

Column Filter Options

This includes a dedicated Column Filter Options section to enable full configuration of Column Filters.

PropertyDescriptionDefault
defaultArrayColumnFilterDefault filter type for array Columns ('textArray', 'numberArray', etc.)In
defaultDateColumnFilterDefault filter type for date ColumnsOn
defaultNumericColumnFilterDefault filter type for numeric ColumnsEquals
defaultTextColumnFilterDefault filter type for text ColumnsContains
hideQuickFilterDropdownHides Dropdown in Quick Filter Bar for a given Columnundefined
hideQuickFilterInputHides Input in Quick Filter Bar for a given Columnundefined
indicateFilteredColumnsMake Column Header distinctive for filtered columns, helps users see currently filtered columnstrue
manuallyApplyColumnFilterManually apply Column Filters; an Apply Filter button is displayed and Quick Filter is disabledfalse
quickFilterDebounceTime to wait (in ms) before Filter Bar reacts to new value250
quickFilterHeightHeight of Quick Filter Bar (if not provided, AG Grid default is used)null
quickFilterWildcardsShortcut Keys to activate a Quick Filter Predicate
showQuickFilterDisplay Quick Filter Bar between Column Header and Grid (provided its been setup)true

Column Filter API

The Column Filter API section of AdapTable API / FilterAPI enables Column Filters to be accessed, created, edited, deleted, suspended and shared programmatically:

MethodDescription
addBlanksToInFilterValues(columnDistinctValues)Adds the Blanks Predicate if any value is null, undefined or an empty string
clearAndSetColumnFilters(columnFilters)Clears existing Column Filters and sets new ones
clearColumnFilter(columnFilter)Clears given Column Filter in the current Layout
clearColumnFilterForColumn(columnId)Clears Column Filter for given Column
clearColumnFilters()Clears all Column Filters in the Current Layout
clearColumnFiltersForColumns(columns)Clears Column Filters for given set of Columns
columnFiltersToString(columnFilters)Retrieves descriptions of given Column Filters
columnFilterToString(columnFilter)Retrieves description of given Column Filter
getActiveColumnFilters()Retrieves all active/no-suspended Column Filters in currently applied Layout
getColumnFilterDefs()Retrieves the Column Filter definitions for all available Column Filters
getColumnFilterForColumn(columnId)Retrieves the Column Filter for the specified Column.
getColumnFilters()Retrieves all Column Filters in currently applied Layout
getColumnFiltersForLayout(layoutName)Retrieves all Column Filters in a given Layout
getFilterPredicateDefsForColumn(column)Gets all Filter Predicates available for a given Column
getFilterPredicateDefsForColumnId(columnId)Gets all Filter Predicates available for a given ColumnId
hideQuickFilterBar()Hides Quick Filter bar
isColumnFilterActive(columnFilter)Checks if a Column Filter is active (i.e. Predicate has no inputs or has inputs with values)
isColumnFilterActiveForColumn(columnId)Checks if the given Coumn has an active Column Filter
isQuickFilterAvailable()Whether Quick Filter is available for use
isQuickFilterVisible()Whether Quick Filter Form is currently visible
refreshAllFilterValues()Refreshes (reloads) the filter values for ALL Columns (for IN Filter).
refreshFilterValues(columnId)Refresh(reload) the filter values for a given Column (for IN Filter).
resetAllFilterValues()Reset(clear cache) the filter values for ALL Columns (for IN Filter).
resetFilterValues(columnId)Reset(clear cache) the filter values for a given Column (for IN Filter).
setColumnFilterForColumn(columnId, predicate)Sets the Column Filter for a given Column (clears any existing)
setColumnFilters(columnFilters)Sets Column Filters in current Layout; replaces filters for existing column, leaving other column filters in place
showQuickFilterBar()Makes Quick Filter Bar appear
suspendAllColumnFilters()Suspends all Column Filters
suspendColumnFilter(columnFilter)Suspends a Column Filter
unSuspendAllColumnFilters()Unsuspend all Column Filters
unSuspendColumnFilter(columnFilter)Unsuspend a Column Filter

Column Filter Applied Event

The Column Filter Applied Event is triggered whenever a Column Filter is applied in AdapTable.

Hint

This is often used when wanting to evaluate expressions on the Server

ColumnFilterAppliedInfo

The Event's columnfilterappliedinfo object contains a collection of currently applied Column Filters:

PropertyDescription
columnFiltersCurrently applied Column Filters
adaptableContextCustom application Context provided in AdaptableOptions.adaptableContext

Event Subscription

Subscribing to the Event is done the same way as with all Adaptable Events:

api.eventApi.on('ColumnFilterApplied', (eventInfo: ColumnFilterAppliedInfo) => {
    // do something with the info
});

System Filter Predicates

AdapTable provides a large number of Predicates - which are available for both developers and end users.

Hint

Most System Predicates are available for use when creating Column Filters.

The full list (including the Column Data Type they operate on, and the number of Inputs they accept) is:

PredicateColumn Data TypeNumber of Inputs
Blanks(All)0
NonBlanks(All)0
In(All)n
NotIn(All)n
Equalsnumber1
NotEqualsnumber1
GreaterThannumber1
LessThannumber1
Positivenumber0
Negativenumber0
Zeronumber0
NotBetweennumber2
Istext1
IsNottext1
Containstext1
NotContainstext1
StartsWithtext1
EndsWithtext1
Regextext1
Todaydate0
Yesterdaydate0
Tomorrowdate0
ThisWeekdate0
ThisMonthdate0
ThisQuarterdate0
ThisYeardate0
InPastdate0
InFuturedate0
Beforedate1
Afterdate1
Ondate1
NotOndate1
NextWorkDaydate0
LastWorkDaydate0
WorkDaydate0
Holidaydate0
Rangedate2
Trueboolean0
Falseboolean0