{"version":3,"file":"ModuleSearchTypeahead.bundle.min.js","mappings":"oJAAAA,GAAE,WACU,IAAIC,CAChB,IAaA,MAII,SACYC,GADZ,gBACY,IAAAA,IAAAA,EAAA,6CAAAA,KAAAA,EAHJ,KAAAC,cAAwB,EAQxB,KAAAC,KAAO,WACP,EAAKD,eAITH,EAAE,aAAaK,GAAG,SAAS,SAAUC,GACjCC,OAAOC,SAASC,KAAOF,OAAOC,SAASE,QAS3C,IAEAV,EAAE,qBAAqBK,GAAG,SAAS,SAAUC,GACzC,IAAIK,EAASX,EAAEY,MAAMC,KAAK,aACpBb,EAAEW,GAASG,aAAa,MAAO,GACzC,IAEA,EAAKC,gBACL,EAAKZ,cAAe,EACxB,EAEQ,KAAAY,cAAgB,WACpB,IAAIC,EAAO,EAGXhB,EAAE,qCAAqCiB,MAAK,WACxCD,EAAKE,oBAAoBlB,EAAEY,MAC/B,GACJ,EAEQ,KAAAM,oBAAsB,SAACC,GAC3B,IACIC,EAAM,GADC,EACOlB,KAAOiB,EAAIN,KAAK,uBAGlCM,EAAIE,UAAU,WAEdF,EAAIE,UAAU,CACVC,YAAa,SAAUC,GAEnB,MAAO,GAAGA,EAAKC,YACnB,EACAC,UAAW,EACXC,MAAO,EACPC,MAAO,IACPC,OAAQ,SAAUC,EAAOC,GACrB9B,EAAE+B,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,EArEIZ,KAAKR,MACT,EARS,EAAAH,sBAAAA,C","sources":["webpack://[name]/./Scripts/ModuleSearchTypeahead.ts"],"sourcesContent":["$(function () {\r\n let x = new ModuleSearchTypeahead();\r\n});\r\n\r\nexport interface ISearchPredictorResult {\r\n id: number;\r\n searchContext: string;\r\n searchString: string;\r\n searchCount: number;\r\n searchResultsCount: number;\r\n firstSearchDateTime: string;\r\n lastSearchDateTime: string;\r\n appendedSearchString: string;\r\n}\r\n\r\nexport class ModuleSearchTypeahead {\r\n\r\n private _initialised: boolean = false;\r\n\r\n constructor(\r\n private _url: string = \"/SearchPredictor/GetValuesAsObjects/\"\r\n ) {\r\n this.init();\r\n }\r\n\r\n private init = () => {\r\n if (this._initialised) {\r\n return;\r\n }\r\n\r\n $(\"#btnClear\").on(\"click\", function (e) {\r\n window.location.href = window.location.pathname;\r\n //$(\"input[data-bs-module-search-context]\").each(function () {\r\n // $(this).val('');\r\n //}); \r\n\r\n //$(\".hbsmrSelectPicker\").each(function (e) { \r\n // $(this).val('');\r\n // ($(this)).selectpicker(\"refresh\"); \r\n //}); \r\n });\r\n\r\n $(\".btn-clear-select\").on(\"click\", function (e) {\r\n let target = $(this).data(\"bs-target\");\r\n ($(target)).selectpicker(\"val\", \"\");\r\n });\r\n\r\n this.addTypeaheads();\r\n this._initialised = true;\r\n }\r\n\r\n private addTypeaheads = (): void => {\r\n let self = this;\r\n\r\n //get all the input with data-module-search-context\r\n $(\"input[data-module-search-context]\").each(function () {\r\n self.initialiseTypeahead($(this));\r\n });\r\n }\r\n\r\n private initialiseTypeahead = (ele: JQuery): void => {\r\n let self = this;\r\n let url = `${self._url}${ele.data(\"moduleSearchContext\")}`;\r\n\r\n // need to kill any pre-existing suggestions \r\n ele.typeahead(\"destroy\");\r\n\r\n ele.typeahead({\r\n displayText: function (item: any) {\r\n let e = item;\r\n return `${item.searchString}`;\r\n },\r\n minLength: 2,\r\n delay: 1,\r\n items: 100,\r\n source: function (query, process) {\r\n $.ajax({\r\n url: url,\r\n data: { query: query },\r\n dataType: 'json'\r\n }).done(function (response) {\r\n return process(response);\r\n });\r\n },\r\n autoSelect: false,\r\n changeInputOnSelect: false,\r\n afterSelect: function (item) {\r\n let e = item;\r\n this.$element.val(e.searchString);\r\n }\r\n });\r\n }\r\n}\r\n\r\n"],"names":["$","ModuleSearchTypeahead","_url","_initialised","init","on","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":""}