Lines 16-34
function patron_autocomplete(node, options) {
Link Here
|
16 |
} |
16 |
} |
17 |
return node.autocomplete({ |
17 |
return node.autocomplete({ |
18 |
source: function( request, response ) { |
18 |
source: function( request, response ) { |
19 |
let subquery_and = []; |
19 |
let q = [] |
|
|
20 |
|
21 |
// Add each pattern in search term for each search field |
22 |
let pattern_subquery_and = []; |
20 |
request.term.split(/[\s,]+/) |
23 |
request.term.split(/[\s,]+/) |
21 |
.filter(function(s){ return s.length }) |
24 |
.filter(function(s){ return s.length }) |
22 |
.forEach(function(pattern,i){ |
25 |
.forEach(function(pattern,i){ |
23 |
let subquery_or = []; |
26 |
let pattern_subquery_or = []; |
24 |
defaultPatronSearchFields.split(',').forEach(function(field,i){ |
27 |
defaultPatronSearchFields.split(',').forEach(function(field,i){ |
25 |
subquery_or.push( |
28 |
pattern_subquery_or.push( |
26 |
{["me."+field]: {'like': leading_wildcard + pattern + '%'}} |
29 |
{ ["me." + field]: { 'like': leading_wildcard + pattern + '%' } } |
27 |
); |
30 |
); |
28 |
}); |
31 |
}); |
29 |
subquery_and.push(subquery_or); |
32 |
pattern_subquery_and.push(pattern_subquery_or); |
30 |
}); |
33 |
}); |
31 |
let q = {"-and": subquery_and}; |
34 |
q.push({ "-and": pattern_subquery_and }); |
|
|
35 |
|
36 |
// Add full search term for each search field |
37 |
let term_subquery_or = []; |
38 |
defaultPatronSearchFields.split(',').forEach(function (field, i) { |
39 |
term_subquery_or.push( |
40 |
{ ["me." + field]: { 'like': leading_wildcard + request.term + '%' } } |
41 |
); |
42 |
}); |
43 |
q.push({ "-or": term_subquery_or }); |
44 |
|
32 |
let params = { |
45 |
let params = { |
33 |
'_page': 1, |
46 |
'_page': 1, |
34 |
'_per_page': 10, |
47 |
'_per_page': 10, |
35 |
- |
|
|