diff options
| author | Zaran <zaran.krleza@gmail.com> | 2012-04-18 00:22:37 -0700 |
|---|---|---|
| committer | Zaran <zaran.krleza@gmail.com> | 2012-04-18 00:22:37 -0700 |
| commit | e61de2b221181abacdc162cdb46c0f79eee70ca0 (patch) | |
| tree | 988619a5a359f59c9e4d8306b35655f1e72f4952 /alias-angular | |
| parent | 4dd22b71fc8198d7c8e72d6e0c41cb12298b8133 (diff) | |
| download | alias-e61de2b221181abacdc162cdb46c0f79eee70ca0.tar.gz | |
Finish the search filter feature
A custom filter was needed because we are iterating over keys and values
Diffstat (limited to 'alias-angular')
| -rw-r--r-- | alias-angular/app/index.html | 2 | ||||
| -rw-r--r-- | alias-angular/app/js/alias.js | 2 | ||||
| -rw-r--r-- | alias-angular/app/js/filters.js | 22 |
3 files changed, 18 insertions, 8 deletions
diff --git a/alias-angular/app/index.html b/alias-angular/app/index.html index f8c7083..8a23622 100644 --- a/alias-angular/app/index.html +++ b/alias-angular/app/index.html @@ -27,7 +27,7 @@ </div> </form> <ul> - <li ng-repeat="(key,value) in contacts | filter: query">{{value.name}} <small>({{key}})</small></li> + <li ng-repeat="(key,value) in contacts | rosterFilter:query">{{value.name}} <small>({{key}})</small></li> </ul> </div> <script src="lib/angular/angular.js"></script> 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 |
