У меня есть функция, которую вызывают несколько таблиц данных. Вот упрощенная версия этого:
addFilter(tableElement: ElementRef, headerName) {
$.fn.dataTable.ext.search.push(
function (settings, data) {
// check table so we only filter the table that was passed in
if (settings.nTable.id !== tableElement.nativeElement.id) {
return true;
}
const columns = settings.aoColumns;
const columnObject = columns.find(function (column) { return column.sTitle === headerName; });
if (columnObject) {
const columnIndex = columnObject.mData;
if (data[columnIndex] === 'true') {
return true;
} else {
return false;
}
}
}
);
}
Так что это делает то, что я хочу, но проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда я нажимаю значок сортировки / порядка в столбце, функция, которая передается в $ .fn.dataTable.ext.search.push, получает называется. Это не вызывает функцию addFilter все же. Просто как-то выполняется функция, которая передается в push. Я предполагаю, что когда вы щелкаете по значку сортировки, это вызывает ничью на столе, но я не понимаю, как будет вызываться моя функция push.