PageSourceSearch

https://www.zigwheels.vn/2021/js/autoComplete.js?v=1790857171

js zigwheels.vn collected 2026-10-05 07:30:35 UTC 5,409 bytes, 1 lines download raw bytes

1var autoComplete=function(e){if(document.querySelector){var t={selector:0,source:0,minChars:3,delay:150,offsetLeft:0,offsetTop:1,menuClass:"",renderItem:function(e,t){t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");var o=new RegExp("("+t.split(" ").join("|")+")","gi");return'<div class="autocomplete-suggestion" data-val="'+e.value+'" data-name="'+e.name+'">'+e.name.replace(o,"<b>$1</b>")+"</div>"},onSelect:function(e,t,o){},onDeSelect:function(){}};for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);for(var s="object"==typeof t.selector?[t.selector]:document.querySelectorAll(t.selector),n=0;n<s.length;n++){var l=s[n];l.sc=document.createElement("div"),l.sc.className="autocomplete-suggestions "+t.menuClass,l.autocompleteAttr=l.getAttribute("autocomplete"),l.setAttribute("autocomplete","off"),l.cache={},l.last_val="",l.updateSC=function(e,o){var s=l.getBoundingClientRect();if(l.sc.style.left=Math.round(s.left+(window.pageXOffset||document.documentElement.scrollLeft)+t.offsetLeft)+"px",l.sc.style.top=Math.round(s.bottom+(window.pageYOffset||document.documentElement.scrollTop)+t.offsetTop)+"px",l.sc.style.width=Math.round(s.right-s.left)+"px",!e&&(l.sc.style.display="block",l.sc.maxHeight||(l.sc.maxHeight=parseInt((window.getComputedStyle?getComputedStyle(l.sc,null):l.sc.currentStyle).maxHeight)),l.sc.suggestionHeight||(l.sc.suggestionHeight=l.sc.querySelector(".autocomplete-suggestion").offsetHeight),l.sc.suggestionHeight))if(o){var n=l.sc.scrollTop,c=o.getBoundingClientRect().top-l.sc.getBoundingClientRect().top;c+l.sc.suggestionHeight-l.sc.maxHeight>0?l.sc.scrollTop=c+l.sc.suggestionHeight+n-l.sc.maxHeight:c<0&&(l.sc.scrollTop=c+n)}else l.sc.scrollTop=0},u(window,"resize",l.updateSC),document.body.appendChild(l.sc),r("autocomplete-suggestion","mouseleave",(function(e){var t=l.sc.querySelector(".autocomplete-suggestion.selected");t&&setTimeout((function(){t.className=t.className.replace("selected","")}),20)}),l.sc),r("autocomplete-suggestion","mouseover",(function(e){var t=l.sc.querySelector(".autocomplete-suggestion.selected");t&&(t.className=t.className.replace("selected","")),this.className+=" selected"}),l.sc),r("autocomplete-suggestion","mousedown",(function(e){if(a(this,"autocomplete-suggestion")){var o=this.getAttribute("data-name");l.value=o,t.onSelect(e,o,this),l.sc.style.display="none"}}),l.sc),l.blurHandler=function(){try{var e=document.querySelector(".autocomplete-suggestions:hover")}catch(t){e=0}e?l!==document.activeElement&&setTimeout((function(){l.focus()}),20):(l.last_val=l.value,l.sc.style.display="none",setTimeout((function(){l.sc.style.display="none"}),350))},u(l,"blur",l.blurHandler);var c=function(e){var o=l.value;if(l.cache[o]=e,e.length&&o.length>=t.minChars){for(var s="",n=0;n<e.length;n++)s+=t.renderItem(e[n],o);l.sc.innerHTML=s,l.updateSC(0)}else l.sc.style.display="none"};l.keydownHandler=function(e){var o,s=window.event?e.keyCode:e.which;if((40==s||38==s)&&l.sc.innerHTML)return(n=l.sc.querySelector(".autocomplete-suggestion.selected"))?(o=40==s?n.nextSibling:n.previousSibling)?(n.className=n.className.replace("selected",""),o.className+=" selected",l.value=o.getAttribute("data-name")):(n.className=n.className.replace("selected",""),l.value=l.last_val,o=0):((o=40==s?l.sc.querySelector(".autocomplete-suggestion"):l.sc.childNodes[l.sc.childNodes.length-1]).className+=" selected",l.value=o.getAttribute("data-name")),l.updateSC(0,o),!1;if(27==s)l.value=l.last_val,l.sc.style.display="none";else if(13==s||9==s){var n;(n=l.sc.querySelector(".autocomplete-suggestion.selected"))&&"none"!=l.sc.style.display&&(t.onSelect(e,n.getAttribute("data-name"),n),setTimeout((function(){l.sc.style.display="none"}),20))}},u(l,"keydown",l.keydownHandler),l.keyupHandler=function(e){var o=window.event?e.keyCode:e.which;if(!o||(o<35||o>40)&&13!=o&&27!=o){var s=l.value;if(s.length>=t.minChars){if(s!=l.last_val){if(l.last_val=s,clearTimeout(l.timer),t.cache){if(s in l.cache)return void c(l.cache[s]);for(var n=1;n<s.length-t.minChars;n++){var a=s.slice(0,s.length-n);if(a in l.cache&&!l.cache[a].length)return void c([])}}l.timer=setTimeout((function(){t.source(s,c)}),t.delay)}}else l.last_val=s,l.sc.style.display="none"}if(8==o){var u=l.sc.querySelector(".autocomplete-suggestion.selected");u&&(u.className=u.className.replace("selected","")),t.onDeSelect()}},u(l,"keyup",l.keyupHandler),l.focusHandler=function(e){l.last_val="\n",l.keyupHandler(e)},t.minChars||u(l,"focus",l.focusHandler)}this.destroy=function(){for(var e=0;e<s.length;e++){var t=s[e];i(window,"resize",t.updateSC),i(t,"blur",t.blurHandler),i(t,"focus",t.focusHandler),i(t,"keydown",t.keydownHandler),i(t,"keyup",t.keyupHandler),t.autocompleteAttr?t.setAttribute("autocomplete",t.autocompleteAttr):t.removeAttribute("autocomplete"),document.body.removeChild(t.sc),t=null}}}function a(e,t){return e.classList?e.classList.contains(t):new RegExp("\\b"+t+"\\b").test(e.className)}function u(e,t,o){e.attachEvent?e.attachEvent("on"+t,o):e.addEventListener(t,o)}function i(e,t,o){e.detachEvent?e.detachEvent("on"+t,o):e.removeEventListener(t,o)}function r(e,t,o,s){u(s||document,t,(function(t){for(var s,n=t.target||t.srcElement;n&&!(s=a(n,e));)n=n.parentElement;s&&o.call(n,t)}))}};"function"==typeof define&&define.amd?define("autoComplete",(function(){return autoComplete})):"undefined"!=typeof module&&module.exports?module.exports=autoComplete:window.autoComplete=autoComplete;

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.