1
/**
2
* Ajax Autocomplete for jQuery, version 1.4.11
3
* (c) 2017 Tomas Kirda
4
*
5
* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
6
* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
7
*/
8
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports&&"function"==typeof require?t(require("jquery")):t(jQuery)}
9
(function(t){"use strict";var e={escapeRegExChars:function(t){return t.replace(/[|\\{}
10
()[\]^$+*?.]/g,"\\$&")}
11
,createNode:function(t){var e=document.createElement("div");return e.className=t,e.style.position="absolute",e.style.display="none",e}
12
}
13
,s=27,i=9,n=13,o=38,a=39,u=40,l=t.noop;function r(e,s){this.element=e,this.el=t(e),this.suggestions=[],this.badQueries=[],this.selectedIndex=-1,this.currentValue=this.element.value,this.timeoutId=null,this.cachedResponse={}
14
,this.onChangeTimeout=null,this.onChange=null,this.isLocal=!1,this.suggestionsContainer=null,this.noSuggestionsContainer=null,this.options=t.extend(!0,{}
15
,r.defaults,s),this.classes={selected:"autocomplete-selected",suggestion:"autocomplete-suggestion"}
16
,this.hint=null,this.hintValue="",this.selection=null,this.initialize(),this.setOptions(s)}
17
r.utils=e,t.Autocomplete=r,r.defaults={ajaxSettings:{}
18
,autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,onHint:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{}
19
,formatResult:function(t,s){if(!s)return t.value;var i="("+e.escapeRegExChars(s)+")";return t.value.replace(new RegExp(i,"gi"),"<strong>$1</strong>").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/<(\/?strong)>/g,"<$1>")}
20
,formatGroup:function(t,e){return'<div class="autocomplete-group">'+e+"</div>"}
21
,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:l,onSearchComplete:l,onSearchError:l,preserveInput:!1,containerClass:"autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:function(t,e,s){return-1!==t.value.toLowerCase().indexOf(s)}
22
,paramName:"query",transformResult:function(e){return"string"==typeof e?t.parseJSON(e):e}
23
,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1}
24
,r.prototype={initialize:function(){var e,s=this,i="."+s.classes.suggestion,n=s.classes.selected,o=s.options;s.element.setAttribute("autocomplete","off"),s.noSuggestionsContainer=t('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),s.suggestionsContainer=r.utils.createNode(o.containerClass),(e=t(s.suggestionsContainer)).appendTo(o.appendTo||"body"),"auto"!==o.width&&e.css("width",o.width),e.on("mouseover.autocomplete",i,function(){s.activate(t(this).data("index"))}
25
),e.on("mouseout.autocomplete",function(){s.selectedIndex=-1,e.children("."+n).removeClass(n)}
26
),e.on("click.autocomplete",i,function(){s.select(t(this).data("index"))}
27
),e.on("click.autocomplete",function(){clearTimeout(s.blurTimeoutId)}
28
),s.fixPositionCapture=function(){s.visible&&s.fixPosition()}
29
,t(window).on("resize.autocomplete",s.fixPositionCapture),s.el.on("keydown.autocomplete",function(t){s.onKeyPress(t)}
30
),s.el.on("keyup.autocomplete",function(t){s.onKeyUp(t)}
31
),s.el.on("blur.autocomplete",function(){s.onBlur()}
32
),s.el.on("focus.autocomplete",function(){s.onFocus()}
33
),s.el.on("change.autocomplete",function(t){s.onKeyUp(t)}
34
),s.el.on("input.autocomplete",function(t){s.onKeyUp(t)}
35
)}
36
,onFocus:function(){this.disabled||(this.fixPosition(),this.el.val().length>=this.options.minChars&&this.onValueChange())}
37
,onBlur:function(){var e=this,s=e.options,i=e.el.val(),n=e.getQuery(i);e.blurTimeoutId=setTimeout(function(){e.hide(),e.selection&&e.currentValue!==n&&(s.onInvalidateSelection||t.noop).call(e.element)}
38
,200)}
39
,abortAjax:function(){this.currentRequest&&(this.currentRequest.abort(),this.currentRequest=null)}
40
,setOptions:function(e){var s=t.extend({}
...
</html>