The dc.js filters are functions which are passed into crossfilter to chose which records will be accumulated to produce values for the charts. In the crossfilter model, any filters applied on one dimension will affect all the other dimensions but not that one. dc always applies a filter function to the dimension; the function combines multiple filters and if any of them accept a record, it is filtered in.
These filter constructors are used as appropriate by the various charts to implement brushing. We mention below which chart uses which filter. In some cases, many instances of a filter will be added.
Each of the dc.js filters is an object with the following properties:
isFiltered- a function that returns true if a value is within the filter
filterType- a string identifying the filter, here the name of the constructor
Currently these filter objects are also arrays, but this is not a requirement. Custom filters can be used as long as they have the properties above.