{"version":3,"sources":["autosuggest.js"],"names":["vmSearch","document","getElementById","Vue","filter","stringToSearch","searchTerm","length","s","trim","replace","iQuery","RegExp","toString","matchedText","a","b","el","data","filterData","filterSearch","showResult","limitOfAutoSuggest","methods","log","e","console","getQueryVariable","variable","vars","window","location","search","substring","split","i","pair","matchWords","subject","words","every","toLowerCase","includes","clearSearch","this","$refs","value","onClose","self","setTimeout","goToSearchResults","href","getData","_this","target","axios","post","headers","Content-Type","then","response","res","sort","itemType","title","popularity","computed","filteredItems","_this2","rg","slice","mounted","decodeURI"],"mappings":"aAAA,IAAIA,SAAW,KACXC,SAASC,eAAe,YACxBC,IAAIC,OAAO,aAAa,SAAUC,EAAgBC,GAC9C,GAAmB,KAAfA,GAAqBA,EAAWC,OAAS,EAAG,OAAOF,EACvD,IAAIG,EAAI,IAAMF,EAAWG,OAAOC,QAAQ,MAAO,KAAO,IAClDC,EAAS,IAAIC,OAAOJ,EAAG,MAC3B,OAAOH,EAAeQ,WAAWH,QAAQC,GAAQ,SAAUG,EAAaC,EAAGC,GACvE,MAAQ,2BAA+BF,EAAc,gBAG7Dd,SAAW,IAAIG,IAAI,CACfc,GAAI,UACJC,KAAM,WAAA,MAAO,CACTC,WAAY,GACZC,aAAc,GACdC,YAAY,EACZC,mBAAoBA,qBAExBC,QAAS,CACLC,IADK,SACDC,GACAC,QAAQF,IAAIC,IAEhBE,iBAJK,SAIYC,GAGb,IAFA,IACIC,EADQC,OAAOC,SAASC,OAAOC,UAAU,GAC5BC,MAAM,KACdC,EAAI,EAAGA,EAAIN,EAAKtB,OAAQ4B,IAAK,CAClC,IAAIC,EAAOP,EAAKM,GAAGD,MAAM,KACzB,GAAIE,EAAK,IAAMR,EAAY,OAAOQ,EAAK,GAE3C,MAAO,IAEXC,WAAY,SAAUC,EAASC,GAC3B,OAAOA,EAAMC,OAAM,SAAAvB,GAAE,OAAIqB,EAAQG,cAAcC,SAASzB,EAAGwB,mBAE/DE,YAhBK,WAiBDC,KAAKxB,aAAe,GACpBwB,KAAKC,MAAMzB,aAAa0B,MAAQ,IAEpCC,QApBK,WAqBD,IAAMC,EAAOJ,KACbK,YAAW,WACPD,EAAK3B,YAAa,IACnB,MAEP6B,kBA1BK,WA2BGN,KAAKxB,aAAab,QAAU,IAC5BuB,OAAOC,SAASoB,KAAO,wBAA0BP,KAAKxB,eAG9DgC,QA/BK,SA+BG3B,GAAG,IAAA4B,EAAAT,KACPA,KAAKxB,aAAeK,EAAE6B,OAAOR,MACzBF,KAAKxB,aAAab,QAAS,GAAgC,GAA1BqC,KAAKzB,WAAWZ,QACjDgD,MAAMC,KAAK,0CACX,CACIlD,WAAY,IACb,CACCmD,QAAS,CACLC,eAAgB,qCAGvBC,MAAK,SAAAC,GACF,IAAMC,EAAMD,EAAS1C,KACrBmC,EAAKlC,WAAa0C,EAClBR,EAAKlC,WAAW2C,MAAK,SAAU/C,EAAGC,GAC9B,OAAID,EAAEgD,SAAW/C,EAAE+C,SAAiB,EAChChD,EAAEgD,SAAW/C,EAAE+C,UAAkB,EAEnB,GAAdhD,EAAEgD,UAA+B,GAAd/C,EAAE+C,SACbhD,EAAEiD,MAAMvB,cAAgBzB,EAAEgD,MAAMvB,cAAgB,EAAK1B,EAAEiD,MAAMvB,cAAgBzB,EAAEgD,MAAMvB,eAAiB,EAAI,EAElG,MAAhB1B,EAAEkD,YAAsC,MAAhBjD,EAAEiD,WAClBlD,EAAEkD,WAAajD,EAAEiD,WAAa,EAAKlD,EAAEkD,WAAajD,EAAEiD,YAAc,EAAI,OADlF,UASpBC,SAAU,CACNC,cADM,WACU,IAAAC,EAAAxB,KACNyB,EAAKzB,KAAKxB,aAAac,MAAM,SAAS9B,QAAO,SAAAqB,GAAC,OAAIA,EAAEhB,OAAOF,OAAS,KACtEW,EAAO,GAKX,OAJAA,EAAO0B,KAAKzB,WAAWf,QAAO,SAAA+B,GAAC,OAAKiC,EAAK/B,WAAWF,EAAE6B,MAAOK,OACpD9D,OAAS,IACdqC,KAAKvB,YAAa,GAEH,GAAfH,EAAKX,QAAeqC,KAAKxB,aAAab,QAAU,EACzCW,EAAKoD,MAAM,EAAG1B,KAAKtB,oBAEZ,KAY1BiD,QA5Fe,WA6FX3B,KAAKC,MAAMzB,aAAa0B,MAAQ0B,UAAU5B,KAAKjB,iBAAiB,SAChEiB,KAAKxB,aAAewB,KAAKC,MAAMzB,aAAa0B","file":"autosuggest.min.js","sourcesContent":["let vmSearch = null;\r\nif (document.getElementById(\"header\")) {\r\n Vue.filter('highlight', function (stringToSearch, searchTerm) {\r\n if (searchTerm === '' || searchTerm.length < 3) return stringToSearch;\r\n var s = '(' + searchTerm.trim().replace(/ +/g, '|') + ')';\r\n var iQuery = new RegExp(s, \"ig\");\r\n return stringToSearch.toString().replace(iQuery, function (matchedText, a, b) {\r\n return ('' + matchedText + '');\r\n });\r\n });\r\n vmSearch = new Vue({\r\n el: '#header',\r\n data: () => ({\r\n filterData: [], \r\n filterSearch: \"\",\r\n showResult: false,\r\n limitOfAutoSuggest: limitOfAutoSuggest\r\n }), \r\n methods: { \r\n log(e) {\r\n console.log(e)\r\n },\r\n getQueryVariable(variable) {\r\n var query = window.location.search.substring(1);\r\n var vars = query.split(\"&\");\r\n for (var i = 0; i < vars.length; i++) {\r\n var pair = vars[i].split(\"=\");\r\n if (pair[0] == variable) { return pair[1]; }\r\n }\r\n return \"\";\r\n },\r\n matchWords: function (subject, words) {\r\n return words.every(el => subject.toLowerCase().includes(el.toLowerCase()));\r\n },\r\n clearSearch() {\r\n this.filterSearch = \"\";\r\n this.$refs.filterSearch.value = \"\";\r\n },\r\n onClose() {\r\n const self = this;\r\n setTimeout(function () {\r\n self.showResult = false\r\n }, 200)\r\n },\r\n goToSearchResults() {\r\n if (this.filterSearch.length >= 1) {\r\n window.location.href = \"/xoserve-search?term=\" + this.filterSearch;\r\n }\r\n },\r\n getData(e) {\r\n this.filterSearch = e.target.value; \r\n if (this.filterSearch.length >=3 && this.filterData.length == 0) {\r\n axios.post('/umbraco/api/FindabilityApi/AutoSuggest',\r\n {\r\n searchTerm: ''\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n }\r\n })\r\n .then(response => {\r\n const res = response.data;\r\n this.filterData = res;\r\n this.filterData.sort(function (a, b) {\r\n if (a.itemType > b.itemType) return 1;\r\n if (a.itemType < b.itemType) return -1;\r\n\r\n if (a.itemType == 1 && b.itemType == 1) {\r\n return (a.title.toLowerCase() > b.title.toLowerCase() ? 1 : (a.title.toLowerCase() < b.title.toLowerCase() ? -1 : 0))\r\n }\r\n if (a.popularity != null && b.popularity != null) {\r\n return (a.popularity > b.popularity ? 1 : (a.popularity < b.popularity ? -1 : 0))\r\n }\r\n\r\n })\r\n });\r\n } \r\n }\r\n },\r\n computed: { \r\n filteredItems() {\r\n const rg = this.filterSearch.split(/(\\s+)/).filter(e => e.trim().length > 0);\r\n let data = [];\r\n data = this.filterData.filter(i => (this.matchWords(i.title, rg)))\r\n if (data.length > 0) {\r\n this.showResult = true;\r\n }\r\n if (data.length != 0 && this.filterSearch.length >= 3) {\r\n return data.slice(0, this.limitOfAutoSuggest);\r\n } else {\r\n return data = []\r\n }\r\n\r\n //else if(data.length == 0 && this.filterSearch.length >= 3) {\r\n // return data = []\r\n //}\r\n //else {\r\n // data = this.filterData.filter(function (x) { return x.itemType == 2 })\r\n // return data.slice(0, this.limitOfAutoSuggest);\r\n //}\r\n },\r\n },\r\n mounted(){\r\n this.$refs.filterSearch.value = decodeURI(this.getQueryVariable(\"term\"));\r\n this.filterSearch = this.$refs.filterSearch.value;\r\n }\r\n })\r\n}"]}