UNPKG

linagora-rse

Version:
33 lines (24 loc) 657 B
(function(angular) { 'use strict'; angular.module('linagora.esn.contact') .factory('ContactShellComparator', ContactShellComparator); function ContactShellComparator() { return { byDisplayName: byDisplayName }; function getAsAlpha(str) { return (str && /^[ a-z]+$/i.test(str)) ? str.toLowerCase() : '#'; } function byDisplayName(contact1, contact2) { var valueA = getAsAlpha(contact1.displayName); var valueB = getAsAlpha(contact2.displayName); if (valueA < valueB) { return -1; } if (valueA > valueB) { return 1; } return 0; } } })(angular);