Im using $filter to filter my array.
var filteredData = params.filter() ?
$filter('filter')($scope.myNgTable.data, params.filter()):
$scope.myNgTable.data;
I created a multiple select filter, to filter by, but it returns an array: col: ["a","b"], which does not work with $filter for what I see.
I want when the filter is col: ["a","b"] it would show all rows with col contains "a" or col contains "b". (if there is only a way for equal that s fine: col == "a" or col == "b")
Is that possible?
Answer:
.filter("in_Array", function ($filter){
return function(data, filter){
var out = [];
$.each(filter, function(key,val) {
var obj = {};
for(var i=0;i<val.length;i++) {
obj[key] = val[i];
var tmp = $filter('filter')(data, obj);
out = $.unique($.merge(out, tmp));
}
});
return out;
};
});