|
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 |
- |
|
|