_postal_search.js
3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
import Fuse from 'fuse.js'
// import DataTable from 'datatables.net-dt';
(function( $ ) {
if($('.postal-search-data').val()) {
var list = JSON.parse($('.postal-search-data').val());
const fuseOptions = {
// isCaseSensitive: false,
// includeScore: false,
// shouldSort: true,
// includeMatches: false,
// findAllMatches: false,
minMatchCharLength: 3,
// location: 0,
threshold: 0.0,
// distance: 100,
// useExtendedSearch: false,
// ignoreLocation: false,
// ignoreFieldNorm: false,
// fieldNormWeight: 1,
keys: [
"GEOKEY"
]
};
const fuse = new Fuse(list, fuseOptions);
// var table = new DataTable('.postal-search-results',
// {
// responsive: true,
// paging:true,
// "lengthMenu":-1,
// "oLanguage": {
// "sSearch": "Enter Full Postal Code:"
// }
// }
// );
// $('.search-postal-preferred').on('change', function() {
// var preferred = $(this).find('option:selected').val();
// $('.postal-search-results tr').removeClass('hidden');
// if(preferred == 'YES' || preferred == 'NO') {
// $('.postal-search-results tr').each(function() {
// if(!$(this).hasClass('header')) {
// var _preferred = $(this).data('preferred');
// if(preferred != _preferred) {
// $(this).addClass('hidden');
// }
// }
// });
// }
// });
window.window.found_yes_at_3 = false;
window.window.found_no_at_3 = false;
$('.postal-code-search').on('keyup', function() {
if($(this).val().length < 3) {
$('.preferred').val('');
window.found_yes_at_3 = false;
window.found_no_at_3 = false;
} else {
$('.preferred').val('');
var search_val = $(this).val().replace(/ /g,'');
if(window.found_yes_at_3 === true) {
console.log("FOUND YES AT 3");
$('.preferred').val('YES');
return;
}
if(window.found_no_at_3 === true) {
$('.preferred').val('NO');
return;
}
var results = fuse.search(search_val);
if(results.length <= 3) {
console.log("LENGTH == " + results.length);
for(var i = 0;i < results.length;++i) {
if(results[i].item['GEOKEY'] !== search_val) {
continue;1
}
if(results[i].item['PREFERRED'] == 'YES' || window.found_yes_at_3 === true) {
$('.preferred').val('YES');
if(search_val.length === 3) {
window.found_yes_at_3 = true;
}
} else if(results[i].item['PREFERRED'] == 'NO') {
$('.preferred').val('NO');
if(search_val.length === 3) {
window.found_no_at_3 = true;
}
} else {
$('.preferred').val('NOT AVAILABLE');
}
}
}
}
});
}
}( jQuery ));