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); });