in packages/tablesorter/src/TableSorter.ts [659:694]
private onLineUpFiltered(column: any) {
const colName = column.column && column.column.column;
const ourColumn = this.configuration.columns.filter(n => n.column === colName)[0];
let filter: ITableSorterFilter;
if (ourColumn.type === "number") {
filter = {
column: colName,
value: {
domain: column.scale.domain(),
range: column.scale.range(),
values: column.filter,
},
};
} else {
filter = {
column: colName,
value: column.filter || undefined,
};
}
const newFilters = convertFilters(this.lineupImpl, column);
if (!isEqual(newFilters, this.queryOptions.query)) {
this.updateConfigurationFromLineup(column);
this.raiseFilterChanged(filter);
// Set the new filter value
this.queryOptions.query = newFilters;
if (this.dataProvider && this.dataProvider.filter) {
this.dataProvider.filter(filter);
}
// We are starting over since we filtered
this.runQuery(true);
}
}