I have a global filter that filters data based on a text input.
<search-box ng-model="vm.filter.keyword"></search-box>
And, we use the filter like this
<tr ng-repeat="group in vm.groups | searchGlobal:vm.filter.keyword
My filter looks like:
.filter('searchGlobal',
function searchGlobal () {
return function searchGlobal (searchValArr,filterText) {
var filteredData = [];
for(var i = 0; i <searchValArr.length; i++) {
if (searchValArr[i].name.toLowerCase().indexOf(filterText.toLowerCase()) !== -1 ||
searchValArr[i].id.indexOf(filterText) !== -1) {
filteredData.push(searchValArr[i]);
}
}
return filteredData;
};
});
Now, this is the problem.
The fields to look for might just not be name and id.
In some cases they might be name, phone_numbers,
in some case name,age,refNumbers.
How do I handle the scenario logic inside the filter accordingly?
searchGlobal:vm.filter.keyword? I saw it just one param.