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