1 2function SuggestController() { 3 var _this = this; 4 5 var request = {}; 6 7 var response = {}; 8 9 this.init = function() { 10 // Change back to the old behavior of auto-complete 11 // http://jqueryui.com/docs/Upgrade_Guide_184#Autocomplete 12 jQuery.ui.autocomplete.prototype._renderItem = function (ul, item) { 13 return jQuery("<li></li>").data("item.autocomplete", item).append("<a>" + item.label + "</a>").appendTo(ul); 14 }; 15 16 var req = false; 17 18 jQuery('form[data-suggest]').each(function () { 19 var $form = $(this); 20 $form.find('input.js-solr-q').autocomplete({ 21 source: function (request, response) { 22 _this.request = request; 23 _this.response = response; 24 if (req) { 25 req.abort(); 26 response(); 27 } 28 29 req = jQuery.ajax({ 30 url: $form.data('suggest'), 31 dataType: 'json', 32 data: { 33 termLowercase: request.term.toLowerCase(), 34 termOriginal: request.term, 35 L: $form.find('input[name="L"]').val() 36 }, 37 success: _this.handleSuggestResponse 38 }); 39 }, 40 select: function (event, ui) { 41 this.value = ui.item.value; 42 $form.submit(); 43 }, 44 delay: 0, 45 minLength: 3 46 }); 47 }); 48 }; 49 50 this.handleSuggestResponse = function (data) { 51 req = false; 52 var output = []; 53 jQuery.each(data, function (term, termIndex) { 54 output.push({ 55 label: term.replace(new RegExp('(?![^&;]+;)(?!<[^<>]*)(' + 56 jQuery.ui.autocomplete.escapeRegex(_this.request.term) + 57 ')(?![^<>]*>)(?![^&;]+;)', 'gi'), '<strong>$1</strong>'), 58 value: term 59 }); 60 }); 61 62 _this.response(output); 63 }; 64} 65jQuery(document).ready(function () { 66 var solrSuggestController = new SuggestController(); 67 solrSuggestController.init(); 68 69 jQuery("body").on("tx_solr_updated", function() { 70 solrSuggestController.init(); 71 }); 72}); 73 74
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.