diff --git a/mpicms/templates/personal/list.html b/mpicms/templates/personal/list.html
index 10afa74..2382ada 100644
--- a/mpicms/templates/personal/list.html
+++ b/mpicms/templates/personal/list.html
@@ -70,10 +70,34 @@
{% trans 'Contact List' %}
var userList = new List('contacts', options);
+ function searchFunction(searchString, columns) {
+ var words = searchString.trim().split(/\s+/);
+ for (var item of userList.items) {
+ var values = item.values();
+ item.found = true;
+ for (var word of words) {
+ var word_found = false;
+ for (var column of columns) {
+ if (values.hasOwnProperty(column) && values[column] !== undefined && values[column] !== null) {
+ var text = (typeof values[column] !== 'string') ? values[column].toString() : values[column];
+ if (text.toLowerCase().indexOf(word) !== -1) {
+ word_found = true;
+ break;
+ }
+ }
+ }
+ if (word_found == false) {
+ item.found = false;
+ break;
+ }
+ }
+ }
+ }
+
var search_field = document.getElementById('search_field');
search_field.addEventListener('keyup', function() {
var searchString = search_field.value;
- userList.search(searchString);
+ userList.search(searchString, ['first_name', 'last_name', 'email', 'phone'], searchFunction);
});