UNPKG

angular-filter

Version:

Bunch of useful filters for angularJS(with no external dependencies!)

39 lines (30 loc) 909 B
/** * @ngdoc filter * @name fuzzyByKey * @kind function * * @description * fuzzy string searching by key */ angular.module('a8m.fuzzy-by', []) .filter('fuzzyBy', ['$parse', function ( $parse ) { return function (collection, property, search, csensitive) { var sensitive = csensitive || false, prop, getter; collection = isObject(collection) ? toArray(collection) : collection; if(!isArray(collection) || isUndefined(property) || isUndefined(search)) { return collection; } getter = $parse(property); return collection.filter(function(elm) { prop = getter(elm); if(!isString(prop)) { return false; } prop = (sensitive) ? prop : prop.toLowerCase(); search = (sensitive) ? search : search.toLowerCase(); return hasApproxPattern(prop, search) !== false }) } }]);