{"version":3,"file":"ModuleSearchTypeahead.bundle.min.js","mappings":"oJAAAA,EAAEC,UAAUC,OAAM,WACN,IAAIC,CAChB,IAaA,MAII,SACYC,QAAA,IAAAA,IAAAA,EAAA,wCADZ,WACY,KAAAA,KAAAA,EAHJ,KAAAC,cAAwB,EAQxB,KAAAC,KAAO,WACP,EAAKD,eAITL,EAAE,aAAaO,OAAM,SAAUC,GAC3BC,OAAOC,SAASC,KAAOF,OAAOC,SAASE,QAS3C,IAEAZ,EAAE,qBAAqBO,OAAM,SAAUC,GACnC,IAAIK,EAASb,EAAEc,MAAMC,KAAK,aACpBf,EAAEa,GAASG,aAAa,MAAO,GACzC,IAIA,EAAKC,gBACL,EAAKZ,cAAe,EACxB,EAEQ,KAAAY,cAAgB,WACpB,IAAIC,EAAO,EAGXlB,EAAE,qCAAqCmB,MAAK,WACxCD,EAAKE,oBAAoBpB,EAAEc,MAC/B,GACJ,EAEQ,KAAAM,oBAAsB,SAACC,GAC3B,IACIC,EAAM,UADC,EACOlB,MAAI,OAAGiB,EAAIN,KAAK,wBAGlCM,EAAIE,UAAU,WAEdF,EAAIE,UAAU,CACVC,YAAa,SAAUC,GAEnB,MAAO,UAAGA,EAAKC,aACnB,EACAC,UAAW,EACXC,MAAO,EACPC,MAAO,IACPC,OAAQ,SAAUC,EAAOC,GACrBhC,EAAEiC,KAAK,CACHX,IAAKA,EACLP,KAAM,CAAEgB,MAAOA,GACfG,SAAU,SACXC,MAAK,SAAUC,GACd,OAAOJ,EAAQI,EACnB,GACJ,EACAC,YAAY,EACZC,qBAAqB,EACrBC,YAAa,SAAUd,GACnB,IAAIjB,EAA4BiB,EAChCX,KAAK0B,SAASC,IAAIjC,EAAEkB,aACxB,GAER,EAvEIZ,KAAKR,MACT,EARS,EAAAH,sBAAAA,C","sources":["webpack://app/./Scripts/ModuleSearchTypeahead.ts"],"sourcesContent":["$(document).ready(function () {\n let x = new ModuleSearchTypeahead();\n});\n\nexport interface ISearchPredictorResult {\n id: number;\n searchContext: string;\n searchString: string;\n searchCount: number;\n searchResultsCount: number;\n firstSearchDateTime: string;\n lastSearchDateTime: string;\n appendedSearchString: string;\n}\n\nexport class ModuleSearchTypeahead {\n\n private _initialised: boolean = false; \n \n constructor(\n private _url: string = \"/SearchPredictor/GetValuesAsObjects/\"\n ) { \n this.init();\n }\n\n private init = () => {\n if (this._initialised) {\n return;\n }\n\n $(\"#btnClear\").click(function (e) { \n window.location.href = window.location.pathname;\n //$(\"input[data-module-search-context]\").each(function () {\n // $(this).val('');\n //}); \n\n //$(\".hbsmrSelectPicker\").each(function (e) { \n // $(this).val('');\n // ($(this)).selectpicker(\"refresh\"); \n //}); \n });\n\n $(\".btn-clear-select\").click(function (e) {\n let target = $(this).data(\"bs-target\");\n ($(target)).selectpicker(\"val\", \"\");\n });\n\n \n\n this.addTypeaheads();\n this._initialised = true;\n }\n\n private addTypeaheads = (): void => {\n let self = this;\n\n //get all the input with data-module-search-context\n $(\"input[data-module-search-context]\").each(function () {\n self.initialiseTypeahead($(this));\n }); \n }\n \n private initialiseTypeahead = (ele: JQuery): void => {\n let self = this;\n let url = `${self._url}${ele.data(\"moduleSearchContext\")}`;\n \n // need to kill any pre-existing suggestions \n ele.typeahead(\"destroy\");\n \n ele.typeahead({\n displayText: function (item: any) { \n let e = item;\n return `${item.searchString}`;\n },\n minLength: 2,\n delay: 1,\n items: 100,\n source: function (query, process) {\n $.ajax({\n url: url,\n data: { query: query },\n dataType: 'json'\n }).done(function (response) {\n return process(response);\n });\n },\n autoSelect: false,\n changeInputOnSelect: false,\n afterSelect: function (item) {\n let e = item;\n this.$element.val(e.searchString);\n }\n });\n }\n}\n\n"],"names":["$","document","ready","ModuleSearchTypeahead","_url","_initialised","init","click","e","window","location","href","pathname","target","this","data","selectpicker","addTypeaheads","self","each","initialiseTypeahead","ele","url","typeahead","displayText","item","searchString","minLength","delay","items","source","query","process","ajax","dataType","done","response","autoSelect","changeInputOnSelect","afterSelect","$element","val"],"sourceRoot":""}