Skip to content

Commit

Permalink
Merge pull request #97 from molgen/multiword-search
Browse files Browse the repository at this point in the history
Enable multiword search in contacts
  • Loading branch information
donald authored Sep 16, 2020
2 parents 8b16d3b + 7511379 commit f60a548
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion mpicms/templates/personal/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,34 @@ <h1 class="title has-text-centered">{% trans 'Contact List' %}</h1>

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

</script>

0 comments on commit f60a548

Please sign in to comment.