1var textsearchTimeout = 0; 2function searchText(endpoint,language,noresults,elem,shortinit,keycode,limit){ 3 if(textsearchTimeout != 0) clearTimeout(textsearchTimeout); 4 if(keycode > 47 && keycode < 91 || keycode == 0) textsearchTimeout = setTimeout("searchContent('"+endpoint+"','"+language+"','"+noresults+"','"+shortinit+"','"+elem+"','"+limit+"')", 250); 5} 6 7var textsearchXhr; 8function searchContent(endpoint,language,noresults,shortinit,elem,limit){ 9 if(textsearchXhr) { 10 textsearchXhr.abort(); 11 } 12 if(jQuery(elem+" input[type=text]").val() != "" && jQuery(elem+" input[type=text]").val().length > 2) { 13 jQuery(elem+" > .searchresults").detach(); 14 jQuery(elem).append("<div class=\"searchresults\"><div class=\"searchresults-inner\"><div class=\"searchloading text-center\"><i class=\"fa fa-spinner fa-spin\"></i></div></div></div>"); 15 if(!jQuery(elem).hasClass("search-visible")) jQuery(elem).addClass("search-visible"); 16 var obj = { actioninit: "search", searchstring: jQuery(elem+" input[type=text]").val(), lang: language, limit: limit }; 17 if(shortinit == "1") obj['shortinit'] = true; 18 textsearchXhr = jQuery.post(endpoint, obj, function(data) { 19 if(data != "" && data.length > 0) { 20 var results = ""; 21 for(var i in data) { 22 results += "<a class=\"searchresult\" href=\""+data[i]["url"]+"\">"+data[i]['title']+"</a>"; 23 } 24 jQuery(elem+" > .searchresults").html("<div class=\"searchresults-inner\">"+results+"</div>"); 25 } else { 26 jQuery(elem+" > .searchresults").html("<div class=\"searchresults-inner\"><div class=\"no-results\">"+noresults+"</div></div>"); 27 } 28 },"json"); 29 } 30}
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.