From e1ded04c9b533818e8a21b496cfdeb031428364c Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Wed, 1 Jan 2020 20:06:38 -0700 Subject: [PATCH] Autofill: number-only results are now subject to user input filtering --- www/assets/js/autofill.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/www/assets/js/autofill.js b/www/assets/js/autofill.js index 43a7874..dc737b9 100644 --- a/www/assets/js/autofill.js +++ b/www/assets/js/autofill.js @@ -76,7 +76,7 @@ function addAutofillEntry(address) { function searchAutofill(q, number) { var byNumber = []; if (typeof number != 'undefined') { - byNumber = searchAutofillByNumber(number); + byNumber = searchAutofillByNumber(number, q); } var byStreet = []; @@ -87,7 +87,7 @@ function searchAutofill(q, number) { return byNumber.concat(byStreet.filter((item) => byNumber.indexOf(item) < 0)); } -function searchAutofillByNumber(number) { +function searchAutofillByNumber(number, q) { if (typeof autofillDB[number] == 'undefined') { return []; } @@ -96,10 +96,18 @@ function searchAutofillByNumber(number) { return b[1] - a[1]; }); + var query = false; + if (typeof q != 'undefined' && q != "") { + query = true; + } + var streets = []; for (var i = 0; i < sorted.length; i++) { - streets.push(sorted[i][0]); + // if there's no search query OR if the query matches the current item + if (!query || (query && sorted[i][0].toLowerCase().includes(q))) { + streets.push(sorted[i][0]); + } } return streets;