From e61de2b221181abacdc162cdb46c0f79eee70ca0 Mon Sep 17 00:00:00 2001 From: Zaran Date: Wed, 18 Apr 2012 00:22:37 -0700 Subject: Finish the search filter feature A custom filter was needed because we are iterating over keys and values --- alias-angular/app/js/alias.js | 2 +- alias-angular/app/js/filters.js | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'alias-angular/app/js') diff --git a/alias-angular/app/js/alias.js b/alias-angular/app/js/alias.js index 4d91880..b127223 100644 --- a/alias-angular/app/js/alias.js +++ b/alias-angular/app/js/alias.js @@ -1,3 +1,3 @@ 'use strict'; // Declare app level module which depends on filters, and services -angular.module('Alias', ['Alias.services']); \ No newline at end of file +angular.module('Alias', ['Alias.services','Alias.filters']); \ No newline at end of file diff --git a/alias-angular/app/js/filters.js b/alias-angular/app/js/filters.js index ef89b6b..ec78870 100644 --- a/alias-angular/app/js/filters.js +++ b/alias-angular/app/js/filters.js @@ -1,9 +1,19 @@ 'use strict'; /* http://docs-next.angularjs.org/api/angular.module.ng.$filter */ -angular.module('myApp.filters', []). - filter('interpolate', ['version', function(version) { - return function(text) { - return String(text).replace(/\%VERSION\%/mg, version); - } - }]); +angular.module('Alias.filters', []). + filter('rosterFilter', function (){ + return function(contacts, query) { + if(!query || query.length == 0) { + return contacts + } else { + var filtered = {}; + $.each( contacts, function(k,v) { + if(k.indexOf(query) > -1) { + filtered[k] = v; + } + }); + return filtered; + } + } + }); \ No newline at end of file -- cgit v1.2.3-70-g09d2