'use strict'; /* http://docs-next.angularjs.org/api/angular.module.ng.$filter */ angular.module('Alias.filters', []). filter('rosterFilter', function (){ return function(contacts, query) { if(!query) { return contacts; } else { return _.filter(contacts, function(contact) { return (contact.hasOwnProperty('name') && contact.name.indexOf(query) > -1) || (contact.jid.indexOf(query) > -1 || contact.jid.indexOf(query) > -1); }); } }; }).filter('showoffline', function() { return function(contacts, checkoffline) { if(checkoffline) { return contacts; } else { return _.filter(contacts, function(contact) { return contact.status != "offline"; }); }; }; }).filter('formatStatus',function() { return function(status) { switch(status) { case "chat": return "Online"; case "away": return "Away"; case "xa": return "Extended Away"; case "dnd": return "Do Not Disturb"; case "offline": return "Offline"; } }; });